{"_id":"@adhd/sox-memory-core","_rev":"16-c2387cf0eb2dd3160ec7ff5c938ad560","name":"@adhd/sox-memory-core","dist-tags":{"latest":"0.10.2"},"versions":{"0.2.0":{"name":"@adhd/sox-memory-core","version":"0.2.0","license":"MIT","_id":"@adhd/sox-memory-core@0.2.0","maintainers":[{"name":"pseudosky","email":"skywinston.sk@gmail.com"}],"dist":{"shasum":"abb4a4e38de6f6d795040273c9498d31eda9f051","tarball":"https://registry.npmjs.org/@adhd/sox-memory-core/-/sox-memory-core-0.2.0.tgz","fileCount":46,"integrity":"sha512-4BSWaLqgmnxvoM4/XQq7zlu3kfV/dyoys+YyJwAe18BIlQx9HeA5XdVCvU/NOx9OeQzL+UvCVBDunHwbw3VECw==","signatures":[{"sig":"MEUCIQDrvI/LhUZVsxHIEu1m8WjnQPZwIXvybOIQM7baFOOhIAIgAnH/sjeCdqmCt3LdDoQAK6yyGviq3icuRwH3s6S04Hw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":305766},"main":"./dist/index.js","_from":"file:adhd-sox-memory-core-0.2.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"_npmUser":{"name":"pseudosky","email":"skywinston.sk@gmail.com"},"_resolved":"/private/var/folders/yg/cfczgtx54bzfh74lx2_mv0z80000gp/T/64e2885c092934d7904683722a64b53a/adhd-sox-memory-core-0.2.0.tgz","_integrity":"sha512-4BSWaLqgmnxvoM4/XQq7zlu3kfV/dyoys+YyJwAe18BIlQx9HeA5XdVCvU/NOx9OeQzL+UvCVBDunHwbw3VECw==","_npmVersion":"11.6.2","description":"Shared internal library for the sox-memory subsystem (db, schema, embed, recall, write, memoryd, extensions)","directories":{},"_nodeVersion":"24.11.1","dependencies":{"fastembed":"^2.1.0","sqlite-vec":"^0.1.9","better-sqlite3":"^12.10.0","@adhd/sox-memory-enrich":"1.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sox-memory-core_0.2.0_1782451185935_0.6477310031743067","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@adhd/sox-memory-core","version":"0.2.1","license":"MIT","_id":"@adhd/sox-memory-core@0.2.1","maintainers":[{"name":"pseudosky","email":"skywinston.sk@gmail.com"}],"dist":{"shasum":"d6e745af2dbc6e894348a72c6cab3f68f2630a34","tarball":"https://registry.npmjs.org/@adhd/sox-memory-core/-/sox-memory-core-0.2.1.tgz","fileCount":46,"integrity":"sha512-D2ezSdOa+Zv7fc48+W8oqv3uV6zPMVKXkNeN70UAfp2+NI+IWJ8Q78uzMTXBQXiBCS9I0wVrSg5zAVOaeAfdrQ==","signatures":[{"sig":"MEUCIQCNL6kJbHlk1MlAI19QhTjRCdNB7w5IkRbC20pRfFVFLAIgFGxKMfN1XceoD0zdpa9vead6oC0d6rl7l/9CyNRp7GQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":317686},"main":"./dist/index.js","_from":"file:adhd-sox-memory-core-0.2.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"_npmUser":{"name":"pseudosky","email":"skywinston.sk@gmail.com"},"_resolved":"/private/var/folders/yg/cfczgtx54bzfh74lx2_mv0z80000gp/T/d9a7fa8c18ee5a5157202617b1b79816/adhd-sox-memory-core-0.2.1.tgz","_integrity":"sha512-D2ezSdOa+Zv7fc48+W8oqv3uV6zPMVKXkNeN70UAfp2+NI+IWJ8Q78uzMTXBQXiBCS9I0wVrSg5zAVOaeAfdrQ==","_npmVersion":"11.6.2","description":"Shared internal library for the sox-memory subsystem (db, schema, embed, recall, write, memoryd, extensions)","directories":{},"_nodeVersion":"24.11.1","dependencies":{"fastembed":"^2.1.0","sqlite-vec":"^0.1.9","better-sqlite3":"^12.10.0","@adhd/sox-memory-enrich":"1.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sox-memory-core_0.2.1_1782502322744_0.7636895846234024","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@adhd/sox-memory-core","version":"0.3.0","license":"MIT","_id":"@adhd/sox-memory-core@0.3.0","maintainers":[{"name":"pseudosky","email":"skywinston.sk@gmail.com"}],"dist":{"shasum":"30277df4afad62b5c363e4f97fdb9123a49b23b8","tarball":"https://registry.npmjs.org/@adhd/sox-memory-core/-/sox-memory-core-0.3.0.tgz","fileCount":182,"integrity":"sha512-+jEeGEggqrt3ssCYIL0WINDNkv+hFjMsQDAE0P7Ox1s+7FE6SXv8+dGSQvkZrYbkS5HBRa3jwOb/SaI45FStZw==","signatures":[{"sig":"MEUCIAJMfw/CnsEWfuMOf5rbFqCWSqpTJrrHGgqSzWCn/bDhAiEAu9P03/x3H/NphS+1+E5lpc8ONH2vy2lQSj86fk515Jo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":937441},"main":"./dist/index.js","_from":"file:adhd-sox-memory-core-0.3.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./package.json":"./package.json"},"_npmUser":{"name":"pseudosky","email":"skywinston.sk@gmail.com"},"_resolved":"/private/var/folders/yg/cfczgtx54bzfh74lx2_mv0z80000gp/T/04ea3dd17b9c20846f282143af3fa265/adhd-sox-memory-core-0.3.0.tgz","_integrity":"sha512-+jEeGEggqrt3ssCYIL0WINDNkv+hFjMsQDAE0P7Ox1s+7FE6SXv8+dGSQvkZrYbkS5HBRa3jwOb/SaI45FStZw==","_npmVersion":"11.6.2","description":"Shared internal library for the sox-memory subsystem (db, schema, embed, recall, write, memoryd, extensions)","directories":{},"_nodeVersion":"24.11.1","dependencies":{"fastembed":"^2.1.0","sqlite-vec":"^0.1.9","better-sqlite3":"^12.10.0","@adhd/sox-ingest":"0.1.0","@adhd/sox-analysis":"0.1.0","@adhd/sox-graph-store":"0.3.0","@adhd/sox-hybrid-search":"0.2.0","@adhd/sox-embedding-provider":"0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sox-memory-core_0.3.0_1784239338215_0.5955373518020435","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@adhd/sox-memory-core","version":"0.3.1","license":"MIT","_id":"@adhd/sox-memory-core@0.3.1","maintainers":[{"name":"pseudosky","email":"skywinston.sk@gmail.com"}],"dist":{"shasum":"f521b7184a959fd9e230808f05d6851e1cc0d15f","tarball":"https://registry.npmjs.org/@adhd/sox-memory-core/-/sox-memory-core-0.3.1.tgz","fileCount":182,"integrity":"sha512-508ygTGqQzWUNHJH1ACNC3Ym/Ds0bKK2FLnb7vmAI6uDMyVVKpXo7g8+gszf9yQzhMdEWyy4uj1e+X9R9RSDPQ==","signatures":[{"sig":"MEQCIHacwfHw+LGMBNVQpyMYNFGblCBcE/WrH/7iSfh658lyAiBrLCGbpS1qwWnDw5sM7EQxdDXdMRvLnFGnZF/KFT3i9Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":944003},"main":"./dist/index.js","_from":"file:adhd-sox-memory-core-0.3.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./package.json":"./package.json"},"_npmUser":{"name":"pseudosky","email":"skywinston.sk@gmail.com"},"_resolved":"/private/var/folders/yg/cfczgtx54bzfh74lx2_mv0z80000gp/T/93984635d6e1b59df0f9f046f01458a8/adhd-sox-memory-core-0.3.1.tgz","_integrity":"sha512-508ygTGqQzWUNHJH1ACNC3Ym/Ds0bKK2FLnb7vmAI6uDMyVVKpXo7g8+gszf9yQzhMdEWyy4uj1e+X9R9RSDPQ==","_npmVersion":"11.6.2","description":"Shared internal library for the sox-memory subsystem (db, schema, embed, recall, write, memoryd, extensions)","directories":{},"_nodeVersion":"24.11.1","dependencies":{"fastembed":"^2.1.0","sqlite-vec":"^0.1.9","better-sqlite3":"^12.10.0","@adhd/sox-ingest":"0.1.0","@adhd/sox-analysis":"0.1.1","@adhd/sox-graph-store":"0.4.0","@adhd/sox-hybrid-search":"0.3.0","@adhd/sox-embedding-provider":"0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sox-memory-core_0.3.1_1784829261315_0.5965277473266801","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@adhd/sox-memory-core","version":"0.4.0","license":"MIT","_id":"@adhd/sox-memory-core@0.4.0","maintainers":[{"name":"pseudosky","email":"skywinston.sk@gmail.com"}],"dist":{"shasum":"6aee8d6cc4b30ee3b6d9fea220862f6461c9175d","tarball":"https://registry.npmjs.org/@adhd/sox-memory-core/-/sox-memory-core-0.4.0.tgz","fileCount":182,"integrity":"sha512-d8lSfTLsraJr/ApytJa7Oh8QbXU/GWOs9UUHx7UyPWD4540mYYlh4qrGX4RtQIioTY01+IelbvJ9TvPHmVpDzA==","signatures":[{"sig":"MEUCIQDUzOqn7I92l3DHaOr0M3YMSs4Slwf6YJpamF3Ga7Q+0AIgP+GMrM8p+EBwHcWswsTP7H3zC+KVla4zpJyP8K8DoSA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":960953},"main":"./dist/index.js","_from":"file:adhd-sox-memory-core-0.4.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./package.json":"./package.json"},"_npmUser":{"name":"pseudosky","email":"skywinston.sk@gmail.com"},"_resolved":"/private/var/folders/yg/cfczgtx54bzfh74lx2_mv0z80000gp/T/c922861f905a9a9d70db367e6636f5fb/adhd-sox-memory-core-0.4.0.tgz","_integrity":"sha512-d8lSfTLsraJr/ApytJa7Oh8QbXU/GWOs9UUHx7UyPWD4540mYYlh4qrGX4RtQIioTY01+IelbvJ9TvPHmVpDzA==","_npmVersion":"11.6.2","description":"Shared internal library for the sox-memory subsystem (db, schema, embed, recall, write, memoryd, extensions)","directories":{},"_nodeVersion":"24.11.1","dependencies":{"fastembed":"^2.1.0","sqlite-vec":"^0.1.9","better-sqlite3":"^12.10.0","@adhd/sox-ingest":"0.1.0","@adhd/sox-analysis":"0.1.1","@adhd/sox-graph-store":"0.5.0","@adhd/sox-hybrid-search":"0.3.0","@adhd/sox-store-adapter":"0.1.0","@adhd/sox-embedding-provider":"0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sox-memory-core_0.4.0_1785132668457_0.4430769998693229","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@adhd/sox-memory-core","version":"0.4.1","license":"MIT","_id":"@adhd/sox-memory-core@0.4.1","maintainers":[{"name":"pseudosky","email":"skywinston.sk@gmail.com"}],"sox":{"sidecars":["src/enrich-process-host.ts"]},"dist":{"shasum":"751057994401b0e0c9b37c62f78368c47522474d","tarball":"https://registry.npmjs.org/@adhd/sox-memory-core/-/sox-memory-core-0.4.1.tgz","fileCount":214,"integrity":"sha512-22GmEaaKiRQ5Fs3ane+OaIjdVTsVhXlgLaIIzHDY8TpVWM8tIIEU1mHPU75RzEn2v1lZiupemEfCGhAXnT70YQ==","signatures":[{"sig":"MEYCIQD/WvFtW6IAtaP7XGUT6vkklijxbosyhmFDm1Xg2NvXuQIhAOci3+TXK8w9EduD0BMlzhCTzAvy42i7M+VUdIHdMGgP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1304400},"main":"./dist/index.js","_from":"file:adhd-sox-memory-core-0.4.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./package.json":"./package.json"},"_npmUser":{"name":"pseudosky","email":"skywinston.sk@gmail.com"},"_resolved":"/Users/nix/.adhd/sox-ecosystem/publish-verify-201412/adhd-sox-memory-core-0.4.1.tgz","_integrity":"sha512-22GmEaaKiRQ5Fs3ane+OaIjdVTsVhXlgLaIIzHDY8TpVWM8tIIEU1mHPU75RzEn2v1lZiupemEfCGhAXnT70YQ==","_npmVersion":"11.6.2","description":"Shared internal library for the sox-memory subsystem (db, schema, embed, recall, write, memoryd, extensions)","directories":{},"_nodeVersion":"24.11.1","dependencies":{"fastembed":"^2.1.0","sqlite-vec":"^0.1.9","better-sqlite3":"^12.10.0","@adhd/sox-ingest":"0.1.0","@adhd/sox-analysis":"0.1.2","@adhd/sox-telemetry":"0.2.0","@adhd/sox-graph-store":"0.5.1","@adhd/sox-hybrid-search":"0.3.1","@adhd/sox-store-adapter":"0.1.1","@adhd/sox-embedding-provider":"0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sox-memory-core_0.4.1_1785892775324_0.6028458930444784","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@adhd/sox-memory-core","version":"0.4.2","license":"MIT","_id":"@adhd/sox-memory-core@0.4.2","maintainers":[{"name":"pseudosky","email":"skywinston.sk@gmail.com"}],"sox":{"sidecars":["src/enrich-process-host.ts"]},"dist":{"shasum":"e9a1db3636a5a48ee62cc1163ef32bcf8c5387da","tarball":"https://registry.npmjs.org/@adhd/sox-memory-core/-/sox-memory-core-0.4.2.tgz","fileCount":214,"integrity":"sha512-w4CN06Pb8xu/8v21uCoSU27EziX+a9G278hOYzckJcBWWc2dWptHtCtAsnc1UXZrhRHbryiPwz+MGeyi3+zCLQ==","signatures":[{"sig":"MEQCIB5CNWTT1/VedWhD/PbqJOvOwUHpUu+2Z11vofMUtnyjAiAmCkTTw3uj0zb+B/TIx810JJ2Jkx3etdMrCZf3ik61nA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1304400},"main":"./dist/index.js","_from":"file:adhd-sox-memory-core-0.4.2.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./package.json":"./package.json"},"_npmUser":{"name":"pseudosky","email":"skywinston.sk@gmail.com"},"_resolved":"/Users/nix/.adhd/sox-ecosystem/publish-verify2-203027/adhd-sox-memory-core-0.4.2.tgz","_integrity":"sha512-w4CN06Pb8xu/8v21uCoSU27EziX+a9G278hOYzckJcBWWc2dWptHtCtAsnc1UXZrhRHbryiPwz+MGeyi3+zCLQ==","_npmVersion":"11.6.2","description":"Shared internal library for the sox-memory subsystem (db, schema, embed, recall, write, memoryd, extensions)","directories":{},"_nodeVersion":"24.11.1","dependencies":{"fastembed":"^2.1.0","sqlite-vec":"^0.1.9","better-sqlite3":"^12.10.0","@adhd/sox-ingest":"0.1.0","@adhd/sox-analysis":"0.1.3","@adhd/sox-telemetry":"0.2.0","@adhd/sox-graph-store":"0.5.2","@adhd/sox-hybrid-search":"0.3.2","@adhd/sox-store-adapter":"0.1.2","@adhd/sox-embedding-provider":"0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sox-memory-core_0.4.2_1785893501311_0.07845114193782332","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@adhd/sox-memory-core","version":"0.5.0","license":"MIT","_id":"@adhd/sox-memory-core@0.5.0","maintainers":[{"name":"pseudosky","email":"skywinston.sk@gmail.com"}],"sox":{"sidecars":["src/enrich-process-host.ts"]},"dist":{"shasum":"e07b28c601996e38b6b7d140bffb105f055359be","tarball":"https://registry.npmjs.org/@adhd/sox-memory-core/-/sox-memory-core-0.5.0.tgz","fileCount":214,"integrity":"sha512-WKUGbjgWONj08D2FteN7LzLEHrx5V505H3pdWJdKSjv9Sz04BCqlmnTafK+zZuNlSfotiOBvszK+Twv9NYepdg==","signatures":[{"sig":"MEQCICWAReSW4aLjcdz/fcCTPte1WXZhjdyCH95mI8pstWQgAiB962KJC0++U6JxCpB+or5DZ+QRrQhxfHvjlxwqaklGhg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1324918},"main":"./dist/index.js","_from":"file:adhd-sox-memory-core-0.5.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./package.json":"./package.json"},"_npmUser":{"name":"pseudosky","email":"skywinston.sk@gmail.com"},"_resolved":"/Users/nix/.adhd/sox-ecosystem/pubv3-142121/adhd-sox-memory-core-0.5.0.tgz","_integrity":"sha512-WKUGbjgWONj08D2FteN7LzLEHrx5V505H3pdWJdKSjv9Sz04BCqlmnTafK+zZuNlSfotiOBvszK+Twv9NYepdg==","_npmVersion":"11.6.2","description":"Shared internal library for the sox-memory subsystem (db, schema, embed, recall, write, memoryd, extensions)","directories":{},"_nodeVersion":"24.11.1","dependencies":{"fastembed":"^2.1.0","sqlite-vec":"^0.1.9","better-sqlite3":"^12.10.0","@adhd/sox-ingest":"0.1.0","@adhd/sox-analysis":"0.1.4","@adhd/sox-telemetry":"0.2.0","@adhd/sox-graph-store":"0.5.3","@adhd/sox-hybrid-search":"0.3.3","@adhd/sox-store-adapter":"0.2.0","@adhd/sox-embedding-provider":"0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sox-memory-core_0.5.0_1785957747623_0.4398495671906608","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@adhd/sox-memory-core","version":"0.6.0","license":"MIT","_id":"@adhd/sox-memory-core@0.6.0","maintainers":[{"name":"pseudosky","email":"skywinston.sk@gmail.com"}],"sox":{"sidecars":["src/enrich-process-host.ts"]},"dist":{"shasum":"f9b1de01cbfd195ad07069f24095a42f73a11c9a","tarball":"https://registry.npmjs.org/@adhd/sox-memory-core/-/sox-memory-core-0.6.0.tgz","fileCount":222,"integrity":"sha512-UUpub2tlycgjO8HCZBjsM7r/5pNOjw8PmVDA2d91c9ROh05qqVKscIpQ4DYZsnRJwLvtMh3cSAx7O91O6+KiRA==","signatures":[{"sig":"MEUCIFYSe1gg0g8EnSU4aECd+/J0rogAc75Hw/Xedt+eGNzZAiEAmUifPuqAx6KhH2aMV7Iv1AiKOHmx3pSeIDxznhZEc2M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1345348},"main":"./dist/index.js","_from":"file:adhd-sox-memory-core-0.6.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./package.json":"./package.json"},"_npmUser":{"name":"pseudosky","email":"skywinston.sk@gmail.com"},"_resolved":"/private/var/folders/yg/cfczgtx54bzfh74lx2_mv0z80000gp/T/9a388637e517fff7887902f42fb338e9/adhd-sox-memory-core-0.6.0.tgz","_integrity":"sha512-UUpub2tlycgjO8HCZBjsM7r/5pNOjw8PmVDA2d91c9ROh05qqVKscIpQ4DYZsnRJwLvtMh3cSAx7O91O6+KiRA==","_npmVersion":"11.6.2","description":"Shared internal library for the sox-memory subsystem (db, schema, embed, recall, write, memoryd, extensions)","directories":{},"_nodeVersion":"24.11.1","dependencies":{"fastembed":"^2.1.0","sqlite-vec":"^0.1.9","better-sqlite3":"^12.10.0","@adhd/sox-ingest":"0.1.0","@adhd/sox-analysis":"0.1.5","@adhd/sox-telemetry":"0.2.0","@adhd/sox-graph-store":"0.6.0","@adhd/sox-hybrid-search":"0.3.4","@adhd/sox-store-adapter":"0.3.0","@adhd/sox-embedding-provider":"0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sox-memory-core_0.6.0_1786144738684_0.658473622106273","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@adhd/sox-memory-core","version":"0.8.0","license":"MIT","_id":"@adhd/sox-memory-core@0.8.0","maintainers":[{"name":"pseudosky","email":"skywinston.sk@gmail.com"}],"sox":{"sidecars":["src/enrich-process-host.ts"]},"dist":{"shasum":"7a680642aa03617084150c15ba528c0d618a74e6","tarball":"https://registry.npmjs.org/@adhd/sox-memory-core/-/sox-memory-core-0.8.0.tgz","fileCount":238,"integrity":"sha512-X3Uy/o0v+6MQXxpWodtDph2VnY4GP+zUx7X2/Hb6/+3wvM7X3f/C8/W9Mnlgbemb3am0Lfl8xDxWIfLXVEyFTQ==","signatures":[{"sig":"MEQCICygmMGu62XNaoT2XAvf7LwN4aZtBRfAD6It++Aj+o3uAiAGQpTrQI08t4+RCW0uhHxXREA0AIQFUasux/FMC4J2dw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1508871},"main":"./dist/index.js","_from":"file:adhd-sox-memory-core-0.8.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./package.json":"./package.json"},"_npmUser":{"name":"pseudosky","email":"skywinston.sk@gmail.com"},"_resolved":"/private/var/folders/yg/cfczgtx54bzfh74lx2_mv0z80000gp/T/c916dd96541925fa275c3fa2ae0659b5/adhd-sox-memory-core-0.8.0.tgz","_integrity":"sha512-X3Uy/o0v+6MQXxpWodtDph2VnY4GP+zUx7X2/Hb6/+3wvM7X3f/C8/W9Mnlgbemb3am0Lfl8xDxWIfLXVEyFTQ==","_npmVersion":"11.6.2","description":"Shared internal library for the sox-memory subsystem (db, schema, embed, recall, write, memoryd, extensions)","directories":{},"_nodeVersion":"24.11.1","dependencies":{"fastembed":"^2.1.0","sqlite-vec":"^0.1.9","better-sqlite3":"^12.10.0","@adhd/sox-ingest":"0.1.0","@adhd/sox-analysis":"0.1.7","@adhd/sox-telemetry":"0.2.0","@adhd/sox-graph-store":"0.8.2","@adhd/sox-hybrid-search":"0.3.6","@adhd/sox-store-adapter":"0.5.2","@adhd/sox-embedding-provider":"0.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sox-memory-core_0.8.0_1786494963652_0.6837655336348338","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"@adhd/sox-memory-core","version":"0.8.1","license":"MIT","_id":"@adhd/sox-memory-core@0.8.1","maintainers":[{"name":"pseudosky","email":"skywinston.sk@gmail.com"}],"sox":{"sidecars":["src/enrich-process-host.ts"]},"dist":{"shasum":"81ca974a4ed3e2733988b4f716361961ef6912d2","tarball":"https://registry.npmjs.org/@adhd/sox-memory-core/-/sox-memory-core-0.8.1.tgz","fileCount":238,"integrity":"sha512-HBaLrdXomNjQQCafMrQ8TvLjzF6wUHa5DtLZ4hlyw6JIV4ZRMi0H3tMcgLeSMa4WMge+rhJtoUr9ZBBGFAAcTA==","signatures":[{"sig":"MEQCIAXHSdgwy5uEaBA9shfpfC0zdEyk6hdmSp3S3UgohTuwAiAb5kKeZ9+jrTfv2khgpaPOF7uW9NhdAO0rsOvylIkU8w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1508871},"main":"./dist/index.js","_from":"file:adhd-sox-memory-core-0.8.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./package.json":"./package.json"},"_npmUser":{"name":"pseudosky","email":"skywinston.sk@gmail.com"},"_resolved":"/private/var/folders/yg/cfczgtx54bzfh74lx2_mv0z80000gp/T/d9af7f663e3c17ed8d4d78891c2ff57f/adhd-sox-memory-core-0.8.1.tgz","_integrity":"sha512-HBaLrdXomNjQQCafMrQ8TvLjzF6wUHa5DtLZ4hlyw6JIV4ZRMi0H3tMcgLeSMa4WMge+rhJtoUr9ZBBGFAAcTA==","_npmVersion":"11.6.2","description":"Shared internal library for the sox-memory subsystem (db, schema, embed, recall, write, memoryd, extensions)","directories":{},"_nodeVersion":"24.11.1","dependencies":{"fastembed":"^2.1.0","sqlite-vec":"^0.1.9","better-sqlite3":"^12.10.0","@adhd/sox-ingest":"0.1.0","@adhd/sox-analysis":"0.1.8","@adhd/sox-telemetry":"0.2.0","@adhd/sox-graph-store":"0.8.3","@adhd/sox-hybrid-search":"0.3.7","@adhd/sox-store-adapter":"0.5.3","@adhd/sox-embedding-provider":"0.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sox-memory-core_0.8.1_1786506950036_0.7427943171522817","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"@adhd/sox-memory-core","version":"0.9.1","license":"MIT","_id":"@adhd/sox-memory-core@0.9.1","maintainers":[{"name":"pseudosky","email":"skywinston.sk@gmail.com"}],"sox":{"sidecars":["src/enrich-process-host.ts"]},"dist":{"shasum":"2c28d606b383f89904a49759b68a0e5635bb6f00","tarball":"https://registry.npmjs.org/@adhd/sox-memory-core/-/sox-memory-core-0.9.1.tgz","fileCount":242,"integrity":"sha512-JHJaePelhXmfd5tu5Waj8mCfUqaUQ3JFypR/O+4PZL7ZjrS32fWJTjp38QsRK7DGhZiCpfEJGP3W65Gu4mMEAA==","signatures":[{"sig":"MEYCIQCRmzWJPo6kIJThFobswfyBki+LeAlHy94kXMRNsFshjQIhALtJtpDPZd256aW9QfPIlwhHpPqDvENJQNIoA8+FxWoZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1551217},"main":"./dist/index.js","_from":"file:adhd-sox-memory-core-0.9.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./package.json":"./package.json"},"_npmUser":{"name":"pseudosky","email":"skywinston.sk@gmail.com"},"_resolved":"/private/var/folders/yg/cfczgtx54bzfh74lx2_mv0z80000gp/T/a9f3249b6fd933b40cf9693c3960a372/adhd-sox-memory-core-0.9.1.tgz","_integrity":"sha512-JHJaePelhXmfd5tu5Waj8mCfUqaUQ3JFypR/O+4PZL7ZjrS32fWJTjp38QsRK7DGhZiCpfEJGP3W65Gu4mMEAA==","_npmVersion":"11.6.2","description":"Shared internal library for the sox-memory subsystem (db, schema, embed, recall, write, memoryd, extensions)","directories":{},"_nodeVersion":"24.11.1","dependencies":{"fastembed":"^2.1.0","sqlite-vec":"^0.1.9","better-sqlite3":"^12.10.0","@adhd/sox-ingest":"^0.1.0","@adhd/sox-analysis":"^0.1.8","@adhd/sox-telemetry":"^0.2.1","@adhd/sox-graph-store":"^0.8.6","@adhd/sox-hybrid-search":"^0.3.8","@adhd/sox-store-adapter":"^0.7.0","@adhd/sox-embedding-provider":"^0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sox-memory-core_0.9.1_1787113048576_0.5578887257740404","host":"s3://npm-registry-packages-npm-production"}},"0.9.2":{"name":"@adhd/sox-memory-core","version":"0.9.2","keywords":["memory","database","sqlite","embedding","typescript"],"license":"MIT","_id":"@adhd/sox-memory-core@0.9.2","maintainers":[{"name":"pseudosky","email":"skywinston.sk@gmail.com"}],"homepage":"https://github.com/PseudoSky/adhd","bugs":{"url":"https://github.com/PseudoSky/adhd/issues"},"sox":{"sidecars":["src/enrich-process-host.ts"]},"dist":{"shasum":"bfab4bf6828747a4d6bbfceddab645cbdc9f1240","tarball":"https://registry.npmjs.org/@adhd/sox-memory-core/-/sox-memory-core-0.9.2.tgz","fileCount":243,"integrity":"sha512-obs95ZtrORtPEjnTvmoJ2Gon3o5ims11TLH1Z1O2qQH61CeSGLzj796xscdXOZ4XehWpPLAX/E5rd/9BKyKm2A==","signatures":[{"sig":"MEYCIQClgM318JYHdncRY+1WyMpcaeU/dCcCfdS/lW+H/DgO1gIhANguEVYMG2jjnfFnPhZlbvn8ZjIYpu7czRRIIGFs0/Te","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1552873},"main":"./dist/index.js","_from":"file:adhd-sox-memory-core-0.9.2.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./package.json":"./package.json"},"_npmUser":{"name":"pseudosky","email":"skywinston.sk@gmail.com"},"_resolved":"/private/var/folders/yg/cfczgtx54bzfh74lx2_mv0z80000gp/T/dcdbdc07319b8e16cbcad92cb17c47f0/adhd-sox-memory-core-0.9.2.tgz","_integrity":"sha512-obs95ZtrORtPEjnTvmoJ2Gon3o5ims11TLH1Z1O2qQH61CeSGLzj796xscdXOZ4XehWpPLAX/E5rd/9BKyKm2A==","repository":{"url":"git+https://github.com/PseudoSky/adhd.git","type":"git"},"_npmVersion":"11.6.2","description":"Shared internal library for the sox-memory subsystem (db, schema, embed, recall, write, memoryd, extensions)","directories":{},"_nodeVersion":"24.11.1","dependencies":{"fastembed":"^2.1.0","sqlite-vec":"^0.1.9","better-sqlite3":"^12.10.0","@adhd/sox-ingest":"^0.1.0","@adhd/sox-analysis":"^0.1.10","@adhd/sox-telemetry":"^0.2.1","@adhd/sox-graph-store":"^0.9.0","@adhd/sox-hybrid-search":"^0.4.0","@adhd/sox-store-adapter":"^0.8.0","@adhd/sox-embedding-provider":"^0.4.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sox-memory-core_0.9.2_1787933935848_0.8636482554232892","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@adhd/sox-memory-core","version":"0.10.0","keywords":["memory","database","sqlite","embedding","typescript"],"license":"MIT","_id":"@adhd/sox-memory-core@0.10.0","maintainers":[{"name":"pseudosky","email":"skywinston.sk@gmail.com"}],"homepage":"https://github.com/PseudoSky/adhd","bugs":{"url":"https://github.com/PseudoSky/adhd/issues"},"sox":{"sidecars":["src/enrich-process-host.ts"]},"dist":{"shasum":"928cb61f49f01b8c3c2329e910fe385c8d82301e","tarball":"https://registry.npmjs.org/@adhd/sox-memory-core/-/sox-memory-core-0.10.0.tgz","fileCount":256,"integrity":"sha512-f2KaMbE0KE9E5Jg1c+Hib1KXbpqgaHTRgN1ae7rcoBFXrmaMTPxxr7vakZy4oMlx5Rakf7mAO+PF9g/S6kL/8g==","signatures":[{"sig":"MEUCIASQThiJxV7S9OJGeh5Au6CSJh1f86KsyBdUqR0BwORIAiEA9rILebtecxZQWMdcPJ0loTALSDU49gtE0u4ryeHGrrY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1683812},"main":"./dist/index.js","_from":"file:adhd-sox-memory-core-0.10.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./package.json":"./package.json"},"_npmUser":{"name":"pseudosky","email":"skywinston.sk@gmail.com"},"_resolved":"/private/var/folders/yg/cfczgtx54bzfh74lx2_mv0z80000gp/T/81db5029ec18555670ea8a0363e94e93/adhd-sox-memory-core-0.10.0.tgz","_integrity":"sha512-f2KaMbE0KE9E5Jg1c+Hib1KXbpqgaHTRgN1ae7rcoBFXrmaMTPxxr7vakZy4oMlx5Rakf7mAO+PF9g/S6kL/8g==","repository":{"url":"git+https://github.com/PseudoSky/adhd.git","type":"git"},"_npmVersion":"11.6.2","description":"Shared internal library for the sox-memory subsystem (db, schema, embed, recall, write, memoryd, extensions)","directories":{},"_nodeVersion":"24.11.1","dependencies":{"fastembed":"^2.1.0","sqlite-vec":"^0.1.9","better-sqlite3":"^12.10.0","@adhd/sox-ingest":"^0.1.1","@adhd/sox-analysis":"^0.1.11","@adhd/sox-telemetry":"^0.3.0","@adhd/sox-graph-store":"^0.9.2","@adhd/sox-hybrid-search":"^0.4.3","@adhd/sox-store-adapter":"^0.9.0","@adhd/sox-embedding-provider":"^0.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sox-memory-core_0.10.0_1788566486437_0.9048054865241864","host":"s3://npm-registry-packages-npm-production"}},"0.10.1":{"name":"@adhd/sox-memory-core","version":"0.10.1","keywords":["memory","database","sqlite","embedding","typescript"],"license":"MIT","_id":"@adhd/sox-memory-core@0.10.1","maintainers":[{"name":"pseudosky","email":"skywinston.sk@gmail.com"}],"homepage":"https://github.com/PseudoSky/adhd","bugs":{"url":"https://github.com/PseudoSky/adhd/issues"},"sox":{"sidecars":["src/enrich-process-host.ts"]},"dist":{"shasum":"ecf148e409f1ecef277ac6441c92da8adb075740","tarball":"https://registry.npmjs.org/@adhd/sox-memory-core/-/sox-memory-core-0.10.1.tgz","fileCount":256,"integrity":"sha512-rb+CZphASlwxmnMdBXLP/6tOrDu7+UAbpQ5fgcU91GuOA8YEFscI5ipicKufH6O8EVjEgPyGFRiGkoRPPJjj2Q==","signatures":[{"sig":"MEUCIB+PrBB/hTnZWSvY38Y2nPjNChG6BwoNmim7InCS78n5AiEAwFOHbhZG+jooZkOPjd5e4IcNl1uy8iJwidUA7SoXApc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDWujiXxHyplzT8OSepTqIeIeC3nWNtqKnUOU8HPApcQQIhALIqNw6RhO0DmMfuJ5JTLGsn+gn3j8zK6F//GJ/mRVGy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1683813},"main":"./dist/index.js","_from":"file:adhd-sox-memory-core-0.10.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./package.json":"./package.json"},"_npmUser":{"name":"pseudosky","email":"skywinston.sk@gmail.com"},"_resolved":"/private/var/folders/yg/cfczgtx54bzfh74lx2_mv0z80000gp/T/c7a60b24ddb87bf6204ddd76095566d0/adhd-sox-memory-core-0.10.1.tgz","_integrity":"sha512-rb+CZphASlwxmnMdBXLP/6tOrDu7+UAbpQ5fgcU91GuOA8YEFscI5ipicKufH6O8EVjEgPyGFRiGkoRPPJjj2Q==","repository":{"url":"git+https://github.com/PseudoSky/adhd.git","type":"git"},"_npmVersion":"11.6.2","description":"Shared internal library for the sox-memory subsystem (db, schema, embed, recall, write, memoryd, extensions)","directories":{},"_nodeVersion":"24.11.1","dependencies":{"fastembed":"^2.1.0","sqlite-vec":"^0.1.9","better-sqlite3":"^12.10.0","@adhd/sox-ingest":"^0.1.1","@adhd/sox-analysis":"^0.1.12","@adhd/sox-telemetry":"^0.3.0","@adhd/sox-graph-store":"^0.10.0","@adhd/sox-hybrid-search":"^0.4.5","@adhd/sox-store-adapter":"^0.9.2","@adhd/sox-embedding-provider":"^0.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sox-memory-core_0.10.1_1789655113135_0.49714612424410487","host":"s3://npm-registry-packages-npm-production"}},"0.10.2":{"_id":"@adhd/sox-memory-core@0.10.2","sox":{"sidecars":["src/enrich-process-host.ts"]},"bugs":{"url":"https://github.com/PseudoSky/adhd/issues"},"dist":{"shasum":"7a788f6ef3bbe7fe3a5bb9eb96b300234622d7e0","tarball":"https://registry.npmjs.org/@adhd/sox-memory-core/-/sox-memory-core-0.10.2.tgz","fileCount":256,"integrity":"sha512-78TtVMY5hXvYVpoJnamoeWLv1wFwCTylIabrCfBp5i8rPZLHncS6VgcJR5lIfw8qov2A+KbDwbY+uXhWj4GA3w==","signatures":[{"sig":"MEYCIQD+sjRhc3As161rlQa6dvW3e7TdRn3bM0ucF5848SRWTwIhAO+SDwtKLotDn5UMFOWlWA0JPeTYFaubxfoHUDR7Livf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIG2LmBjeAz2igTSgBNJM0G5y1tHbEQC1Oh0e3nTTIvlcAiEAqHRm7THfFJM1WKRjmX9ShdyXpyBWurU/CzyUJmsLZWQ="}],"unpackedSize":1683813},"main":"./dist/index.js","name":"@adhd/sox-memory-core","_from":"file:adhd-sox-memory-core-0.10.2.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./package.json":"./package.json"},"license":"MIT","version":"0.10.2","_npmUser":{"name":"pseudosky","email":"skywinston.sk@gmail.com"},"homepage":"https://github.com/PseudoSky/adhd","keywords":["memory","database","sqlite","embedding","typescript"],"_resolved":"/private/var/folders/yg/cfczgtx54bzfh74lx2_mv0z80000gp/T/ca1f87d437d2ff73c9c3152c61398d59/adhd-sox-memory-core-0.10.2.tgz","_integrity":"sha512-78TtVMY5hXvYVpoJnamoeWLv1wFwCTylIabrCfBp5i8rPZLHncS6VgcJR5lIfw8qov2A+KbDwbY+uXhWj4GA3w==","repository":{"url":"git+https://github.com/PseudoSky/adhd.git","type":"git"},"_npmVersion":"11.6.2","description":"Shared internal library for the sox-memory subsystem (db, schema, embed, recall, write, memoryd, extensions)","directories":{},"maintainers":[{"name":"pseudosky","email":"skywinston.sk@gmail.com"}],"_nodeVersion":"24.11.1","dependencies":{"fastembed":"^2.1.0","sqlite-vec":"^0.1.9","better-sqlite3":"^12.10.0","@adhd/sox-ingest":"^0.1.1","@adhd/sox-analysis":"^0.1.13","@adhd/sox-telemetry":"^0.3.0","@adhd/sox-graph-store":"^0.11.0","@adhd/sox-hybrid-search":"^0.4.7","@adhd/sox-store-adapter":"^0.9.2","@adhd/sox-embedding-provider":"^0.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sox-memory-core_0.10.2_1790054223514_0.6447969258116462"}}},"time":{"created":"2026-06-26T05:19:45.793Z","modified":"2026-09-22T05:17:03.863Z","0.2.0":"2026-06-26T05:19:46.119Z","0.2.1":"2026-06-26T19:32:02.944Z","0.3.0":"2026-07-16T22:02:18.367Z","0.3.1":"2026-07-23T17:54:21.462Z","0.4.0":"2026-07-27T06:11:08.664Z","0.4.1":"2026-08-05T01:19:35.510Z","0.4.2":"2026-08-05T01:31:41.483Z","0.5.0":"2026-08-05T19:22:27.772Z","0.6.0":"2026-08-07T23:18:58.861Z","0.8.0":"2026-08-12T00:36:03.876Z","0.8.1":"2026-08-12T03:55:50.204Z","0.9.1":"2026-08-19T04:17:28.744Z","0.9.2":"2026-08-28T16:18:56.091Z","0.10.0":"2026-09-05T00:01:26.589Z","0.10.1":"2026-09-17T14:25:13.234Z","0.10.2":"2026-09-22T05:17:03.672Z"},"bugs":{"url":"https://github.com/PseudoSky/adhd/issues"},"license":"MIT","homepage":"https://github.com/PseudoSky/adhd","keywords":["memory","database","sqlite","embedding","typescript"],"repository":{"url":"git+https://github.com/PseudoSky/adhd.git","type":"git"},"description":"Shared internal library for the sox-memory subsystem (db, schema, embed, recall, write, memoryd, extensions)","maintainers":[{"name":"pseudosky","email":"skywinston.sk@gmail.com"}],"readme":"# @adhd/sox-memory-core\n\nThe storage and query engine behind sox-memory: a bi-temporal, hybrid-search episodic memory\nstore. It turns raw text into embedded, tagged, clustered, graph-linked episodes and answers\nrecall queries by fusing vector similarity, full-text search, temporal recency, and graph\nexpansion into a single ranked result set — all with zero network/LLM calls on the write or read\npath (embeddings are computed locally via ONNX).\n\nIt is built directly on [`@adhd/sox-store-adapter`](https://www.npmjs.com/package/@adhd/sox-store-adapter)\nand inherits that adapter's concurrency architecture: the default Turso backend runs in\n`multiprocess-wal` mode, where **multiple OS processes hold concurrent write connections to the\nsame store file**, serialized through a `-tshm` coordinator sidecar — there is no opt-out on this\nadapter. In practice that means you can point many CLI invocations, many MCP server instances, and\nmany independent agent processes at one `.db` file and write to it concurrently, without an\nexternal lock service and without funneling every write through a single owning process. A\nsame-process, single-connection SQLite (`better-sqlite3`) backend remains available as a\nbackward-compatible, genuinely single-writer fallback.\n\n```bash\npnpm add @adhd/sox-memory-core\n```\n\n## Quick start\n\n```typescript\nimport { write, recall } from '@adhd/sox-memory-core';\n\n// write() and recall() open the store, run one operation, and close it —\n// the simplest way to get an episode in and back out.\nconst result = await write('~/.memory/project.db', {\n  content: 'Bi-temporal edges supersede facts rather than overwriting them.',\n  project_path: '/Users/me/dev/my-project',\n  summary: 'graph supersession model',\n  tags: ['graph', 'design'],\n});\n\nif ('episode_uid' in result) {\n  console.log('wrote episode', result.episode_uid);\n}\n\nconst hits = await recall('~/.memory/project.db', {\n  query: 'how do we handle superseded facts?',\n  filters: { project_path: '/Users/me/dev/my-project' },\n  limit: 5,\n});\n\nfor (const hit of hits) {\n  console.log(hit.score.toFixed(3), hit.content);\n}\n```\n\n### Managing your own adapter (multiple operations, one connection)\n\n`write()`/`recall()` open and close a fresh connection per call, which is wasteful for a server or\nlong-running process that performs many operations. Open a `StoreAdapter` once and pass it to the\nlower-level `memory*` functions instead:\n\n```typescript\nimport { openDb, memoryWrite, memoryRecall, closeDbWithLease } from '@adhd/sox-memory-core';\n\nconst adapter = await openDb('~/.memory/project.db');\ntry {\n  const w = await memoryWrite(adapter, {\n    content: 'The write queue admits exactly one task per slot in FIFO mode.',\n    project_path: '/Users/me/dev/my-project',\n  });\n\n  const response = await memoryRecall(adapter, 'project', {\n    query: 'write queue admission',\n    filters: { project_path: '/Users/me/dev/my-project' },\n  });\n  console.log(response.results.map((r) => r.uid));\n} finally {\n  await closeDbWithLease(adapter, '~/.memory/project.db');\n}\n```\n\n`openDb()` creates the file if it does not exist, applies pragmas + schema DDL idempotently, and\nreturns a ready-to-use `StoreAdapter` — sqlite or turso, selected by the `STORE_ADAPTER` env var,\nsame as the adapter package itself. `StoreAdapter` is **not** re-exported by this package: it is a\ntype defined in `@adhd/sox-store-adapter` and every `memory*` function below merely accepts the\nvalue `openDb()` gives you back. If you need the type itself (e.g. to annotate your own function's\nparameter), import it directly from that package:\n\n```typescript\nimport type { StoreAdapter } from '@adhd/sox-store-adapter';\n```\n\n## API reference\n\n### Database & lifecycle\n\n```typescript\nfunction openDb(dbPath: string): Promise<StoreAdapter>;\nfunction openDbReadOnly(dbPath: string): Promise<StoreAdapter>;\nfunction closeDbWithLease(adapter: StoreAdapter, dbPath: string): Promise<void>;\nfunction initScope(adapter: StoreAdapter, scope: ScopeKind, scopeId: string): Promise<MemoryScope>;\nfunction expandDbPath(dbPath: string): string; // expands a leading `~` to $HOME\nfunction migrateAddColumn(adapter: StoreAdapter, table: string, column: string, type: string): Promise<void>;\n\ntype ScopeKind = 'project' | 'user' | 'org' | 'local';\n```\n\n### Write, update, invalidate\n\n```typescript\ninterface WriteParams {\n  content: string;\n  project_path: string;        // REQUIRED — never inferred from cwd/env, to avoid silent mis-attribution\n  summary?: string;\n  name?: string;\n  topic?: string;\n  tags?: string[];\n  importance?: number;\n  metadata?: Record<string, unknown>;\n  derived_from_uid?: string;   // emits a DERIVED_FROM edge to a parent episode\n  client_request_id?: string;  // idempotency key — replaying it returns the original result\n  session_id?: string;\n  agent_id?: string;\n  source?: 'message' | 'tool_output' | 'observation' | 'document' | 'reflection' | 'import';\n}\ninterface WriteResult {\n  episode_uid: string;\n  replayed?: boolean;          // true when client_request_id matched an existing write\n  enrichment?: { topic: string | null; project_path: string | null; project_path_source: 'explicit' | 'inferred' };\n}\n\nfunction memoryWrite(adapter: StoreAdapter, params: WriteParams): Promise<WriteResult | WriteError>;\nfunction memoryWriteBatch(adapter: StoreAdapter, items: BatchItem[]): Promise<BatchResult>;\nfunction memoryUpdate(adapter: StoreAdapter, params: UpdateParams): Promise<UpdateResult | UpdateError>;\nfunction memoryInvalidate(adapter: StoreAdapter, params: InvalidateParams): Promise<InvalidateResult | InvalidateError>;\n```\n\n`memoryWrite` embeds and enriches (tags, topic, near-dup detection) synchronously before\nreturning. A write is deduplicated by `content_hash`: writing identical content twice never\ninserts a second row.\n\n```typescript\n// Idempotent write — replaying the same client_request_id returns the original result\n// instead of creating a duplicate episode, even across process restarts.\nconst first = await memoryWrite(adapter, {\n  content: 'Deploy completed for v2.3.0.',\n  project_path: '/Users/me/dev/my-project',\n  client_request_id: 'deploy-notify-v2.3.0',\n});\nconst replay = await memoryWrite(adapter, {\n  content: 'Deploy completed for v2.3.0.',\n  project_path: '/Users/me/dev/my-project',\n  client_request_id: 'deploy-notify-v2.3.0',\n});\n// 'episode_uid' in replay && replay.replayed === true\n```\n\n`memoryUpdate` edits a node in place by `uid` (content/summary changes trigger a re-embed);\n`memoryInvalidate` closes an episode's validity window without deleting it — the store is\nbi-temporal, so history is never destroyed, only marked invalid as of a point in time.\n\n### Recall (hybrid search)\n\n```typescript\ninterface RecallParams {\n  query: string;\n  scopes?: string[];           // default: ['project']\n  agent_id?: string;           // hard filter on memoryRecall; a scoring boost on federatedRecall\n  filters?: Record<string, unknown>; // shaped like MemoryFilter: { project_path, topic, tags, importance_min, ... }\n  as_of?: string;               // bi-temporal point-in-time query\n  token_budget?: number;\n  depth?: number;                // graph-expansion depth (default 1)\n  limit?: number;\n  vec_weight?: number; fts_weight?: number; temporal_weight?: number;\n}\ninterface RecallResult {\n  uid: string;\n  content: string | null;\n  score: number;\n  score_breakdown: { vec: number; bm25: number; temporal: number; total: number };\n  importance: number;\n  t_valid: string | null;\n  expandedText: string;         // content plus depth-1 graph-expanded neighbor context\n}\n\nfunction memoryRecall(adapter: StoreAdapter, scope: string, params: RecallParams): Promise<RecallResponse>;\nfunction federatedRecall(stores: StoreDescriptor[], params: RecallParams): Promise<FederatedRecallResponse>;\n```\n\nEvery result carries a `score_breakdown` — the vector (cosine KNN), BM25 (FTS5), and\ntemporal-recency channels that were fused (via reciprocal rank fusion, k=60) into `score`, so a\ncaller can see *why* a result ranked where it did, not just that it did.\n\n```typescript\n// Federated recall across multiple scoped stores (project + user + org), with\n// per-scope weighting and agent_id as a ranking boost rather than a hard filter.\nimport { federatedRecall } from '@adhd/sox-memory-core';\n\nconst federated = await federatedRecall(\n  [\n    { scope: 'project', dbPath: '~/.memory/project.db' },\n    { scope: 'user', dbPath: '~/.memory/user.db' },\n  ],\n  { query: 'deployment runbook', agent_id: 'deploy-bot', limit: 10 },\n);\n```\n\n### Clustering & communities\n\nDeterministic, byte-reproducible connected-components clustering over cosine similarity — no LLM,\nno network:\n\n```typescript\nimport { clusterStore, clusterStats } from '@adhd/sox-memory-core';\n\nconst result = await clusterStore(adapter, { threshold: 0.87 });\nconsole.log(result); // { clusters: [...], full_pass, unclustered_count, ... }\n\nconst stats = await clusterStats(adapter);\n```\n\nEach `ClusterResult` carries a stable `community_uid` (`sha256` of the sorted member rowids), a\ncentroid-derived label, and a mean intra-cluster similarity quality metric.\n\n### Curation\n\n```typescript\nfunction memoryCurate(adapter: StoreAdapter, args: Record<string, unknown>, wq?: WriteQueue): Promise<CurateResult>;\n```\n\nA single dispatcher for maintenance operations against a live store: retagging, merging\nnear-duplicates, re-clustering a subset or the whole store, re-healing stale/missing vectors,\ndraining the embed backlog, and unpoisoning/acknowledging rows or alarms that a health check\nflagged. `CurateResult` is a discriminated union — inspect `result.op` to see which operation ran.\n\n### Graph reads\n\n```typescript\nfunction memoryLinkNode(adapter: StoreAdapter, args: Record<string, unknown>): Promise<LinkResult>;\nfunction memoryGetRelated(adapter: StoreAdapter, args: Record<string, unknown>): Promise<RelatedResult>;\nfunction memoryGetEntityEpisodes(adapter: StoreAdapter, args: Record<string, unknown>): Promise<EntityEpisodesResult>;\nfunction memoryListEntities(adapter: StoreAdapter, args: Record<string, unknown>): Promise<ListEntitiesResult>;\nfunction memoryGetNearDuplicates(adapter: StoreAdapter, args: Record<string, unknown>): Promise<NearDuplicatesResult>;\nfunction memoryGetSupersessionChain(adapter: StoreAdapter, args: Record<string, unknown>): Promise<SupersessionChainResult>;\nfunction memoryGetSessionState(adapter: StoreAdapter, args: Record<string, unknown>): Promise<GetSessionStateResult>;\nfunction memorySaveSessionState(adapter: StoreAdapter, args: Record<string, unknown>): Promise<SaveSessionStateResult>;\n```\n\n`memoryGetRelated` walks depth-1 graph neighbors; `memoryGetSupersessionChain` does a bidirectional\nBFS over `SUPERSEDES` edges to reconstruct the full history of a fact that has been revised\nmultiple times.\n\n### Domain queries\n\n```typescript\nfunction memoryListTopics(adapter: StoreAdapter, args: Record<string, unknown>): Promise<TopicsResult>;\nfunction memoryListProjects(adapter: StoreAdapter, args: Record<string, unknown>): Promise<ListProjectsResult>;\nfunction memoryGetStats(adapter: StoreAdapter, args: Record<string, unknown>, toolNames: string[]): Promise<StatsResult>;\n```\n\n`memoryGetStats` composes cluster stats, embed pipeline health, and per-record embed provenance\ncounts (how many live episodes are stamped/unstamped/stale/orphaned) into one aggregate — the\nhealth surface a monitoring loop should poll.\n\n### Extended functions — promotion, graphify, communities, entity search\n\n```typescript\nfunction detectPromotionCandidates(adapter: StoreAdapter, config: PromotionConfig | null | undefined, fromScope: string, toScope: string): Promise<PromotionCandidateResult>;\nfunction applyPromotion(srcAdapter: StoreAdapter, dstAdapter: StoreAdapter, nodeUid: string, fromScope: string, toScope: string): Promise<ApplyPromotionResult>;\nfunction graphifyImport(adapter: StoreAdapter, graphJson: unknown, options?: { agent_id?: string }): Promise<GraphifyImportResult | GraphifyImportError>;\nfunction buildCommunities(adapter: StoreAdapter, options?: BuildCommunitiesOptions): Promise<BuildCommunitiesResult>;\nfunction memoryGetCommunity(adapter: StoreAdapter, entity_uid: string, level?: number): Promise<GetCommunitySuccess | GetCommunityError>;\nfunction memorySearchEntities(adapter: StoreAdapter, params: SearchEntitiesParams): Promise<SearchEntitiesResult>;\n```\n\nPromotion detects episodes accessed/mentioned often enough to graduate from one scope to a\nbroader one (e.g. project → org); `buildCommunities` runs deterministic label-propagation\ncommunity detection over the graph.\n\n### Embedding\n\n```typescript\nfunction embed(text: string): Promise<Float32Array>;        // 768-dim, L2-normalized\nfunction warmupEmbed(timeoutMs?: number): Promise<EmbedHealth>;\nfunction getEmbedHealth(): EmbedHealth;\nfunction getActiveEmbedModel(): string | null;\n```\n\n`embed()` delegates to `@adhd/sox-embedding-provider`, which runs the real ONNX model\n(`bge-base-en-v1.5` by default) off the main thread in a worker/child process — no network call is\nmade per embed, and the ONNX runtime is deliberately kept out of the same thread as\n`better-sqlite3` (the two native addons cannot safely share one thread; see the \"Process\nisolation\" note below).\n\n### Operations — backup, quota, compaction\n\n```typescript\nfunction backupStore(dbPath: string, destPath: string, opts?: BackupStoreOptions): Promise<BackupStoreResult | BackupStoreError>;\nfunction checkStoreQuota(adapter: StoreAdapter, config?: QuotaConfig): Promise<QuotaCheckResult>;\nfunction runCompactionPass(adapter: StoreAdapter, opts?: CompactionOptions): Promise<CompactionResult>;\nfunction startCompactionTick(adapter: StoreAdapter, opts?: CompactionOptions): () => void; // returns a stop function\n```\n\n```typescript\nimport { backupStore } from '@adhd/sox-memory-core';\n\n// VACUUM INTO a compacted, single-file copy, then verify its integrity —\n// destPath must live under ~/.memory/** (the same allowlist as the write path).\nconst backup = await backupStore('~/.memory/project.db', '~/.memory/backups/project-2026-08-28.db');\n```\n\n```typescript\nimport { checkStoreQuota, isQuotaRefusal } from '@adhd/sox-memory-core';\n\n// Call before a write path proceeds — E_IO refuses the write outright over the hard limit,\n// never attempting it.\nconst quota = await checkStoreQuota(adapter, { softBytes: 512 * 1024 * 1024, hardBytes: 1024 * 1024 * 1024 });\nif (isQuotaRefusal(quota)) {\n  throw new Error(`store over quota: ${quota.message}`);\n}\n```\n\n## Process isolation (read before running writes + embeddings in one thread)\n\n`openDb()` (better-sqlite3 + sqlite-vec) and a real ONNX embedding call must never run on the same\nthread in the same process — the two native addons share a libpthread mutex that corrupts across\nan async boundary. This library's own `embed()` already delegates to `@adhd/sox-embedding-provider`,\nwhich hosts ONNX in a forked child process / `worker_threads` worker, so a normal call sequence —\n`openDb()` then `await embed(...)` via `memoryWrite`/`memoryRecall` in the same process — is safe as\nlong as you go through this package's exports. Do not bypass that isolation by importing\n`onnxruntime-node` directly into a process that also holds a `better-sqlite3` handle.\n\n## Error taxonomy\n\nEvery `memory*` function that can fail returns a structured `StorageError` rather than throwing a\nraw driver exception:\n\n```typescript\ntype StorageErrorCode = 'E_BUSY' | 'E_IO' | 'E_ALLOWLIST' | 'E_DEDUP' | 'E_NOT_FOUND' | 'E_STORE_MISMATCH';\ninterface StorageError {\n  code: StorageErrorCode;\n  message: string;\n  retryable: boolean;\n  retry_after_ms?: number;\n  details?: Record<string, unknown>;\n}\n```\n\n`wrapDbError(err)` is the single place raw driver exceptions (SQLite- or Turso-shaped) get\ntranslated into this taxonomy — used internally by every write/update/invalidate path.\n\n## Invariants / gotchas\n\n- **`project_path` is required on every write, never inferred.** A write with no explicit\n  `project_path` is rejected with `E_MISSING_PROJECT_PATH` rather than falling back to\n  `cwd`/env-based inference — a long-lived server process's `process.cwd()` cannot reflect a\n  caller's live working directory, and silent mis-attribution is worse than a loud rejection.\n  (Reads are unaffected — omitting `project_path` on a recall/topics/etc. call is a valid \"search\n  every project\" request.)\n- **Writes are two-phase.** `memoryWrite()` is the synchronous composition most callers want, but\n  internally Phase A (dedup, node insert, FTS, sync enrichment) commits before embedding runs;\n  Phase B computes the vector off the write-queue slot. A crash between phases is healed by the\n  periodic `healMissingVectors` tick, and the current backlog is visible via `embedBacklogStats(adapter)`.\n- **Dedup is by `content_hash`, and a write never deletes.** Writing identical content twice\n  returns the original episode; correcting a fact mints a new episode and links it via\n  `SUPERSEDES` rather than mutating history.\n- **`multiprocessWrite`/`needsWriteSerialization` come from the underlying adapter, not from this\n  package** — see `@adhd/sox-store-adapter`'s capability flags to check which mode a given\n  `StoreAdapter` instance is actually running in.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}