{"_id":"@4meta5/semantic-memory","_rev":"3-8b9fa4dd6979e4d9da1a578afde163df","name":"@4meta5/semantic-memory","dist-tags":{"latest":"0.2.2"},"versions":{"0.1.0":{"name":"@4meta5/semantic-memory","version":"0.1.0","keywords":["memory","semantic-search","sqlite","fts5","bm25","vector-search","hybrid-search","rrf","local-first"],"author":{"name":"Patch","email":"patch@bobamatchasolutions.com"},"license":"MIT","_id":"@4meta5/semantic-memory@0.1.0","maintainers":[{"name":"4meta5","email":"orlandodowntownhome@gmail.com"}],"homepage":"https://github.com/bobamatcha/engram#readme","bugs":{"url":"https://github.com/bobamatcha/engram/issues"},"dist":{"shasum":"3994ca5eb105b01c378ed7962dfb9d99df4607ba","tarball":"https://registry.npmjs.org/@4meta5/semantic-memory/-/semantic-memory-0.1.0.tgz","fileCount":74,"integrity":"sha512-Ztn8e+am4Pe6Mu2bTTB7vX6r7ya15lzYt3l9MG8v9ceiW14fMiX6CgHF+O6iColkdsJAqGZ0BFKYu7s0btotLA==","signatures":[{"sig":"MEQCIBPYoiKo/rp+YYFfH5rCNM6kESJN9+u8B/bvrWKnjrfyAiB3WBN+9z0n3sqMKZfBAtz7IRPW8pMGNZVRiEoOUjLBJQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":141440},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"f6ef5defee2b37b85bf9dfdf15d5552697c86d74","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"4meta5","email":"orlandodowntownhome@gmail.com"},"repository":{"url":"git+https://github.com/bobamatcha/engram.git","type":"git","directory":"packages/semantic-memory"},"_npmVersion":"11.6.2","description":"Standalone semantic memory storage with hybrid search (BM25 + vector + RRF fusion)","directories":{},"_nodeVersion":"25.2.1","dependencies":{"better-sqlite3":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.4.0","@types/node":"^20.0.0","@types/better-sqlite3":"^7.6.0"},"peerDependencies":{"@lancedb/lancedb":">=0.4.0"},"peerDependenciesMeta":{"@lancedb/lancedb":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/semantic-memory_0.1.0_1770014239285_0.4054769621644787","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@4meta5/semantic-memory","version":"0.1.1","keywords":["memory","semantic-search","sqlite","fts5","bm25","vector-search","hybrid-search","rrf","local-first"],"author":{"name":"Patch","email":"patch@bobamatchasolutions.com"},"license":"MIT","_id":"@4meta5/semantic-memory@0.1.1","maintainers":[{"name":"4meta5","email":"orlandodowntownhome@gmail.com"}],"homepage":"https://github.com/bobamatcha/engram#readme","bugs":{"url":"https://github.com/bobamatcha/engram/issues"},"dist":{"shasum":"cfa3740505c0e5ad6c0cdd191e050b52b22ae41a","tarball":"https://registry.npmjs.org/@4meta5/semantic-memory/-/semantic-memory-0.1.1.tgz","fileCount":74,"integrity":"sha512-2LW/iCOlWFSRfyZGmr6Ne3vKNLGKazWhVLCBqf8VLXkIJVK0vqQpTWHlBed9zA6hGz30Yy+ndpMpi2cASNp+qA==","signatures":[{"sig":"MEMCH0PJaYh7RMY3NaJKyOSkNnFJ3OJq27narCMD42FmJ0ACIGoefzgvbP9zBqvStuxPZwINRbY0CsRB9bkewzN32Lu6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":141440},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"cea2a41725c9705f5d5c964edbf9d626976dd87b","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","test:watch":"vitest"},"_npmUser":{"name":"4meta5","email":"orlandodowntownhome@gmail.com"},"repository":{"url":"git+https://github.com/bobamatcha/engram.git","type":"git","directory":"packages/semantic-memory"},"_npmVersion":"11.6.2","description":"Standalone semantic memory storage with hybrid search (BM25 + vector + RRF fusion)","directories":{},"_nodeVersion":"25.2.1","dependencies":{"better-sqlite3":"^11.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.4.0","@types/node":"^20.0.0","@types/better-sqlite3":"^7.6.0"},"peerDependencies":{"@lancedb/lancedb":">=0.4.0"},"peerDependenciesMeta":{"@lancedb/lancedb":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/semantic-memory_0.1.1_1770166094446_0.8624949513309002","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@4meta5/semantic-memory","version":"0.2.2","description":"Standalone semantic memory storage with hybrid search (BM25 + vector + RRF fusion)","type":"module","main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"build":"tsc","dev":"tsc --watch","test":"vitest run","test:watch":"vitest"},"keywords":["memory","semantic-search","sqlite","fts5","bm25","vector-search","hybrid-search","rrf","local-first"],"author":{"name":"Patch","email":"patch@bobamatchasolutions.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/bobamatcha/engram.git","directory":"packages/semantic-memory"},"engines":{"node":">=20"},"dependencies":{"better-sqlite3":"^11.0.0"},"devDependencies":{"@types/better-sqlite3":"^7.6.0","@types/node":"^20.0.0","typescript":"^5.4.0","vitest":"^2.0.0"},"peerDependencies":{"@lancedb/lancedb":">=0.4.0"},"peerDependenciesMeta":{"@lancedb/lancedb":{"optional":true}},"gitHead":"cea2a41725c9705f5d5c964edbf9d626976dd87b","_id":"@4meta5/semantic-memory@0.2.2","bugs":{"url":"https://github.com/bobamatcha/engram/issues"},"homepage":"https://github.com/bobamatcha/engram#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-FAX5EnCj0GjCOg7LbZMPQXeM5m630q93UB3iKJtmQgx6q+bt6x8tRk1FuPzHYERq7R3qgbMaocjETDwoafBl/w==","shasum":"936a28198512dc0d9b2237b7ec60a7d326adcfbd","tarball":"https://registry.npmjs.org/@4meta5/semantic-memory/-/semantic-memory-0.2.2.tgz","fileCount":34,"unpackedSize":56566,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDKDttjjo+ceqiGRvPC9sVjvtgrTp5ZvI9/LJwofmPL+gIhAJIXtRhUdvbNsB8NSeL0Lxmp4dAePpRk8crxawkBzy2B"}]},"_npmUser":{"name":"4meta5","email":"orlandodowntownhome@gmail.com"},"directories":{},"maintainers":[{"name":"4meta5","email":"orlandodowntownhome@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/semantic-memory_0.2.2_1770166278827_0.44363409957406597"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-02T06:37:19.221Z","modified":"2026-02-04T00:51:19.090Z","0.1.0":"2026-02-02T06:37:19.452Z","0.1.1":"2026-02-04T00:48:14.594Z","0.2.2":"2026-02-04T00:51:18.971Z"},"bugs":{"url":"https://github.com/bobamatcha/engram/issues"},"author":{"name":"Patch","email":"patch@bobamatchasolutions.com"},"license":"MIT","homepage":"https://github.com/bobamatcha/engram#readme","keywords":["memory","semantic-search","sqlite","fts5","bm25","vector-search","hybrid-search","rrf","local-first"],"repository":{"type":"git","url":"git+https://github.com/bobamatcha/engram.git","directory":"packages/semantic-memory"},"description":"Standalone semantic memory storage with hybrid search (BM25 + vector + RRF fusion)","maintainers":[{"name":"4meta5","email":"orlandodowntownhome@gmail.com"}],"readme":"# @4meta5/semantic-memory\n\nStandalone semantic memory storage with hybrid search.\n\n## Installation\n\n```bash\nnpm install @4meta5/semantic-memory\n```\n\n## Usage\n\n```typescript\nimport { createMemoryStore } from '@4meta5/semantic-memory';\n\nconst store = createMemoryStore({ dbPath: './memory.db' });\n\n// Add memories\nawait store.add('JWT tokens for auth', { topics: ['auth'] });\nawait store.add('Use Vitest for testing', { topics: ['testing'] });\n\n// Search with BM25\nconst results = store.searchBM25('authentication', 10);\n\n// Get stats\nconsole.log(store.getStats());\n\nstore.close();\n```\n\n## Features\n\n- BM25 full-text search via SQLite FTS5\n- Optional vector search with pluggable embedding providers\n- RRF fusion for hybrid ranking\n- Local-first SQLite storage\n\n## API\n\n### `createMemoryStore(config)`\n\nCreate a memory store instance.\n\n```typescript\ninterface MemoryStoreConfig {\n  dbPath: string;                    // Path to SQLite database\n  embeddingProvider?: EmbeddingProvider;  // Optional for vector search\n  useVectors?: boolean;              // Enable vector search\n}\n```\n\n### `store.add(content, metadata?, options?)`\n\nAdd a memory to the store.\n\n### `store.searchBM25(query, limit)`\n\nSearch using BM25 full-text ranking.\n\n### `store.searchHybrid(query, limit)`\n\nSearch using hybrid BM25 + vector with RRF fusion. Requires embedding provider.\n\n### `store.getStats()`\n\nGet storage statistics.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}