{"_id":"@slashml/memory","_rev":"20-4bf6e2d7e747ef91f8d44191ea1050d1","name":"@slashml/memory","dist-tags":{"latest":"1.0.14"},"versions":{"1.0.4":{"name":"@slashml/memory","version":"1.0.4","keywords":["slashml","memory","agent-memory","mem0","mcp","langgraph","semantic-memory"],"license":"Apache-2.0","_id":"@slashml/memory@1.0.4","maintainers":[{"name":"thanhslashml","email":"thanh@fractionml.com"}],"homepage":"https://slashml.ai","bugs":{"url":"https://github.com/slashml-ai/ml-memory/issues"},"bin":{"memory":"bin/cli.js","slashml-memory":"bin/cli.js"},"dist":{"shasum":"2f32c7b24aab63de2c2af384c9231f054b0e6c4a","tarball":"https://registry.npmjs.org/@slashml/memory/-/memory-1.0.4.tgz","fileCount":8,"integrity":"sha512-a61neN4Y2higGcHB0nAn861E9oKPuEZALGkYP4B8wHePKHQ+GvzTzLtOY7Y+XZpq+DeHiNcxn6OCANl1K11yEQ==","signatures":[{"sig":"MEUCICW4M5nXbVmBUNPfXk/Dp26Kbal7Z1XaOOVWQzEVUNvxAiEAk9CytmNY7ZJDghz5I2e/7JXcPy6eFFEoDGG8YoqNOZA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAZ8Z2rs0mCy3ZUyBqXLXfUtdsVmke12tQNbl/LH6CCpAiBRAKgzVJRM6TjI3lZ4/FgdQCbWm+P08wewiG4tqd9x8g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":122916},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"f7858dfdee6257751b439ea829f20b0da870d77d","scripts":{"test":"node --test test/sdk.test.js"},"_npmUser":{"name":"thanhslashml","email":"thanh@fractionml.com"},"repository":{"url":"git+https://github.com/slashml-ai/ml-memory.git","type":"git","directory":"typescript"},"_npmVersion":"10.9.7","description":"/ ml (SlashML): Sub-Millisecond Stateful Agent & Code Memory SDK for TypeScript & Node.js","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/memory_1.0.4_1793491796215_0.41311393246148287","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@slashml/memory","version":"1.0.5","keywords":["slashml","memory","agent-memory","mem0","mcp","langgraph","semantic-memory"],"license":"Apache-2.0","_id":"@slashml/memory@1.0.5","maintainers":[{"name":"thanhslashml","email":"thanh@fractionml.com"}],"homepage":"https://slashml.ai","bugs":{"url":"https://github.com/slashml-ai/ml-memory/issues"},"bin":{"memory":"bin/cli.js","slashml-memory":"bin/cli.js"},"dist":{"shasum":"1d68ef91b4a948ae9a12b2e1c73aa60b37ad3f26","tarball":"https://registry.npmjs.org/@slashml/memory/-/memory-1.0.5.tgz","fileCount":8,"integrity":"sha512-V8LReQNzk5Y4+dRWuLb7z/YsO4H7OXLqmnHHMQnY4/rmFDhxWWooHuhVsABuIKbttNXgvYBjeO2ztOeYGg8Idw==","signatures":[{"sig":"MEYCIQDmq7B0XzTzqIy8rNx2zgtgKOjsGBJPDeDL91y/a3EiawIhAPSTapmFRDDwDHRCrEzU0GwGlfTQEVc/bl8CyzgSTr8v","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICtdH2Mn9bkYljKQ2UikEfYzJWmMM7Z2gkRZygH0ZeNeAiBePwa7SGcbEPTTk1iFJSuq6RQpHdIMA7QW73BK3yQ6Og==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":141458},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"test":"node --test test/sdk.test.js"},"_npmUser":{"name":"thanhslashml","email":"thanh@fractionml.com"},"repository":{"url":"git+https://github.com/slashml-ai/ml-memory.git","type":"git","directory":"typescript"},"_npmVersion":"10.9.7","description":"/ ml (SlashML): Sub-Millisecond Stateful Agent & Code Memory SDK for TypeScript & Node.js","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/memory_1.0.5_1793596114875_0.8857588233376116","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@slashml/memory","version":"1.0.6","keywords":["slashml","memory","agent-memory","mem0","mcp","langgraph","semantic-memory"],"license":"Apache-2.0","_id":"@slashml/memory@1.0.6","maintainers":[{"name":"thanhslashml","email":"thanh@fractionml.com"}],"homepage":"https://slashml.ai","bugs":{"url":"https://github.com/slashml-ai/ml-memory/issues"},"bin":{"memory":"bin/cli.js","slashml-memory":"bin/cli.js"},"dist":{"shasum":"27efbc15567e33c8712e12eca0f2acadeffd79a4","tarball":"https://registry.npmjs.org/@slashml/memory/-/memory-1.0.6.tgz","fileCount":8,"integrity":"sha512-t28fCmYyA9a8hI4JNqlE+zSDiHSY1SgDB+3HxZOHHImpNLsD/Ny1RjlMpwMK2ceHC/IPt5LgYbpbCjRNQlcVcg==","signatures":[{"sig":"MEUCIA51asXYdtHfOyFj7V2SOg85aiGy8Veo/5CuZK3RKqHeAiEA0+b80SBJgB1Q58jjP27f5SSua7ursZ75pkdBvN5HnjM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQClrxuCBN8bDT2OZ2o6sSqZ4G1zmCt/CWZ0vgrBOkRgnwIgHnAJyEu7klJhRwm8lhpJYwhicRYBjYY4U7nNWrPTMLU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":145200},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"test":"node --test test/sdk.test.js"},"_npmUser":{"name":"thanhslashml","email":"thanh@fractionml.com"},"repository":{"url":"git+https://github.com/slashml-ai/ml-memory.git","type":"git","directory":"typescript"},"_npmVersion":"10.9.7","description":"/ ml (SlashML): Sub-Millisecond Stateful Agent & Code Memory SDK for TypeScript & Node.js","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/memory_1.0.6_1793665106131_0.6763540691728458","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@slashml/memory","version":"1.0.7","keywords":["slashml","memory","agent-memory","mem0","mcp","langgraph","semantic-memory"],"license":"Apache-2.0","_id":"@slashml/memory@1.0.7","maintainers":[{"name":"thanhslashml","email":"thanh@fractionml.com"}],"homepage":"https://slashml.ai","bugs":{"url":"https://github.com/slashml-ai/ml-memory/issues"},"bin":{"memory":"bin/cli.js","slashml-memory":"bin/cli.js"},"dist":{"shasum":"625ad5a06f305d2528a6f4b26d0a0dacc1b78cd8","tarball":"https://registry.npmjs.org/@slashml/memory/-/memory-1.0.7.tgz","fileCount":8,"integrity":"sha512-78pn7SVkwCenVj/epGNYnJtDTm8EH9qzi5m1+ryRJU+VsFT3vSo8Nx3VqbXp+8xdfrKqBlJEQEdUvEoRtQXIKQ==","signatures":[{"sig":"MEUCIHdWPumJ/hXgaIaUOBcIr0E3OoFhjwvKwtg7wgMKJOLMAiEAjZ/KSVn9jiK+0H4oI0VG9K2LVzT5uGCDmXs1RJN0M3k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD4opRZiUwWONd4IvGU5wzwJhOm3e8NxlUFYG2igPhlHgIhAPQ+PtTAyS30JhG2c7Np5IF2KbubRwcAn3Sp0m1PsKyx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":145766},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"05f94fa67b613238e2cf2c113a0ddd421a6b38cf","scripts":{"test":"node --test test/sdk.test.js"},"_npmUser":{"name":"thanhslashml","email":"thanh@fractionml.com"},"repository":{"url":"git+https://github.com/slashml-ai/ml-memory.git","type":"git","directory":"typescript"},"_npmVersion":"10.9.7","description":"/ ml (SlashML): Sub-Millisecond Stateful Agent & Code Memory SDK for TypeScript & Node.js","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/memory_1.0.7_1793743487614_0.20967255542349172","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@slashml/memory","version":"1.0.8","keywords":["slashml","memory","agent-memory","mem0","mcp","langgraph","semantic-memory"],"license":"Apache-2.0","_id":"@slashml/memory@1.0.8","maintainers":[{"name":"thanhslashml","email":"thanh@fractionml.com"}],"homepage":"https://slashml.ai","bugs":{"url":"https://github.com/slashml-ai/ml-memory/issues"},"bin":{"memory":"bin/cli.js","slashml-memory":"bin/cli.js"},"dist":{"shasum":"dbeff8a60276b9b0a9c9960efd0260013586441c","tarball":"https://registry.npmjs.org/@slashml/memory/-/memory-1.0.8.tgz","fileCount":8,"integrity":"sha512-xTZeEttTYeipePWso0WU/Mgy+4I6Bn9xLdmLKtFM+zxJGzI1DT26ywF2SPbMiu+htaP49J7FhK4nDt5FNFaQww==","signatures":[{"sig":"MEYCIQCQltqvpBPqBr2aOAWdSWPMrzSSQs2//2US7F+J02ONpwIhAMNyGE6oYtPXwaWWhj7PXtBg+ezUZto+wSpuae+uWm65","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAPsTOlQCToCA38jQ6c+tnWKDoFWWJJnbnZekS7sxNdAAiB45lTbQWHEiBFuoYFGSJkGpgHTrB1293BEudwFf+YokA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":145685},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"05f94fa67b613238e2cf2c113a0ddd421a6b38cf","scripts":{"test":"node --test test/sdk.test.js"},"_npmUser":{"name":"thanhslashml","email":"thanh@fractionml.com"},"repository":{"url":"git+https://github.com/slashml-ai/ml-memory.git","type":"git","directory":"typescript"},"_npmVersion":"10.9.7","description":"Official HTTP TypeScript & Node.js SDK for / ml (https://api.slashml.ai)","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/memory_1.0.8_1793744159977_0.5853957359431469","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@slashml/memory","version":"1.0.9","keywords":["slashml","memory","agent-memory","mem0","mcp","langgraph","semantic-memory"],"license":"Apache-2.0","_id":"@slashml/memory@1.0.9","maintainers":[{"name":"thanhslashml","email":"thanh@fractionml.com"}],"homepage":"https://slashml.ai","bugs":{"url":"https://github.com/slashml-ai/ml-memory/issues"},"bin":{"memory":"bin/cli.js","slashml-memory":"bin/cli.js"},"dist":{"shasum":"08e32efc5417fabbad86e107688c48182ab93404","tarball":"https://registry.npmjs.org/@slashml/memory/-/memory-1.0.9.tgz","fileCount":8,"integrity":"sha512-QZGwIWnDb+tv6yjhY87Z9KoOUwEQEKvXspnesGOcMQOtRIGQSBhGa1bt9zX4q1njKIeu1/pAQj6asXwT8xjsZw==","signatures":[{"sig":"MEUCID/2/D4t0TIPlJBgIWmgFaJmUdfa3D1EH8fI4/x9e26FAiEAgNouiyjvnE8MRFbFJe5cGyy/PSYjfCEupzF8tmb22Ew=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCYA91FSaYObKCgeq4c5eA2DFto9OAkMGKH+/7TdGGNYAIhAMDH43WRwXM274MQDjhWvTLBQBwFOPyoHtWN1aktCY+9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":189072},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"e1d1ebaddc78c0a3a8202ed2f2f5ca81101c2e7f","scripts":{"test":"node --test test/sdk.test.js","build":"tsc && node -e \"const fs = require('node:fs'); const code = 'import { createRequire } from \\\"node:module\\\";\\nconst require = createRequire(import.meta.url);\\nconst cjs = require(\\\"./index.js\\\");\\n\\nexport const {\\n  DEFAULT_BASE_URL,\\n  DEFAULT_MODEL,\\n  DEFAULT_TIMEOUT_MS,\\n  RuleScope,\\n  SlashMLAPIError,\\n  ProjectManager,\\n  MemoryClient,\\n  Memory,\\n  AsyncMemoryClient,\\n  AsyncMemory,\\n  SlashMLMemory,\\n  SlashMLClient,\\n  AsyncSlashMLMemory,\\n  AsyncSlashMLClient,\\n  extractCanonicalSlotKey,\\n  compileContrastiveRule,\\n  formatCacheAlignedPrompt,\\n} = cjs;\\n\\nexport default cjs;\\n'; fs.writeFileSync('dist/index.mjs', code);\""},"_npmUser":{"name":"thanhslashml","email":"thanh@fractionml.com"},"repository":{"url":"git+https://github.com/slashml-ai/ml-memory.git","type":"git","directory":"typescript"},"_npmVersion":"10.9.7","description":"Official HTTP TypeScript & Node.js SDK for / ml (https://api.slashml.ai)","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/memory_1.0.9_1793853451528_0.6048673049416476","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@slashml/memory","version":"1.0.10","keywords":["slashml","memory","agent-memory","mem0","mcp","langgraph","semantic-memory"],"license":"Apache-2.0","_id":"@slashml/memory@1.0.10","maintainers":[{"name":"thanhslashml","email":"thanh@fractionml.com"}],"homepage":"https://slashml.ai","bugs":{"url":"https://github.com/slashml-ai/ml-memory/issues"},"bin":{"memory":"bin/cli.js","slashml-memory":"bin/cli.js"},"dist":{"shasum":"25e3d4c503125f639b0a7203a24a1424e79849d5","tarball":"https://registry.npmjs.org/@slashml/memory/-/memory-1.0.10.tgz","fileCount":8,"integrity":"sha512-WbKgFazWnlKC65HLrze6IHp+e14jUm6OHrZs2pBSb4peCZ1xi+J0rdQOmhjKGln1VGLyBKwBwnsJoupXJaw7ag==","signatures":[{"sig":"MEQCIHkYK+sXNG9LBwVoBsf+rIFiz0ru54My2Yhvr7huE6YMAiA4yjx9dM4Sjw2u94U+uKK9/4pG1V6pvWLA5Q8fP/uLyA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIEy1H23/hb2wKCYCRHw1E6W+zSZqW97Le9TRwrKHMoupAiEAmoW4PyVE7Kf4NbIaNQXxdCwkquQVzDnhoXHdwRXhN3Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":195515},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"da5a401e2423e18f671891c482ecb70c18ca2eea","scripts":{"test":"node --test test/sdk.test.js","build":"tsc && node -e \"const fs = require('node:fs'); const code = 'import { createRequire } from \\\"node:module\\\";\\nconst require = createRequire(import.meta.url);\\nconst cjs = require(\\\"./index.js\\\");\\n\\nexport const {\\n  DEFAULT_BASE_URL,\\n  DEFAULT_MODEL,\\n  DEFAULT_TIMEOUT_MS,\\n  RuleScope,\\n  SlashMLAPIError,\\n  ProjectManager,\\n  MemoryClient,\\n  Memory,\\n  AsyncMemoryClient,\\n  AsyncMemory,\\n  SlashMLMemory,\\n  SlashMLClient,\\n  AsyncSlashMLMemory,\\n  AsyncSlashMLClient,\\n  extractCanonicalSlotKey,\\n  compileContrastiveRule,\\n  formatCacheAlignedPrompt,\\n} = cjs;\\n\\nexport default cjs;\\n'; fs.writeFileSync('dist/index.mjs', code);\""},"_npmUser":{"name":"thanhslashml","email":"thanh@fractionml.com"},"repository":{"url":"git+https://github.com/slashml-ai/ml-memory.git","type":"git","directory":"typescript"},"_npmVersion":"10.9.7","description":"Official HTTP TypeScript & Node.js SDK for / ml (https://api.slashml.ai)","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/memory_1.0.10_1794120926434_0.29475159247031135","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"@slashml/memory","version":"1.0.11","keywords":["slashml","memory","agent-memory","mem0","mcp","langgraph","semantic-memory"],"license":"Apache-2.0","_id":"@slashml/memory@1.0.11","maintainers":[{"name":"thanhslashml","email":"thanh@fractionml.com"}],"homepage":"https://slashml.ai","bugs":{"url":"https://github.com/slashml-ai/ml-memory/issues"},"bin":{"memory":"bin/cli.js","slashml-memory":"bin/cli.js"},"dist":{"shasum":"e83e65969118265c6546c9f9f963a01dddad7027","tarball":"https://registry.npmjs.org/@slashml/memory/-/memory-1.0.11.tgz","fileCount":8,"integrity":"sha512-mlRLQy5uu3bfBNlMEYexho34bQeiNXBE7UCbyffqcEHgWLQVS1E5dJZnltyefeWsAo8sgduAq2dyJb8giiSERg==","signatures":[{"sig":"MEUCIBcSjvKvf3c8jzvVtSLVETOMRSVXd/8+lk/U0v/xNgL/AiEA/DZb3lurjNeCIYY5+moGhw5XnIg8HdCn67yCpOAaOgo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDn+PWyDgSn0OQyToAN37TBz8z203PSYshUR39GUvjtqAIhAMHiFnch5h7h2ehXzzWHKahGROMW6CFwkQT3R/iFxErt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":187845},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"cae02129d331c43e6d4f4de41331a831bcd6a941","scripts":{"test":"node --test test/sdk.test.js","build":"tsc && node -e \"const fs = require('node:fs'); const code = 'import { createRequire } from \\\"node:module\\\";\\nconst require = createRequire(import.meta.url);\\nconst cjs = require(\\\"./index.js\\\");\\n\\nexport const {\\n  DEFAULT_BASE_URL,\\n  DEFAULT_MODEL,\\n  DEFAULT_TIMEOUT_MS,\\n  SlashMLAPIError,\\n  ProjectManager,\\n  MemoryClient,\\n  Memory,\\n  AsyncMemoryClient,\\n  AsyncMemory,\\n  SlashMLMemory,\\n  SlashMLClient,\\n  AsyncSlashMLMemory,\\n  AsyncSlashMLClient,\\n} = cjs;\\n\\nexport default cjs;\\n'; fs.writeFileSync('dist/index.mjs', code);\""},"_npmUser":{"name":"thanhslashml","email":"thanh@fractionml.com"},"repository":{"url":"git+https://github.com/slashml-ai/ml-memory.git","type":"git","directory":"typescript"},"_npmVersion":"10.9.7","description":"Official HTTP TypeScript & Node.js SDK for / ml (https://api.slashml.ai)","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/memory_1.0.11_1794176703971_0.8599678935464747","host":"s3://npm-registry-packages-npm-production"}},"1.0.12":{"name":"@slashml/memory","version":"1.0.12","keywords":["slashml","memory","agent-memory","mem0","mcp","langgraph","semantic-memory"],"license":"Apache-2.0","_id":"@slashml/memory@1.0.12","maintainers":[{"name":"thanhslashml","email":"thanh@fractionml.com"}],"homepage":"https://slashml.ai","bugs":{"url":"https://github.com/slashml-ai/ml-memory/issues"},"bin":{"memory":"bin/cli.js","slashml-memory":"bin/cli.js"},"dist":{"shasum":"146ba2a2af1c675df464675f4b1eecc199a61281","tarball":"https://registry.npmjs.org/@slashml/memory/-/memory-1.0.12.tgz","fileCount":8,"integrity":"sha512-ynpAgb3wsTfM8r8O473SYzkPInQ45kSqDUBeYXxfqwy8yGVHCJCJmqEPhxIRKNmQM2kwYdujovDoGoKFr1xVdA==","signatures":[{"sig":"MEQCICHlDSwicZL4w8Ate7buEtnFZgqT3pyDbIako0F+rRfSAiBrF8SAcKRUr+3rlBXho9l8aLkJj1ZtwE4VYkR9t3ApaA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIERHT4iqOPHsw1aX7/4CU4LrCRXBwzdm0V0gljaQGlDiAiBze2ectmxZMJjttR3yi/fqF1tV7+KhjhireVr97Nh2NQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":213740},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"4fcb0a820faf98516b9b79c1ea7b36327444d0b8","scripts":{"test":"node --test test/sdk.test.js","build":"tsc && node -e \"const fs = require('node:fs'); const code = 'import { createRequire } from \\\"node:module\\\";\\nconst require = createRequire(import.meta.url);\\nconst cjs = require(\\\"./index.js\\\");\\n\\nexport const {\\n  DEFAULT_BASE_URL,\\n  DEFAULT_MODEL,\\n  DEFAULT_TIMEOUT_MS,\\n  SlashMLAPIError,\\n  ProjectManager,\\n  MemoryClient,\\n  Memory,\\n  AsyncMemoryClient,\\n  AsyncMemory,\\n  SlashMLMemory,\\n  SlashMLClient,\\n  AsyncSlashMLMemory,\\n  AsyncSlashMLClient,\\n} = cjs;\\n\\nexport default cjs;\\n'; fs.writeFileSync('dist/index.mjs', code);\""},"_npmUser":{"name":"thanhslashml","email":"thanh@fractionml.com"},"repository":{"url":"git+https://github.com/slashml-ai/ml-memory.git","type":"git","directory":"typescript"},"_npmVersion":"10.9.7","description":"Official HTTP TypeScript & Node.js SDK for / ml (https://api.slashml.ai)","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/memory_1.0.12_1794336190717_0.13896921289734188","host":"s3://npm-registry-packages-npm-production"}},"1.0.13":{"name":"@slashml/memory","version":"1.0.13","keywords":["slashml","memory","agent-memory","mem0","mcp","langgraph","semantic-memory"],"license":"Apache-2.0","_id":"@slashml/memory@1.0.13","maintainers":[{"name":"thanhslashml","email":"thanh@fractionml.com"}],"homepage":"https://slashml.ai","bugs":{"url":"https://github.com/slashml-ai/ml-memory/issues"},"bin":{"memory":"bin/cli.js","slashml-memory":"bin/cli.js"},"dist":{"shasum":"666b198dce368df501b3162a9247ffd154609966","tarball":"https://registry.npmjs.org/@slashml/memory/-/memory-1.0.13.tgz","fileCount":8,"integrity":"sha512-M3bBnw6h11iLQIjEYuxQw44YPcqEBRgwk7axQFgdenx7rZWexA6b5OM90cfBEt0stSMlA35VwYfDTJtInGMUrw==","signatures":[{"sig":"MEUCIQC79lU84QbGb9SK/iWLafDi4o5qZWsRWSDgAd44m9uW8AIgbcLTkFfLI2fNyCALdWnu629PL2nTOzq0s4BAf/xH8e0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDDWEFhCRxvseRZACpVW6t9EhKyEgYexnHxU6Gc59UstgIhAMTISiyadzkzNqMUn561iNBMFV/oGuwFlWX+jjcOZY4N","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":219297},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"d261e0bce9d1c3f5dbfddbf0c64b4b1b85060e8f","scripts":{"test":"node --test test/sdk.test.js","build":"tsc && node -e \"const fs = require('node:fs'); const code = 'import { createRequire } from \\\"node:module\\\";\\nconst require = createRequire(import.meta.url);\\nconst cjs = require(\\\"./index.js\\\");\\n\\nexport const {\\n  DEFAULT_BASE_URL,\\n  DEFAULT_MODEL,\\n  DEFAULT_TIMEOUT_MS,\\n  SlashMLAPIError,\\n  ProjectManager,\\n  MemoryClient,\\n  Memory,\\n  AsyncMemoryClient,\\n  AsyncMemory,\\n  SlashMLMemory,\\n  SlashMLClient,\\n  AsyncSlashMLMemory,\\n  AsyncSlashMLClient,\\n} = cjs;\\n\\nexport default cjs;\\n'; fs.writeFileSync('dist/index.mjs', code);\""},"_npmUser":{"name":"thanhslashml","email":"thanh@fractionml.com"},"repository":{"url":"git+https://github.com/slashml-ai/ml-memory.git","type":"git","directory":"typescript"},"_npmVersion":"10.9.7","description":"Official HTTP TypeScript & Node.js SDK for / ml (https://api.slashml.ai)","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/memory_1.0.13_1794385340310_0.9687504483603295","host":"s3://npm-registry-packages-npm-production"}},"1.0.14":{"_id":"@slashml/memory@1.0.14","bin":{"memory":"bin/cli.js","slashml-memory":"bin/cli.js"},"bugs":{"url":"https://github.com/slashml-ai/ml-memory/issues"},"dist":{"shasum":"b5ec95b4927696b513ad804e1cb9ec88eeb53ff9","tarball":"https://registry.npmjs.org/@slashml/memory/-/memory-1.0.14.tgz","fileCount":8,"integrity":"sha512-s6lZ1Ja0koLNyeq2VcNtcHA2B00IN0EeFMKN+glAZCHMJ97ff4ziEjE/jG5CIcgCpbEoC67agg+UN64xI2tu0w==","signatures":[{"sig":"MEQCIE2r5H7fD/raP0tNTcU7Qnijkn9lvQeMscKSYa2Kp2TUAiAzgA3Wqtl4wazSeV/N8V8y7N7O/5OjscE9V6JuxwYcNQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHtKmlLNC9COHZBJ+i50eAS8CDYcBUosxm27dQwRVzuNAiBFBkIdhuwVKujXINRmTQGENpbWHTqetCI90RMw7PgytA=="}],"unpackedSize":270426},"main":"./dist/index.js","name":"@slashml/memory","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"0441b798f41578b8909f3590a59152ee7e30ec4c","license":"Apache-2.0","scripts":{"test":"node --test test/sdk.test.js","build":"tsc && node -e \"const fs = require('node:fs'); const code = 'import { createRequire } from \\\"node:module\\\";\\nconst require = createRequire(import.meta.url);\\nconst cjs = require(\\\"./index.js\\\");\\n\\nexport const {\\n  DEFAULT_BASE_URL,\\n  DEFAULT_MODEL,\\n  DEFAULT_TIMEOUT_MS,\\n  SlashMLAPIError,\\n  ProjectManager,\\n  AgentsManager,\\n  MemoryClient,\\n  Memory,\\n  AsyncMemoryClient,\\n  AsyncMemory,\\n  SlashMLMemory,\\n  SlashMLClient,\\n  AsyncSlashMLMemory,\\n  AsyncSlashMLClient,\\n} = cjs;\\n\\nexport default cjs;\\n'; fs.writeFileSync('dist/index.mjs', code);\""},"version":"1.0.14","_npmUser":{"name":"thanhslashml","email":"thanh@fractionml.com"},"homepage":"https://slashml.ai","keywords":["slashml","memory","agent-memory","mem0","mcp","langgraph","semantic-memory"],"repository":{"url":"git+https://github.com/slashml-ai/ml-memory.git","type":"git","directory":"typescript"},"_npmVersion":"10.9.7","description":"Official HTTP TypeScript & Node.js SDK for / ml (https://api.slashml.ai)","directories":{},"maintainers":[{"name":"thanhslashml","email":"thanh@fractionml.com"}],"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/memory_1.0.14_1794685460711_0.9233931446816996"}}},"time":{"created":"2026-10-28T17:07:42.961Z","modified":"2026-11-14T19:44:21.242Z","0.0.0-stage":"2026-10-28T17:07:42.961Z","1.0.0":"2026-10-28T17:08:44.662Z","1.0.1":"2026-10-28T17:47:05.322Z","1.0.3":"2026-10-29T07:09:58.611Z","1.0.4":"2026-11-01T00:09:56.299Z","1.0.5":"2026-11-02T05:08:34.967Z","1.0.6":"2026-11-03T00:18:26.242Z","1.0.7":"2026-11-03T22:04:47.745Z","1.0.8":"2026-11-03T22:16:00.065Z","1.0.9":"2026-11-05T04:37:31.630Z","1.0.10":"2026-11-08T06:55:26.531Z","1.0.11":"2026-11-08T22:25:04.044Z","1.0.12":"2026-11-10T18:43:10.826Z","1.0.13":"2026-11-11T08:22:20.404Z","1.0.14":"2026-11-14T19:44:20.868Z"},"bugs":{"url":"https://github.com/slashml-ai/ml-memory/issues"},"license":"Apache-2.0","homepage":"https://slashml.ai","keywords":["slashml","memory","agent-memory","mem0","mcp","langgraph","semantic-memory"],"repository":{"url":"git+https://github.com/slashml-ai/ml-memory.git","type":"git","directory":"typescript"},"description":"Official HTTP TypeScript & Node.js SDK for / ml (https://api.slashml.ai)","maintainers":[{"name":"thanhslashml","email":"thanh@fractionml.com"}],"readme":"# `@slashml/memory` -- TypeScript / Node.js SDK\n\nOfficial TypeScript & Node.js client and MCP launcher for the **/ ml** Memory Cloud API (`https://api.slashml.ai`).\n\n## Installation\n\n```bash\nnpm install @slashml/memory\n```\n\nConfigure your API key in the environment:\n\n```bash\nexport SLASHML_API_KEY=\"sml_live_...\"\n```\n\n## Quickstart (Mem0 Drop-in Replacement)\n\n```typescript\nimport { Memory } from \"@slashml/memory\";\n\nconst m = new Memory({ apiKey: process.env.SLASHML_API_KEY });\n\n// Add a memory\nawait m.add(\"User prefers TypeScript with strict mode enabled\", {\n  user_id: \"alice\",\n  metadata: { topic: \"preferences\" },\n});\n\n// Search memories\nconst results = await m.search(\"What language settings does Alice prefer?\", {\n  user_id: \"alice\",\n  limit: 5,\n});\nconsole.log(results);\n```\n\n## Native `/ ml` Memory API (`ingest` / `query` / `forget`)\n\n```typescript\nimport { MemoryClient } from \"@slashml/memory\";\n\nconst client = new MemoryClient({\n  apiKey: process.env.SLASHML_API_KEY,\n  model: \"slashml-1.5-pro\", // or \"slashml-1.5-fast\"\n});\n\n// 1. Ingest documents into a namespace\nawait client.ingest(\n  [\n    \"Project Atlas uses JWT RS256 tokens signed by the auth-gateway service.\",\n    \"Refresh tokens expire after 7 days and are rotated on every use.\",\n  ],\n  { namespace: \"repo:atlas\" }\n);\n\n// 2. Query the memory store\nconst answer = await client.query(\"How are JWT tokens signed and rotated?\", {\n  namespace: \"repo:atlas\",\n});\nconsole.log(answer);\n\n// 3. Delete a memory\nawait client.forget(\"Refresh tokens expire after 7 days\", {\n  namespace: \"repo:atlas\",\n});\n```\n\n## One-Command MCP & Ambient Hook Setup for Coding Agents\n\nInstall the `/ ml` MCP server into Cursor, Claude Code, or Windsurf:\n\n```bash\nnpx @slashml/memory --init --skill cursor --api-key \"$SLASHML_API_KEY\"\n```\n\nInstall ambient lifecycle hooks (`UserPromptSubmit`, `PreToolUse`, `PostToolUse`, `Stop`) into `~/.claude/settings.json`:\n\n```bash\nnpx @slashml/memory --install-hooks --api-key \"$SLASHML_API_KEY\"\n```\n\nOr evaluate an agent action / prompt programmatically via `client.intervene()`:\n\n```typescript\nconst decision = await client.intervene(\"aws ec2 run-instances --placement AvailabilityZone=us-east-1b\", {\n  hookEventName: \"PreToolUse\",\n  toolName: \"Bash\",\n  userId: \"team_infra\",\n});\n```\n\n## Inline Redaction & Per-Agent Read/Write Access Control\n\n```typescript\nimport { Memory } from \"@slashml/memory\";\n\nconst admin = new Memory({ apiKey: process.env.SLASHML_API_KEY });\n\n// Set workspace redaction defaults & configure a read-only agent policy\nawait admin.setRedactionPolicy({\n  redactPolicy: \"tier1_secrets\",\n  redactScope: \"recall_only\",\n  accessMode: \"read_write\",\n});\nawait admin.agents.set(\"support_triage_bot\", {\n  accessMode: \"read_only\",\n  redactPolicy: \"gdpr\",\n  redactScope: \"recall_only\",\n});\n\n// Scoped agent client attaches X-SlashML-Agent-Id automatically\nconst triage = new Memory({\n  apiKey: process.env.SLASHML_API_KEY,\n  agentId: \"support_triage_bot\",\n});\nconst masked = await triage.redact({ text: \"Contact alice@acme.io for billing\" });\nconst hits = await triage.search(\"Who handles billing?\", { userId: \"alice\" });\n```\n\n---\n\n## License\n\nApache-2.0\n","readmeFilename":"README.md"}