{"_id":"counterparts","_rev":"56-323bd66bca49beb135a4413c4c2b61e0","name":"counterparts","dist-tags":{"latest":"0.3.54"},"versions":{"0.1.0":{"name":"counterparts","version":"0.1.0","keywords":["memory","ai","claude","mcp","local-first"],"license":"MIT","_id":"counterparts@0.1.0","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://github.com/mlapeter/counterparts#readme","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.ts","counterparts-mcp":"src/adapters/mcp/bin/serve.ts","counterparts-hook":"src/adapters/claude-code/bin/hook.ts","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.ts"},"dist":{"shasum":"9bd3ae1ba06e2d7d96030f34776f2d834dacf018","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.1.0.tgz","fileCount":195,"integrity":"sha512-t99G+hpWVNElh8LoigBD4Zp0fCHZryVQ+Rdp/ZFiUgZYZQOUZlhEFlCciRGA7xMNDMB6AZpObX60eZ9IY/ztzQ==","signatures":[{"sig":"MEYCIQCnpJv9oSAUQuLl0RpkRjmPNSeyLa2jMObsqQB21VtfkwIhAMFpRnMjadypcVjkwN6NI2/Yad5byTcziQijKVeCLox7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4433430},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-09-21-npm-publish/counterparts-0.1.0.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"scripts":{"test":"bun test","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-09-21-npm-publish/counterparts-0.1.0.tgz","_integrity":"sha512-t99G+hpWVNElh8LoigBD4Zp0fCHZryVQ+Rdp/ZFiUgZYZQOUZlhEFlCciRGA7xMNDMB6AZpObX60eZ9IY/ztzQ==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Memory that turns AI tools into counterparts - a local-first, human-memory-modeled memory layer for AI.","directories":{},"_nodeVersion":"20.19.1","_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.1.0_1790008947592_0.6424565484487195","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"counterparts","version":"0.2.0","keywords":["memory","ai","claude","mcp","local-first"],"license":"MIT","_id":"counterparts@0.2.0","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://github.com/mlapeter/counterparts#readme","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.ts","counterparts-mcp":"src/adapters/mcp/bin/serve.ts","counterparts-hook":"src/adapters/claude-code/bin/hook.ts","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.ts"},"dist":{"shasum":"8343ae3cd88d71d3184ac1b9694da417dc8c1266","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.2.0.tgz","fileCount":201,"integrity":"sha512-mjqk54JL6XDrQuolWg51LSZb5wZzc9ajBG21bqDHyotiZQdHo48TJ0GaPJGY5H4wwydW0u1pi9cua+dzVpGkpg==","signatures":[{"sig":"MEQCIAWurLotlACeMSL6GenJHgEmysiG7HU7415S7L9/PqghAiAPIukJx4ZiZJY4jwd/51YZ3z3Mv1uQQ6zh2rZsmdfPSA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICP0vLNramFkrZ91uaqWh97W9neOgHdjz2y7Ja8/to//AiA/NF4Tlk6zGHSUUjWzvvdZpHZ9/latgFajhnAhs0+AYA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4890647},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-09-22-0.2.0-trial/counterparts-0.2.0.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"scripts":{"test":"bun test","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-09-22-0.2.0-trial/counterparts-0.2.0.tgz","_integrity":"sha512-mjqk54JL6XDrQuolWg51LSZb5wZzc9ajBG21bqDHyotiZQdHo48TJ0GaPJGY5H4wwydW0u1pi9cua+dzVpGkpg==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Memory that turns AI tools into counterparts - a local-first, human-memory-modeled memory layer for AI.","directories":{},"_nodeVersion":"20.19.1","_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.2.0_1790103116709_0.9181898508896311","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"counterparts","version":"0.3.0","keywords":["memory","ai","claude","mcp","local-first"],"license":"MIT","_id":"counterparts@0.3.0","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.ts","counterparts-mcp":"src/adapters/mcp/bin/serve.ts","counterparts-hook":"src/adapters/claude-code/bin/hook.ts","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.ts"},"dist":{"shasum":"4c3877d0b7c724955c699e1431d91e37cbcad954","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.0.tgz","fileCount":207,"integrity":"sha512-JTHgobvkFepQ2BokeCOjtDnxiIPyOvR3e1ep24zaJ6GxFBTaM/e2OzFenJhD6eTSGyuEoLmpO0Xbdtzcpm6Qpw==","signatures":[{"sig":"MEUCIQC88ECi4GoAGCV46RWUD3rr5beBxZOx0pvvND7t+9HmXwIgSYqNBreq/Cfr3wnJy5fUoMF1ZvHjEl0qFQ0/NVH2wrA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCdKRFq7CH9IZdPChcGjexpUoLSTI0KdPgIGpwHIj17wQIhAJTUpvjZjTgz5Ic1o3rqg6Vp8/xzHpR9PdGGu/mBvzw2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5280368},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-09-24-0.3.0-final/counterparts-0.3.0.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"scripts":{"test":"bun test","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-09-24-0.3.0-final/counterparts-0.3.0.tgz","_integrity":"sha512-JTHgobvkFepQ2BokeCOjtDnxiIPyOvR3e1ep24zaJ6GxFBTaM/e2OzFenJhD6eTSGyuEoLmpO0Xbdtzcpm6Qpw==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Memory that turns AI tools into counterparts - a local-first, human-memory-modeled memory layer for AI.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.0_1790273457302_0.1193883424521851","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"counterparts","version":"0.3.1","keywords":["memory","ai","claude","mcp","local-first"],"license":"MIT","_id":"counterparts@0.3.1","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.ts","counterparts-mcp":"src/adapters/mcp/bin/serve.ts","counterparts-hook":"src/adapters/claude-code/bin/hook.ts","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.ts"},"dist":{"shasum":"5b19d6f2901b88f9a0795cbd31949d4b94b5c8fe","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.1.tgz","fileCount":210,"integrity":"sha512-udonfIeMbdXYfriTH3H6eLPgq/OAyuF67nRVwgGSuLzKT8lL7ls4gIZW1EPUhzavh18jkw898+BSMbv+R9ZgSw==","signatures":[{"sig":"MEYCIQDLRVHY6IpkfscaDyzc8xv0fzb6ql1Lv79cFJgOcohshgIhANGoJfvtmlMP1AlRmwVcFPyXoHos9LdGxWsgpGhmIQOu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFtu2vu8OFhMpjhKNJIAmHm3u/qPzc353ZZUp4RGKa1BAiEAjnImLwVCflZGWdUYKrlDDVdZ00v98O04zFX3A1WO2MQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5368295},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-09-25-0.3.1/counterparts-0.3.1.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"scripts":{"test":"bun test","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-09-25-0.3.1/counterparts-0.3.1.tgz","_integrity":"sha512-udonfIeMbdXYfriTH3H6eLPgq/OAyuF67nRVwgGSuLzKT8lL7ls4gIZW1EPUhzavh18jkw898+BSMbv+R9ZgSw==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Memory that turns AI tools into counterparts - a local-first, human-memory-modeled memory layer for AI.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.1_1790355095499_0.0451289039588465","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"counterparts","version":"0.3.2","keywords":["memory","ai","claude","mcp","local-first"],"license":"MIT","_id":"counterparts@0.3.2","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.ts","counterparts-mcp":"src/adapters/mcp/bin/serve.ts","counterparts-hook":"src/adapters/claude-code/bin/hook.ts","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.ts"},"dist":{"shasum":"96bf2bba2f6e9c8575adf91e3d174cefd3a0e2ca","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.2.tgz","fileCount":337,"integrity":"sha512-+BYA53OQ0A+KMA1k0y0XoT3AIE9kFlLf8aDK41JMAQx0CR6hJmC4UG4wELJz5nkoYYUqPexDtU6RY8LEPAMrYg==","signatures":[{"sig":"MEYCIQCfiW0Avk5akEc34+ou7IP0B56U+/2rNw0a3Lq3J6KprQIhAPVX26uWAiHfDXZkTaDI2wFU9fRgm1gGJZ01eZv7aK7s","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDmVrp4WEovL9HkGsfEaeXRaMkwk1GaOzn37aMQR6mRpwIhAJzzn0JN93K3AvMQRhZkxY2VedvgfzMX4I5tj0KnuxuQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6520102},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-09-25-0.3.2/counterparts-0.3.2.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"scripts":{"test":"bun test","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-09-25-0.3.2/counterparts-0.3.2.tgz","_integrity":"sha512-+BYA53OQ0A+KMA1k0y0XoT3AIE9kFlLf8aDK41JMAQx0CR6hJmC4UG4wELJz5nkoYYUqPexDtU6RY8LEPAMrYg==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Memory that turns AI tools into counterparts - a local-first, human-memory-modeled memory layer for AI.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.2_1790369662079_0.7081956864849501","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"counterparts","version":"0.3.3","keywords":["memory","ai","claude","mcp","local-first"],"license":"MIT","_id":"counterparts@0.3.3","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.ts","counterparts-mcp":"src/adapters/mcp/bin/serve.ts","counterparts-hook":"src/adapters/claude-code/bin/hook.ts","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.ts"},"dist":{"shasum":"2810a60da0138af0f776b1da65a59867f5feeed7","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.3.tgz","fileCount":341,"integrity":"sha512-rVSIaHq8EF0xGeEx1MGlgDa/7KIqr3TeMB/Gf5a5xU4QksWlKjSTfc6oQKaI8kB2YBbFf1D244XupMRBNAMVYg==","signatures":[{"sig":"MEUCIDnKyn5v/QUDbiMEuiurp/bhmfDz4HSEQvp1/fAbH7hVAiEAxK6jl3+PHCBuSROeE1Lhsicas7cz92AtSDV0tzg/2/8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDlyd6GfS7OJH5f1tpncItP4bd25C4wla+QoVeq4lTLsgIhAJl65qAxG4KHvTpt2UW0VOL29uyV2sIa7NYR+BP/HDQX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6689223},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-09-26-0.3.3/counterparts-0.3.3.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"scripts":{"test":"bun test","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-09-26-0.3.3/counterparts-0.3.3.tgz","_integrity":"sha512-rVSIaHq8EF0xGeEx1MGlgDa/7KIqr3TeMB/Gf5a5xU4QksWlKjSTfc6oQKaI8kB2YBbFf1D244XupMRBNAMVYg==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Memory that turns AI tools into counterparts - a local-first, human-memory-modeled memory layer for AI.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.3_1790475662561_0.7916097382935776","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"counterparts","version":"0.3.4","keywords":["memory","ai","claude","mcp","local-first"],"license":"MIT","_id":"counterparts@0.3.4","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.ts","counterparts-mcp":"src/adapters/mcp/bin/serve.ts","counterparts-hook":"src/adapters/claude-code/bin/hook.ts","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.ts"},"dist":{"shasum":"2ebf3d25ed283995c30a4940c77986b02612fc06","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.4.tgz","fileCount":359,"integrity":"sha512-mGeLEf0oGfGzVYUzYnJ0fTwG1gtoRIIbwXxs2G8QK1AG3Wi3W5ud2kVlN79HSiZ7DhQCDGcAfMvY3+KOwUUuXA==","signatures":[{"sig":"MEYCIQDuNgur8lDO1qD8PLvfi3GxnnrKgEDijMtKc0P7bFQrXAIhAMMmAfmtmuHuPhDxOYNGlkP01WqeF3cOETSDQisT7qJ/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICo12Rh1IQpcY+BYmeZkyswedYcUNF9ieOpHBeXkYhVFAiEAsI6S/Eo8qPVsVK65EA13cn6a/Tv+LmmDYoxmYhSVyC0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7030801},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-09-26-0.3.4/counterparts-0.3.4.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"scripts":{"test":"bun test","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-09-26-0.3.4/counterparts-0.3.4.tgz","_integrity":"sha512-mGeLEf0oGfGzVYUzYnJ0fTwG1gtoRIIbwXxs2G8QK1AG3Wi3W5ud2kVlN79HSiZ7DhQCDGcAfMvY3+KOwUUuXA==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Memory that turns AI tools into counterparts - a local-first, human-memory-modeled memory layer for AI.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.4_1790520184804_0.7846136496062839","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"counterparts","version":"0.3.5","keywords":["memory","ai","claude","mcp","local-first"],"license":"MIT","_id":"counterparts@0.3.5","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.ts","counterparts-mcp":"src/adapters/mcp/bin/serve.ts","counterparts-hook":"src/adapters/claude-code/bin/hook.ts","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.ts"},"dist":{"shasum":"bd08be3c3d965bc952739d39b646b5ebc5621aba","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.5.tgz","fileCount":377,"integrity":"sha512-5AgLAh8VKVbbhj47tilwG123Hu11giqFeKrXlvOOfioevXP4T7T+p5Zih8YxlAwej9QxXoLJqMCd9xoZhM3u6A==","signatures":[{"sig":"MEUCIA70vEZrJO3x3LP6fslKiDs89/EGiBE/ngQcE1CMDLXjAiEAoVKiUeq/5ly5zdpRNwkeq0a3XrWDyQU72V59UY3n0AE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCiBG4JX7Kip24KFmUFgIQBu95lgBV1gNqV4YoFClIfOwIgcfQ5Z7CDt/Yeh/jfaIqUheGXcSoPmXZoLXC666d4f9g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7421267},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-09-27-0.3.5/counterparts-0.3.5.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"scripts":{"test":"bun test","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-09-27-0.3.5/counterparts-0.3.5.tgz","_integrity":"sha512-5AgLAh8VKVbbhj47tilwG123Hu11giqFeKrXlvOOfioevXP4T7T+p5Zih8YxlAwej9QxXoLJqMCd9xoZhM3u6A==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Memory that turns AI tools into counterparts - a local-first, human-memory-modeled memory layer for AI.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.5_1790566171478_0.07865471557886416","host":"s3://npm-registry-packages-npm-production"}},"0.3.6":{"name":"counterparts","version":"0.3.6","keywords":["memory","ai","claude","mcp","local-first"],"license":"MIT","_id":"counterparts@0.3.6","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.ts","counterparts-mcp":"src/adapters/mcp/bin/serve.ts","counterparts-hook":"src/adapters/claude-code/bin/hook.ts","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.ts"},"dist":{"shasum":"7832d6ad23c7557a82679593d2921e659733ffda","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.6.tgz","fileCount":378,"integrity":"sha512-sPMkyEk/9PIaBZP9BXLUiRoEBdN+b7B6T1LDAoNqwHnMV0uNXHghLMXsnKXTHCbLSlQ1jM7CkL0TqUzJ9NX8Mg==","signatures":[{"sig":"MEQCIHZHPMfXC92+H87pLpO/fuN8wpREPUketS1rOhHVsOYGAiBbaBXc4aOiv7/nF1b5vui3IFReDsaebDRpyGBrKjhuPA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDBrawXB3FvqYnopwz7fbfXP/0mHFXM3Y79cTRKU0KFNAiAYGvEnUS+kVDS5cZ6IYhuyFloSsurM9m6R9Du4vqsipQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7555344},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-09-28-0.3.6/counterparts-0.3.6.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"scripts":{"test":"bun test","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-09-28-0.3.6/counterparts-0.3.6.tgz","_integrity":"sha512-sPMkyEk/9PIaBZP9BXLUiRoEBdN+b7B6T1LDAoNqwHnMV0uNXHghLMXsnKXTHCbLSlQ1jM7CkL0TqUzJ9NX8Mg==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Memory that turns AI tools into counterparts - a local-first, human-memory-modeled memory layer for AI.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.6_1790619339131_0.5728694152489375","host":"s3://npm-registry-packages-npm-production"}},"0.3.7":{"name":"counterparts","version":"0.3.7","keywords":["memory","ai","claude","mcp","local-first"],"license":"MIT","_id":"counterparts@0.3.7","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.ts","counterparts-mcp":"src/adapters/mcp/bin/serve.ts","counterparts-hook":"src/adapters/claude-code/bin/hook.ts","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.ts"},"dist":{"shasum":"d35de682d2f360d400930f76e16b6d501cecdddb","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.7.tgz","fileCount":388,"integrity":"sha512-5n8lrMhZMGMiOAl4e/NXMI50VNLpcnfNjtZYvoCLazDAMD8TpBHn5ex9ocf4lo8CGcPpFRcKh+Pj00zJwuH7GQ==","signatures":[{"sig":"MEYCIQDabSz3Ol5W/KldxaqJZvnIefBpksppHMu8Zj96F6RyiQIhANBYzzFGSbmdHstDGYKqgVvf8rFmXGksRSX77h0Z5vMY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFe649TW71Hf3k0xj7JrbVUyJPHS8u526gOpZ9+HmKE+AiAMc1FPLyddEQ3tVAu/xg7EP2c+BmThEjV5H0ggZnuNuQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7904433},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-09-29-0.3.7/counterparts-0.3.7.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"scripts":{"test":"bun test","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-09-29-0.3.7/counterparts-0.3.7.tgz","_integrity":"sha512-5n8lrMhZMGMiOAl4e/NXMI50VNLpcnfNjtZYvoCLazDAMD8TpBHn5ex9ocf4lo8CGcPpFRcKh+Pj00zJwuH7GQ==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Memory that turns AI tools into counterparts - a local-first, human-memory-modeled memory layer for AI.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.7_1790703931169_0.07467152448269987","host":"s3://npm-registry-packages-npm-production"}},"0.3.8":{"name":"counterparts","version":"0.3.8","keywords":["memory","ai","claude","mcp","local-first"],"license":"MIT","_id":"counterparts@0.3.8","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.ts","counterparts-mcp":"src/adapters/mcp/bin/serve.ts","counterparts-hook":"src/adapters/claude-code/bin/hook.ts","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.ts"},"dist":{"shasum":"8f5093652fec3644a1ed48d6791e96886545f741","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.8.tgz","fileCount":405,"integrity":"sha512-0k4RTifx0TKgMvKptHvgog5UhATf7xLq5KE1ZUglfAze11B59dzYkrussmBJPLTtIV9bu54be/2jr77A28k1EA==","signatures":[{"sig":"MEYCIQDaiUBEQCWYTXIuJ5eqzkx8gAA1bDJyexti2OE5856t5wIhAIZL7QXGgGhtMqnhedcS3Y2kodOJPZn2AYlP/YfIEzPT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIG43s1Us0EktEe/Q2rM/yX670PrfCqPOjplKPTPJx/xJAiEA5S3YH7iZJoSBkw9KRRdWlrLUOHnpxNkS67f6Wjro6IE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8215830},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-09-30-0.3.8/counterparts-0.3.8.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"scripts":{"test":"bun test","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-09-30-0.3.8/counterparts-0.3.8.tgz","_integrity":"sha512-0k4RTifx0TKgMvKptHvgog5UhATf7xLq5KE1ZUglfAze11B59dzYkrussmBJPLTtIV9bu54be/2jr77A28k1EA==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Memory that turns AI tools into counterparts - a local-first, human-memory-modeled memory layer for AI.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.8_1790799466561_0.741049322541548","host":"s3://npm-registry-packages-npm-production"}},"0.3.9":{"name":"counterparts","version":"0.3.9","keywords":["memory","ai","claude","mcp","local-first"],"license":"MIT","_id":"counterparts@0.3.9","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.ts","counterparts-mcp":"src/adapters/mcp/bin/serve.ts","counterparts-hook":"src/adapters/claude-code/bin/hook.ts","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.ts"},"dist":{"shasum":"ef0f64a77c1ef7e7b16ff4460ab7dff7e8353a73","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.9.tgz","fileCount":410,"integrity":"sha512-ye3ddljTNGl/0M9+SvDckkfi8k+FYOcRRE/KYJf0WvW/B8NUlfruZTR4vjmTVnpMfadPyGOEE1vZaQCHjjduug==","signatures":[{"sig":"MEUCIQCdsyNrxRLs+BoEvvBuMDy25qpZchJ4DxNVLabnj+K6JQIgU6FyTLZiKIfBkk3RMB98UXp5PC0dQ8zBSuXxeJvIqwQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGBCfldU7jQDDqzVKBgDSklWJHvsv/86/YmC7lCIWRsnAiEAlm9T+0M6yvojH8MmKQGHg//AHmC+VQrk6BE4cQyQi6Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8405606},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-09-30-0.3.9/counterparts-0.3.9.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./hosts":"./src/adapters/hosts.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./lifecycle":"./src/adapters/lifecycle.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"scripts":{"test":"bun test","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-09-30-0.3.9/counterparts-0.3.9.tgz","_integrity":"sha512-ye3ddljTNGl/0M9+SvDckkfi8k+FYOcRRE/KYJf0WvW/B8NUlfruZTR4vjmTVnpMfadPyGOEE1vZaQCHjjduug==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Memory that turns AI tools into counterparts - a local-first, human-memory-modeled memory layer for AI.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.9_1790812898411_0.4264008097892844","host":"s3://npm-registry-packages-npm-production"}},"0.3.10":{"name":"counterparts","version":"0.3.10","keywords":["memory","ai","claude","mcp","local-first"],"license":"MIT","_id":"counterparts@0.3.10","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.ts","counterparts-mcp":"src/adapters/mcp/bin/serve.ts","counterparts-hook":"src/adapters/claude-code/bin/hook.ts","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.ts"},"dist":{"shasum":"0f351bd766d45548a530893434bc50047cbf533d","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.10.tgz","fileCount":412,"integrity":"sha512-A8xB6C/48cFtSuA7el2MJDcHp8hA5lMvE0fLBaJigGaoxqPuyf1Bu3H9JS4V2muB6E1MKulBa1xhD/YhdvJNKQ==","signatures":[{"sig":"MEYCIQCvp1aPHmD1YVKFLfRzAtZKPIdfCJY5G0YhjXytn8n4HQIhANu2RisgSwRq9s0gEvnZNOim7N/2W/VzQeDQsDfBa0ry","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBng8PQ6T/jfZFG9QJzhIS3Iuov4IIgQrzU72LPBJnZFAiBXWD1EU2rr1QKID35KjGwrqCdH54W1Ip38b79m2jtXDw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8576845},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-09-30-0.3.10/counterparts-0.3.10.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./hosts":"./src/adapters/hosts.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./lifecycle":"./src/adapters/lifecycle.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"scripts":{"test":"bun test","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-09-30-0.3.10/counterparts-0.3.10.tgz","_integrity":"sha512-A8xB6C/48cFtSuA7el2MJDcHp8hA5lMvE0fLBaJigGaoxqPuyf1Bu3H9JS4V2muB6E1MKulBa1xhD/YhdvJNKQ==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Memory that turns AI tools into counterparts - a local-first, human-memory-modeled memory layer for AI.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.10_1790867899726_0.3323642459000804","host":"s3://npm-registry-packages-npm-production"}},"0.3.11":{"name":"counterparts","version":"0.3.11","keywords":["memory","ai","claude","mcp","local-first"],"license":"MIT","_id":"counterparts@0.3.11","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.mjs","counterparts-mcp":"src/adapters/mcp/bin/serve.mjs","counterparts-hook":"src/adapters/claude-code/bin/hook.mjs","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.mjs"},"dist":{"shasum":"86809c3e17e414e4653ae55d26e9fef47e18988c","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.11.tgz","fileCount":422,"integrity":"sha512-r4XChk1oDMHnl4t+nzFJ80PCYHOoVsFzgLVusjZlIpoGwnvWGrbaTNdfaMcOfVWael7luXQx9rUyIUD73y/w6w==","signatures":[{"sig":"MEYCIQCjKBzscS4bP8Z3vyrwQ9jyjW+Q0E8rj66vZ9xCnghLNAIhAK05gjtqJsuWAb4GEXapeSkLnXDwQQerFOc/Waa2p688","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDQ8JbXCqUEW0bXI/aFlZy+yis4uEwzLqM8Yusu6yHBVQIhANZYpFXDL8Dz3A499QLL7vlrWQMJ/jEyH7D5xa4XuqDo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8849829},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-10-01-0.3.11/counterparts-0.3.11.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0","node":">=22.15.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./hosts":"./src/adapters/hosts.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./lifecycle":"./src/adapters/lifecycle.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"scripts":{"test":"bun test","test:node":"node --import ./src/adapters/node-hooks.mjs --test test/node-smoke.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-10-01-0.3.11/counterparts-0.3.11.tgz","_integrity":"sha512-r4XChk1oDMHnl4t+nzFJ80PCYHOoVsFzgLVusjZlIpoGwnvWGrbaTNdfaMcOfVWael7luXQx9rUyIUD73y/w6w==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Memory that turns AI tools into counterparts - a local-first, human-memory-modeled memory layer for AI.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.11_1790892402152_0.5668583622172949","host":"s3://npm-registry-packages-npm-production"}},"0.3.12":{"name":"counterparts","version":"0.3.12","keywords":["memory","ai","claude","mcp","local-first"],"license":"MIT","_id":"counterparts@0.3.12","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.mjs","counterparts-mcp":"src/adapters/mcp/bin/serve.mjs","counterparts-hook":"src/adapters/claude-code/bin/hook.mjs","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.mjs"},"dist":{"shasum":"a99dd80fb8ee051ed47896b440ba0be1a9fc8ab8","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.12.tgz","fileCount":427,"integrity":"sha512-174a8m8TwNMTB91lluIYp5FllKeKtzZsynRRyxaZBE8c+vLccx523cY081dLc6tA+b0nvBRTXUIZ0tI58Ec1og==","signatures":[{"sig":"MEUCIGZwunXHnYljJ+GwrQMrap7ldJNIC8Jquda17kpYNT/aAiEAn+oevGf9J6hobfh3XisQX6KmcUGzT+oyHnIWO/qNolc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFFUPuRt7nZph7MpDg4G4u8o6gjasUF2sVJvCu5F2An+AiBzHpzwBQliIihVRVRJUPzGo/N3zMjDGIGItrqZJyvf3Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9204727},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-10-08-0.3.12/counterparts-0.3.12.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0","node":">=22.15.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./hosts":"./src/adapters/hosts.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./lifecycle":"./src/adapters/lifecycle.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"scripts":{"test":"bun test","test:node":"node --import ./src/adapters/node-hooks.mjs --test test/node-smoke.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-10-08-0.3.12/counterparts-0.3.12.tgz","_integrity":"sha512-174a8m8TwNMTB91lluIYp5FllKeKtzZsynRRyxaZBE8c+vLccx523cY081dLc6tA+b0nvBRTXUIZ0tI58Ec1og==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Memory that turns AI tools into counterparts - a local-first, human-memory-modeled memory layer for AI.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.12_1791480949314_0.2094158099890311","host":"s3://npm-registry-packages-npm-production"}},"0.3.13":{"name":"counterparts","version":"0.3.13","keywords":["memory","ai","claude","mcp","local-first"],"license":"MIT","_id":"counterparts@0.3.13","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.mjs","counterparts-mcp":"src/adapters/mcp/bin/serve.mjs","counterparts-hook":"src/adapters/claude-code/bin/hook.mjs","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.mjs"},"dist":{"shasum":"af1e395167d381709f1045959986017f31744f34","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.13.tgz","fileCount":430,"integrity":"sha512-APUcbA8/JiOUas+Shj44+3OTXXbnrgUMYiyXnKIxE+LJQDU5wrCbXLTBZQSUsQ7ww/XRBpgA0M2vVkJPeO/QVw==","signatures":[{"sig":"MEUCIQDcokgyb+dUJ+r26DmAAmAh/Fi76fYSDWXFb/5MESQG0wIgM7ObVKORJa/LSkCZwTckSGJzmjVd7x5t8BV88DPgcNU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICSHuUnmghCbFtf7PaS6hYlc59T4azCgBC3Z6bo7LvkfAiEA6px0bPNZSQvxLiSdqt5+6xO6yaVIM60jCC8CdH4CKq8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9570780},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-10-09-0.3.13/counterparts-0.3.13.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0","node":">=22.15.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./hosts":"./src/adapters/hosts.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./lifecycle":"./src/adapters/lifecycle.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"scripts":{"test":"bun test","test:node":"node --import ./src/adapters/node-hooks.mjs --test test/node-smoke.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-10-09-0.3.13/counterparts-0.3.13.tgz","_integrity":"sha512-APUcbA8/JiOUas+Shj44+3OTXXbnrgUMYiyXnKIxE+LJQDU5wrCbXLTBZQSUsQ7ww/XRBpgA0M2vVkJPeO/QVw==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Memory that turns AI tools into counterparts - a local-first, human-memory-modeled memory layer for AI.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.13_1791588160965_0.6752425643307014","host":"s3://npm-registry-packages-npm-production"}},"0.3.14":{"name":"counterparts","version":"0.3.14","keywords":["memory","ai","claude","mcp","local-first"],"license":"MIT","_id":"counterparts@0.3.14","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.mjs","counterparts-mcp":"src/adapters/mcp/bin/serve.mjs","counterparts-hook":"src/adapters/claude-code/bin/hook.mjs","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.mjs"},"dist":{"shasum":"d78d92dea4c194211b2f2d80bfcc9907b4632a25","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.14.tgz","fileCount":431,"integrity":"sha512-zHlY5ytNt6EJZiL3Xd91uRWhnxyb28aP5bBFxqy6OzQ8SRkSm6X/nj60cfGU+EXzMhglNkVpEnzTfrLVQVZmog==","signatures":[{"sig":"MEUCIQDv3uufJ2Wh2bvKkMQAuGrPG5QohFCTMkGXtnYwJNIsTQIgcKxiH1Qr1oBydD3pol3QkAoAkWurfaA4VpjKREXpkBo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGcmLKCZZYH8G3PFMAbulx2wsy+J3arIRhkrNpDWibX6AiEAqoeSHlj0XF65ykVJt50kM0M7Kpe5orDgNvYQdCdQUEc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9715338},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-10-09-0.3.14/counterparts-0.3.14.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0","node":">=22.15.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./hosts":"./src/adapters/hosts.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./lifecycle":"./src/adapters/lifecycle.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"scripts":{"test":"bun test","test:node":"node --import ./src/adapters/node-hooks.mjs --test test/node-smoke.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-10-09-0.3.14/counterparts-0.3.14.tgz","_integrity":"sha512-zHlY5ytNt6EJZiL3Xd91uRWhnxyb28aP5bBFxqy6OzQ8SRkSm6X/nj60cfGU+EXzMhglNkVpEnzTfrLVQVZmog==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Memory that turns AI tools into counterparts - a local-first, human-memory-modeled memory layer for AI.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.14_1791602388392_0.14232792028350683","host":"s3://npm-registry-packages-npm-production"}},"0.3.15":{"name":"counterparts","version":"0.3.15","keywords":["memory","ai","claude","mcp","local-first"],"license":"MIT","_id":"counterparts@0.3.15","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.mjs","counterparts-mcp":"src/adapters/mcp/bin/serve.mjs","counterparts-hook":"src/adapters/claude-code/bin/hook.mjs","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.mjs"},"dist":{"shasum":"1b7a40e3e39180d874fa74e5da86a46f6c173dd0","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.15.tgz","fileCount":432,"integrity":"sha512-RdYqetdR75ifilaEao4p/r8lXXMUycXEURsxJaD5aQsaKbPLorfQdawMawZdYqZuYmJGtbeYvNqgCN9dEpQsPQ==","signatures":[{"sig":"MEUCIBGXdIWSwfMW6mTXRA3V6+SgWp68Q1SgF4YSg2cNmQQPAiEAkvRJ2XVA6j1pcOtIwbg09OREF4R4/omalFscNW9jcRE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDFdtGV0La2W/gRt+C9A+wSvOuqg0oOiFdN8cxvNaHhmgIgRt0ygWRHBGqWxrVoRQQ1RakGP0CYSYIuZAan/0B9aI8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9818413},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-10-10-0.3.15/counterparts-0.3.15.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0","node":">=22.15.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./hosts":"./src/adapters/hosts.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./lifecycle":"./src/adapters/lifecycle.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"scripts":{"test":"bun test","test:node":"node --import ./src/adapters/node-hooks.mjs --test test/node-smoke.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-10-10-0.3.15/counterparts-0.3.15.tgz","_integrity":"sha512-RdYqetdR75ifilaEao4p/r8lXXMUycXEURsxJaD5aQsaKbPLorfQdawMawZdYqZuYmJGtbeYvNqgCN9dEpQsPQ==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Memory that turns AI tools into counterparts - a local-first, human-memory-modeled memory layer for AI.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.15_1791648685693_0.4416481339253506","host":"s3://npm-registry-packages-npm-production"}},"0.3.16":{"name":"counterparts","version":"0.3.16","keywords":["memory","ai","claude","mcp","local-first"],"license":"MIT","_id":"counterparts@0.3.16","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.mjs","counterparts-mcp":"src/adapters/mcp/bin/serve.mjs","counterparts-hook":"src/adapters/claude-code/bin/hook.mjs","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.mjs"},"dist":{"shasum":"791cbe51fff21c0784da319b599335f8043060c6","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.16.tgz","fileCount":432,"integrity":"sha512-vVxx1gQrhBcIqYIHgUXe3w9lTZTcSyKSmEv1HRomAssoCC9WFnaSpbcKat2gxllEo9aIE882PS1ELYricHhuJA==","signatures":[{"sig":"MEUCIQCFjBXtj/lH/iVCNlUl6sR20YHWCvqwLQsMpSLZB/NjYwIgJ+OEw4bPapm9x3030p6opkLnridn6a58Q9FqtPHUj7g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBVmlU51v+jf3/gFP2VQf5pa5q1JxI7bNLCImIMzNXVxAiBA9tlgBJDOg5KVPH5XXD9AL9gBNs8K/Rv1nnMr2orK/w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9988012},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-10-10-0.3.16/counterparts-0.3.16.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0","node":">=22.15.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./hosts":"./src/adapters/hosts.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./lifecycle":"./src/adapters/lifecycle.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"scripts":{"test":"bun test","test:node":"node --import ./src/adapters/node-hooks.mjs --test test/node-smoke.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-10-10-0.3.16/counterparts-0.3.16.tgz","_integrity":"sha512-vVxx1gQrhBcIqYIHgUXe3w9lTZTcSyKSmEv1HRomAssoCC9WFnaSpbcKat2gxllEo9aIE882PS1ELYricHhuJA==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Memory that turns AI tools into counterparts - a local-first, human-memory-modeled memory layer for AI.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.16_1791665490939_0.7473327113859365","host":"s3://npm-registry-packages-npm-production"}},"0.3.17":{"name":"counterparts","version":"0.3.17","keywords":["memory","ai","claude","mcp","local-first"],"license":"MIT","_id":"counterparts@0.3.17","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.mjs","counterparts-mcp":"src/adapters/mcp/bin/serve.mjs","counterparts-hook":"src/adapters/claude-code/bin/hook.mjs","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.mjs"},"dist":{"shasum":"85ee5992745b966fe524782fc77a1dbdcbddd8d1","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.17.tgz","fileCount":434,"integrity":"sha512-46EbZLpCO1ivBydwkajgMZ45q6fpnXtzB4kfsXUJZjKnmoEMQ/N3fvXKypV6KQ4fXWfKYS8v5hmnSg0FviQBQA==","signatures":[{"sig":"MEUCIQDJnfstzqPX83fBSUTLyTA116GjPKRmCmxoCHDteKdHogIgSC8RS43b295vWGEchq4oITQ7aGtLd6eeuqEfxRUtcio=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC7WfVyMbjyqGQtYP77eQ/G3mOnTvjqGz/O2zU64ZaZhgIgDbAA9lo2PiBmAghGGt+16ljkT8rnD8mrf2ruedm1L+E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10391420},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-10-11-0.3.17/counterparts-0.3.17.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0","node":">=22.15.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./hosts":"./src/adapters/hosts.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./lifecycle":"./src/adapters/lifecycle.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"scripts":{"test":"bun test","test:node":"node --import ./src/adapters/node-hooks.mjs --test test/node-smoke.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-10-11-0.3.17/counterparts-0.3.17.tgz","_integrity":"sha512-46EbZLpCO1ivBydwkajgMZ45q6fpnXtzB4kfsXUJZjKnmoEMQ/N3fvXKypV6KQ4fXWfKYS8v5hmnSg0FviQBQA==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Memory that turns AI tools into counterparts - a local-first, human-memory-modeled memory layer for AI.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.17_1791751317294_0.31435499888618357","host":"s3://npm-registry-packages-npm-production"}},"0.3.18":{"name":"counterparts","version":"0.3.18","keywords":["memory","ai","claude","mcp","local-first"],"license":"MIT","_id":"counterparts@0.3.18","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.mjs","counterparts-mcp":"src/adapters/mcp/bin/serve.mjs","counterparts-hook":"src/adapters/claude-code/bin/hook.mjs","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.mjs"},"dist":{"shasum":"a5bbeec632548ceb53cba024e2e7220a59bc52b9","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.18.tgz","fileCount":438,"integrity":"sha512-ZuWgRAf3hSwBc0YqH+uhJQveBiObszn0mMmnGfqXEidfX9mp6ogWhApraKBa1SWrs13hxov8E61cqym0jSHy6g==","signatures":[{"sig":"MEQCIDX0L//wXFog+nmJ/Kuyo3T3u+wJ8pvXAfRUIBpw2ZaqAiBNsQ3oR7pj53SPIrnLaRBBogWV6+Wt+SOwDKf/2NWclw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHh0+6cKlcHsXbMnAqFcO7PVB7Oq7mJAYstGcI8LfEglAiEAjGPI9upeC/8bkkEBc2sNBfAfb/whNs88xW1ERhkS3aU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10745221},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-10-11-0.3.18/counterparts-0.3.18.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0","node":">=22.15.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./hosts":"./src/adapters/hosts.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./lifecycle":"./src/adapters/lifecycle.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"scripts":{"test":"bun test","test:node":"node --import ./src/adapters/node-hooks.mjs --test test/node-smoke.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-10-11-0.3.18/counterparts-0.3.18.tgz","_integrity":"sha512-ZuWgRAf3hSwBc0YqH+uhJQveBiObszn0mMmnGfqXEidfX9mp6ogWhApraKBa1SWrs13hxov8E61cqym0jSHy6g==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Memory that turns AI tools into counterparts - a local-first, human-memory-modeled memory layer for AI.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.18_1791773022064_0.6132054774147089","host":"s3://npm-registry-packages-npm-production"}},"0.3.19":{"name":"counterparts","version":"0.3.19","keywords":["memory","ai","claude","mcp","local-first"],"license":"MIT","_id":"counterparts@0.3.19","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.mjs","counterparts-mcp":"src/adapters/mcp/bin/serve.mjs","counterparts-hook":"src/adapters/claude-code/bin/hook.mjs","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.mjs"},"dist":{"shasum":"d16fa3c698b6e4f6553d0d26903b92cf14a21ad1","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.19.tgz","fileCount":476,"integrity":"sha512-mT6bJQmJO/IUdPEMu8Zmj3+baD120fLO03pdWM3/0M2YP9R1qD4zP+Uy3C2mYAYGtlrY5ET9p0TzXp9rUxem0A==","signatures":[{"sig":"MEQCIG2rcXrp3btKO5dw9NjVbodSqQLDunzz7c/XIxdU8YZZAiBvmYvEqe1GgzTYhNowiqojb7joqXtkhUaHKgtFB5rpRg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBy3cXBLc/x//nxa7XTPyERfDMcdjpZMKBc6O1jlwl2WAiBxlxvnUw7jKlXI9k4AtM336iMDEwR6pUUFwlG+nzh0mw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11056764},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-10-12-0.3.19/counterparts-0.3.19.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0","node":">=22.15.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./hosts":"./src/adapters/hosts.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./lifecycle":"./src/adapters/lifecycle.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"scripts":{"test":"bun test","test:node":"node --import ./src/adapters/node-hooks.mjs --test test/node-smoke.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-10-12-0.3.19/counterparts-0.3.19.tgz","_integrity":"sha512-mT6bJQmJO/IUdPEMu8Zmj3+baD120fLO03pdWM3/0M2YP9R1qD4zP+Uy3C2mYAYGtlrY5ET9p0TzXp9rUxem0A==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Memory that turns AI tools into counterparts - a local-first, human-memory-modeled memory layer for AI.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.19_1791821956393_0.45185942906682297","host":"s3://npm-registry-packages-npm-production"}},"0.3.20":{"name":"counterparts","version":"0.3.20","keywords":["memory","ai","claude","mcp","local-first"],"license":"MIT","_id":"counterparts@0.3.20","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.mjs","counterparts-mcp":"src/adapters/mcp/bin/serve.mjs","counterparts-hook":"src/adapters/claude-code/bin/hook.mjs","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.mjs"},"dist":{"shasum":"f9966d94cc36dbfb4e4b8a909d6d7206c5ece09d","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.20.tgz","fileCount":479,"integrity":"sha512-M60fcdDfdfvER3H5XnBXdzDUzqD+zIwzg+/55NHg5ErpCVh+Mm3N2vEZIb8GRGnPp5Ylb4KJavel5JI/DZKNWg==","signatures":[{"sig":"MEUCIQCAT3TVZ8O8jtshyfBTISskfhuJPkNE0XZfmw8QZ/zOFQIgSC7vRVIyHM4dKYo2trKBoPDqysBH4BeFIn77krgaUfA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCEz9xbfkJ2ERvUx3g0GwjUOOsCsIwowkjxLnyix8UWQAIgVmwMF7Jzn0jy9y04wndYxaA0sQrVo95nH3+OLzRNuBI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11123246},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-10-12-0.3.20/counterparts-0.3.20.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0","node":">=22.15.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./hosts":"./src/adapters/hosts.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./lifecycle":"./src/adapters/lifecycle.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"scripts":{"test":"bun test","test:node":"node --import ./src/adapters/node-hooks.mjs --test test/node-smoke.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-10-12-0.3.20/counterparts-0.3.20.tgz","_integrity":"sha512-M60fcdDfdfvER3H5XnBXdzDUzqD+zIwzg+/55NHg5ErpCVh+Mm3N2vEZIb8GRGnPp5Ylb4KJavel5JI/DZKNWg==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Memory that turns AI tools into counterparts - a local-first, human-memory-modeled memory layer for AI.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.20_1791852996981_0.9542170609885425","host":"s3://npm-registry-packages-npm-production"}},"0.3.21":{"name":"counterparts","version":"0.3.21","keywords":["memory","ai","claude","mcp","local-first"],"license":"MIT","_id":"counterparts@0.3.21","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.mjs","counterparts-mcp":"src/adapters/mcp/bin/serve.mjs","counterparts-hook":"src/adapters/claude-code/bin/hook.mjs","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.mjs"},"dist":{"shasum":"588b003176d2da14746611dd9070be5122e40570","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.21.tgz","fileCount":480,"integrity":"sha512-ytoN0Eirr/vvxihwgq200hoM/ozEtQVNuR8GR7SLbOJ2bMayZb/EwTVmg1JbFAHFv7nDMrWIl/YGi3GRpl6F5w==","signatures":[{"sig":"MEYCIQChVbukBe+hZcXw34iMCrE9uhNIqci+CIFlxUFFgB0pRAIhALG/iqaXgdSXoNOxaKerLAP/J4udKrTxxfZptmx/Qg4o","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCuHGWSMcCAOwH0Fr3rl5CNE4dl1buM585ifUsTFOoigwIhAIO+iSESrZNFAMushONO/EOCasiW76p+sLqX8GWMvMsI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11169157},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-10-13-0.3.21/counterparts-0.3.21.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0","node":">=22.15.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./hosts":"./src/adapters/hosts.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./lifecycle":"./src/adapters/lifecycle.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"scripts":{"test":"bun test","test:node":"node --import ./src/adapters/node-hooks.mjs --test test/node-smoke.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-10-13-0.3.21/counterparts-0.3.21.tgz","_integrity":"sha512-ytoN0Eirr/vvxihwgq200hoM/ozEtQVNuR8GR7SLbOJ2bMayZb/EwTVmg1JbFAHFv7nDMrWIl/YGi3GRpl6F5w==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Memory that turns AI tools into counterparts - a local-first, human-memory-modeled memory layer for AI.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.21_1791923520316_0.3941453664054777","host":"s3://npm-registry-packages-npm-production"}},"0.3.22":{"name":"counterparts","version":"0.3.22","keywords":["memory","ai","claude","mcp","local-first"],"license":"MIT","_id":"counterparts@0.3.22","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.mjs","counterparts-mcp":"src/adapters/mcp/bin/serve.mjs","counterparts-hook":"src/adapters/claude-code/bin/hook.mjs","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.mjs"},"dist":{"shasum":"db99156730db2f5d7071b753a6a396556ec793c8","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.22.tgz","fileCount":481,"integrity":"sha512-VbqHgAbnQOp8+qSZO3z+GOZtMFUk2vzGSRJjIiWL3kZBejoksTYxSPXLLQbm6QzeCMlNknq9Ll3IFHZR9KYJSw==","signatures":[{"sig":"MEQCIESigEaTgkgqkq9oOISoqps1USrMcOuo6SWLBl+y7nX/AiA53ysqn3OdeQfGF79pOoRJzBkQ1O5B5WMJTaOpcgdvPg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIEPqvyelzB+Eo01VIy6yX+3lWrdbKupr3io9Sq+vZIEbAiA07cv8mdBzncW+hFsrirgwRvxQ0+PxrXmnUvrWgyrgUg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11183441},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-10-14-0.3.22/counterparts-0.3.22.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0","node":">=22.15.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./hosts":"./src/adapters/hosts.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./lifecycle":"./src/adapters/lifecycle.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"scripts":{"test":"bun test","test:node":"node --import ./src/adapters/node-hooks.mjs --test test/node-smoke.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-10-14-0.3.22/counterparts-0.3.22.tgz","_integrity":"sha512-VbqHgAbnQOp8+qSZO3z+GOZtMFUk2vzGSRJjIiWL3kZBejoksTYxSPXLLQbm6QzeCMlNknq9Ll3IFHZR9KYJSw==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Memory that turns AI tools into counterparts - a local-first, human-memory-modeled memory layer for AI.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.22_1792000542355_0.36145420166931985","host":"s3://npm-registry-packages-npm-production"}},"0.3.23":{"name":"counterparts","version":"0.3.23","keywords":["memory","ai","claude","mcp","local-first"],"license":"MIT","_id":"counterparts@0.3.23","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.mjs","counterparts-mcp":"src/adapters/mcp/bin/serve.mjs","counterparts-hook":"src/adapters/claude-code/bin/hook.mjs","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.mjs"},"dist":{"shasum":"7a2e4b857547d03279cc51a2abd9956fcccc9b09","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.23.tgz","fileCount":483,"integrity":"sha512-yyPBFJIbEZkK3cEkYp1/YwPkA3k4/XewLQKxz1MEXoBAnIsA1OidYD8Jr8dlZr+vUoQazgQKscSCKh8RXrD+tA==","signatures":[{"sig":"MEYCIQCGDB5+qIKk2bZVIC8rU/pl8WhsmqcoLbNpV3nUw5Sw6AIhAO4xEvSQzeovXUoPoMbTFM7bqQEApvIk9OzCyrQmxgIH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDU4Ghv0azGXI0oY8C47aFRJzV/v6shJVjYfngTxWfcQwIhAKVHXWvIUjATiTTNeykf/rLGBw/nCUzh4i151ETzyZq9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11224838},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-10-14-0.3.23/counterparts-0.3.23.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0","node":">=22.15.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./hosts":"./src/adapters/hosts.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./lifecycle":"./src/adapters/lifecycle.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"scripts":{"test":"bun test","test:node":"node --import ./src/adapters/node-hooks.mjs --test test/node-smoke.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-10-14-0.3.23/counterparts-0.3.23.tgz","_integrity":"sha512-yyPBFJIbEZkK3cEkYp1/YwPkA3k4/XewLQKxz1MEXoBAnIsA1OidYD8Jr8dlZr+vUoQazgQKscSCKh8RXrD+tA==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Memory that turns AI tools into counterparts - a local-first, human-memory-modeled memory layer for AI.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.23_1792010659866_0.8748893592298999","host":"s3://npm-registry-packages-npm-production"}},"0.3.24":{"name":"counterparts","version":"0.3.24","keywords":["memory","ai","claude","mcp","local-first"],"license":"MIT","_id":"counterparts@0.3.24","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.mjs","counterparts-mcp":"src/adapters/mcp/bin/serve.mjs","counterparts-hook":"src/adapters/claude-code/bin/hook.mjs","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.mjs"},"dist":{"shasum":"f0a310b1545df53a3c69299a172f5c972b18ae16","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.24.tgz","fileCount":484,"integrity":"sha512-kE+FL31cz8va0618630rMC3e6ph2uOtpejgkfPigPVfOJKw2NgQaISoRA27EaPWe2lqgFEZeszq6/acpN+70Fw==","signatures":[{"sig":"MEYCIQCPX5J5CrkPmGMkNS3YYC/KVPpDKIpBRnquEkYo/VD3lgIhALP7bB01WHLMpGuiTvljUW0ocYlTtzEOuG9D9UkKYgbW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDcYu3N6VHvJdBOtzh3UgPMZMfwvlEOqIXrX2g16HxBuwIgKWzKE9qxcpG6hZRvNftnLaNKEINXUnSqJ9VQJXeT9tw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11332440},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-10-14-0.3.24/counterparts-0.3.24.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0","node":">=22.15.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./hosts":"./src/adapters/hosts.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./lifecycle":"./src/adapters/lifecycle.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"scripts":{"test":"bun test","test:node":"node --import ./src/adapters/node-hooks.mjs --test test/node-smoke.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-10-14-0.3.24/counterparts-0.3.24.tgz","_integrity":"sha512-kE+FL31cz8va0618630rMC3e6ph2uOtpejgkfPigPVfOJKw2NgQaISoRA27EaPWe2lqgFEZeszq6/acpN+70Fw==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Memory that turns AI tools into counterparts - a local-first, human-memory-modeled memory layer for AI.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.24_1792028232999_0.6131175409263849","host":"s3://npm-registry-packages-npm-production"}},"0.3.25":{"name":"counterparts","version":"0.3.25","keywords":["memory","ai","claude","mcp","local-first"],"license":"MIT","_id":"counterparts@0.3.25","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.mjs","counterparts-mcp":"src/adapters/mcp/bin/serve.mjs","counterparts-hook":"src/adapters/claude-code/bin/hook.mjs","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.mjs"},"dist":{"shasum":"e11a1bb9e2dead914dc2e84e7a21fc2a591734ab","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.25.tgz","fileCount":486,"integrity":"sha512-A97cs8wuwHbHIFwRE/kinplzqFFO8JvvNF/Xtx3tTXBVw3mOGDquB2HpuWvzO3NiBF+tsznVawVHsrL4TgbO5w==","signatures":[{"sig":"MEUCIQDqCsbD7/KiZLjfru5li1GuphkZGOc5ZUifXwYgJ2ALMwIgLXZCkbPwKnm/mYH5m2M4DHdLfhHMZ+/1NamkqQjyRlM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDiuWL21abS/swRcJAyLEynm4/ZVvCeoYPkKNSL0P5DngIgE1TxRUjugJQ574QoU6A4c6T66fMo7X9If8vQhS+MyhI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11505158},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-10-16-0.3.25/counterparts-0.3.25.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0","node":">=22.15.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./hosts":"./src/adapters/hosts.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./lifecycle":"./src/adapters/lifecycle.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"scripts":{"test":"bun test","test:node":"node --import ./src/adapters/node-hooks.mjs --test test/node-smoke.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-10-16-0.3.25/counterparts-0.3.25.tgz","_integrity":"sha512-A97cs8wuwHbHIFwRE/kinplzqFFO8JvvNF/Xtx3tTXBVw3mOGDquB2HpuWvzO3NiBF+tsznVawVHsrL4TgbO5w==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Memory that turns AI tools into counterparts - a local-first, human-memory-modeled memory layer for AI.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.25_1792176762227_0.007117369369458615","host":"s3://npm-registry-packages-npm-production"}},"0.3.26":{"name":"counterparts","version":"0.3.26","keywords":["memory","ai","claude","mcp","local-first"],"license":"MIT","_id":"counterparts@0.3.26","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.mjs","counterparts-mcp":"src/adapters/mcp/bin/serve.mjs","counterparts-hook":"src/adapters/claude-code/bin/hook.mjs","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.mjs"},"dist":{"shasum":"881492888b781c5fff6bd73b583699cbf8e2fba6","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.26.tgz","fileCount":486,"integrity":"sha512-87wQxAX4IjJnuNAMfjcowy0pbTxuxXHrTMLDtvzTxICLbWqVOd4hXLgj3OXYqwy6LtBamyg1cH9/M7anrdHHYg==","signatures":[{"sig":"MEYCIQCsu4zFSPoP4udXhwd21Z2dGbE5DfBx1m83fGhwP0vMjwIhAPgw8yCEeGFKnUXonqlbO7gjQtXjZjVLom78d9k929Su","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDzCKHSKMOXmyQSiOF7Qbdq3i2o8RlP4hxdhIiWObVXxAiAZm72igboENDdN73Nrfg6lzl/cFwx4hUpPY9zxeDpUTA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11522839},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-10-18-0.3.26/counterparts-0.3.26.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0","node":">=22.15.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./hosts":"./src/adapters/hosts.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./lifecycle":"./src/adapters/lifecycle.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"scripts":{"test":"bun test","test:node":"node --import ./src/adapters/node-hooks.mjs --test test/node-smoke.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-10-18-0.3.26/counterparts-0.3.26.tgz","_integrity":"sha512-87wQxAX4IjJnuNAMfjcowy0pbTxuxXHrTMLDtvzTxICLbWqVOd4hXLgj3OXYqwy6LtBamyg1cH9/M7anrdHHYg==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Memory that turns AI tools into counterparts - a local-first, human-memory-modeled memory layer for AI.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.26_1792379857690_0.05092185829938889","host":"s3://npm-registry-packages-npm-production"}},"0.3.27":{"name":"counterparts","version":"0.3.27","keywords":["memory","ai","claude","mcp","local-first"],"license":"MIT","_id":"counterparts@0.3.27","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.mjs","counterparts-mcp":"src/adapters/mcp/bin/serve.mjs","counterparts-hook":"src/adapters/claude-code/bin/hook.mjs","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.mjs"},"dist":{"shasum":"8c896e5b0130df7e4a5608cd06002805d7c69046","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.27.tgz","fileCount":491,"integrity":"sha512-JbbC/FrtZp7qdYdEtV/KECr0X8W05dgrQI6zfCcmRD2siA/ILzs7ta06VPWMFdJqhWECXBgyOer6Jj4d45+Tzg==","signatures":[{"sig":"MEYCIQDcLDBLL+FXFjG6FaxVnhMxLtc/G9mOEmNsTCQXdtr4eQIhAOmOhPEjDh2MUDJ5KH0vHMknJAmZxsGBqv+XGHtrcTu7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC7ly84OtP0F4wqxRuUFrruXkIdJdmSO30wuYmYXkUS7AIhANLITjbscfsPdIlsNH65dJLxf1HKjvG4lgQjlM2r/XIy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11713241},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-10-19-0.3.27/counterparts-0.3.27.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0","node":">=22.15.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./hosts":"./src/adapters/hosts.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./lifecycle":"./src/adapters/lifecycle.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"scripts":{"test":"bun test","test:node":"node --import ./src/adapters/node-hooks.mjs --test test/node-smoke.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-10-19-0.3.27/counterparts-0.3.27.tgz","_integrity":"sha512-JbbC/FrtZp7qdYdEtV/KECr0X8W05dgrQI6zfCcmRD2siA/ILzs7ta06VPWMFdJqhWECXBgyOer6Jj4d45+Tzg==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Memory that turns AI tools into counterparts - a local-first, human-memory-modeled memory layer for AI.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.27_1792438442489_0.8306106432088651","host":"s3://npm-registry-packages-npm-production"}},"0.3.28":{"name":"counterparts","version":"0.3.28","keywords":["memory","ai","claude","mcp","local-first"],"license":"MIT","_id":"counterparts@0.3.28","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.mjs","counterparts-mcp":"src/adapters/mcp/bin/serve.mjs","counterparts-hook":"src/adapters/claude-code/bin/hook.mjs","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.mjs"},"dist":{"shasum":"ac8b9ca5cc49e39af04a0f477543e7bd6ed6740d","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.28.tgz","fileCount":493,"integrity":"sha512-gj2ZjhPR97zcP9/1MDkpBjynsTc8WJsSWs9VincMKQ4IWoeAwTvKhSJZ8+SJnd8bPhYzr39eS7EsPCU3AKqq+g==","signatures":[{"sig":"MEUCIQDCXCR40S6BcKNgYUlG8YGUOno7FP58PsOoH0CxMm6AggIgS63nLpZpFYarGbY7c8JflVWN/wYTQEJ28TpOmlRfZpg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC1k2a18Hqf3U3Xz1dA2MZ3wqrC7RfLMciroGU2ttztuwIhAI9qdzYNO678tEJwlydknrkznG6H2auYGGCeFr/Ml3dH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11930704},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-10-20-0.3.28/counterparts-0.3.28.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0","node":">=22.15.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./hosts":"./src/adapters/hosts.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./lifecycle":"./src/adapters/lifecycle.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"scripts":{"test":"bun test","test:node":"node --import ./src/adapters/node-hooks.mjs --test test/node-smoke.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-10-20-0.3.28/counterparts-0.3.28.tgz","_integrity":"sha512-gj2ZjhPR97zcP9/1MDkpBjynsTc8WJsSWs9VincMKQ4IWoeAwTvKhSJZ8+SJnd8bPhYzr39eS7EsPCU3AKqq+g==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Memory that turns AI tools into counterparts - a local-first, human-memory-modeled memory layer for AI.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.28_1792530652678_0.08944009021418253","host":"s3://npm-registry-packages-npm-production"}},"0.3.29":{"name":"counterparts","version":"0.3.29","keywords":["memory","ai","claude","mcp","local-first"],"license":"MIT","_id":"counterparts@0.3.29","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.mjs","counterparts-mcp":"src/adapters/mcp/bin/serve.mjs","counterparts-hook":"src/adapters/claude-code/bin/hook.mjs","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.mjs"},"dist":{"shasum":"cdba6806c86ca06ae5ab7e8baeb36b2fd74cf248","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.29.tgz","fileCount":497,"integrity":"sha512-nXTtUMMhuHthyKo1pDxGhracXBq+h0dudGcn25LvRVqGZPgl/zTIhF0kn3B1616u2iHpwrJ5JglQf1C5xtnoJQ==","signatures":[{"sig":"MEYCIQDxcnttU6wXRzY/tq5k9wDLFtamw01phQ1ca56TYZxAIQIhAKDv2/2qYeZCB9ROiH94zhtlbzR7szNKFFncZX0F9w/f","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHR1ws39KmHD6PyWIzrYcHMF5VS3caIqWcpLbLKIGrTbAiEAk8R4oWQKoLJIFVvPy9asbpzjrv0x6QWkLRh/r7Vj9RE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12018484},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-10-21-0.3.29/counterparts-0.3.29.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0","node":">=22.15.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./hosts":"./src/adapters/hosts.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./lifecycle":"./src/adapters/lifecycle.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"scripts":{"test":"bun test","test:node":"node --import ./src/adapters/node-hooks.mjs --test test/node-smoke.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-10-21-0.3.29/counterparts-0.3.29.tgz","_integrity":"sha512-nXTtUMMhuHthyKo1pDxGhracXBq+h0dudGcn25LvRVqGZPgl/zTIhF0kn3B1616u2iHpwrJ5JglQf1C5xtnoJQ==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Memory that turns AI tools into counterparts - a local-first, human-memory-modeled memory layer for AI.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.29_1792598065404_0.33800436851403526","host":"s3://npm-registry-packages-npm-production"}},"0.3.30":{"name":"counterparts","version":"0.3.30","keywords":["memory","ai","claude","mcp","local-first"],"license":"MIT","_id":"counterparts@0.3.30","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.mjs","counterparts-mcp":"src/adapters/mcp/bin/serve.mjs","counterparts-hook":"src/adapters/claude-code/bin/hook.mjs","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.mjs"},"dist":{"shasum":"7bdbf0ae2b523e8006593127ef9d3380fcff56ef","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.30.tgz","fileCount":497,"integrity":"sha512-spKDypGkwt1kQWk/TUZ8X7dRM5Vp+9kmSks6/E2dw0KNb5biYqnFpzwifAC1Cy6fUvLbtV/rb4WLM8LRtmvp1Q==","signatures":[{"sig":"MEUCIQC1JLHSJiY9oiGt9/EBpoQteruR1jcHITHI4ZjWsyAUHwIgYH3LluSge9FmUpogi7Sx1NoPBA3w20pEoq0VduM97bY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBjfmVwWTz00icRlOnO9D22rWNC7QxgoIgJfxqmKDfGhAiA/ILfNG6oUjt0QOybB4jc0wKZ4Wec+qMljUMzWrtUL5Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11981680},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-10-21-0.3.30/counterparts-0.3.30.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0","node":">=22.15.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./hosts":"./src/adapters/hosts.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./lifecycle":"./src/adapters/lifecycle.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"scripts":{"test":"bun test","test:node":"node --import ./src/adapters/node-hooks.mjs --test test/node-smoke.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-10-21-0.3.30/counterparts-0.3.30.tgz","_integrity":"sha512-spKDypGkwt1kQWk/TUZ8X7dRM5Vp+9kmSks6/E2dw0KNb5biYqnFpzwifAC1Cy6fUvLbtV/rb4WLM8LRtmvp1Q==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Memory that turns AI tools into counterparts - a local-first, human-memory-modeled memory layer for AI.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.30_1792624260029_0.32649096947899614","host":"s3://npm-registry-packages-npm-production"}},"0.3.31":{"name":"counterparts","version":"0.3.31","keywords":["memory","ai","claude","mcp","local-first"],"license":"MIT","_id":"counterparts@0.3.31","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.mjs","counterparts-mcp":"src/adapters/mcp/bin/serve.mjs","counterparts-hook":"src/adapters/claude-code/bin/hook.mjs","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.mjs"},"dist":{"shasum":"6bf54cda2cf7b1b4eac0628c1b27abb6f0945173","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.31.tgz","fileCount":510,"integrity":"sha512-HOqV+Wsm+1+MXl8vWGZWUsjTM2eHKiNIfexpkaHB8V2djWElDnfwAITnLUhPMskrMDj3QVjBJT5yLdj0ok7eMg==","signatures":[{"sig":"MEUCIGarZvkCAE6uJ6CPw5RByC9lHk7JIfsrmwKCsxYPsIysAiEA8NsqMZBR2U4LJAj7gPevbjI38uTY26HT4HHLU53DfAc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIB5L4CtijUzzuMUTX4T5R51rEcCht8QeroOhIZ29hkPxAiAGWN5Yt+ecVMrIzeppN3l7v+ZW+geGy2L0RO/xz4J8/g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12447458},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-10-22-0.3.31/counterparts-0.3.31.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0","node":">=22.15.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./hosts":"./src/adapters/hosts.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./lifecycle":"./src/adapters/lifecycle.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"scripts":{"test":"bun test","test:node":"node --import ./src/adapters/node-hooks.mjs --test test/node-smoke.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-10-22-0.3.31/counterparts-0.3.31.tgz","_integrity":"sha512-HOqV+Wsm+1+MXl8vWGZWUsjTM2eHKiNIfexpkaHB8V2djWElDnfwAITnLUhPMskrMDj3QVjBJT5yLdj0ok7eMg==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Memory that turns AI tools into counterparts - a local-first, human-memory-modeled memory layer for AI.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.31_1792687812943_0.8880223855506899","host":"s3://npm-registry-packages-npm-production"}},"0.3.32":{"name":"counterparts","version":"0.3.32","keywords":["memory","ai","claude","mcp","local-first"],"license":"MIT","_id":"counterparts@0.3.32","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.mjs","counterparts-mcp":"src/adapters/mcp/bin/serve.mjs","counterparts-hook":"src/adapters/claude-code/bin/hook.mjs","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.mjs"},"dist":{"shasum":"5bdf50ed91f1c7383ae073c713ae1f724d469bbc","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.32.tgz","fileCount":510,"integrity":"sha512-4VRLCYItaQsiqpwVcKDMrmSMn6bnfqhSC3Qi8zBlrxCOBzCO22LEDNmzQr2ckltIah04Pg0jfXJLga8lNLAExg==","signatures":[{"sig":"MEUCIQDHKuhHr4okJq3OmOfNkx4D03MuaSm6HpGWoPp7N/TMbQIgHpOsbi8wzZQ648U87Etqo1yUfV+EoMyeq1s7YtTBWIk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIA0CYRRVCRkftXiGNZeAa4nEV3iY8on7uCZ72sQpU2sdAiBF5eofod4PSybqm+vp6027hDbhpDIFSsJHoeLfDPzgaA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12580421},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-10-22-0.3.32/counterparts-0.3.32.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0","node":">=22.15.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./hosts":"./src/adapters/hosts.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./lifecycle":"./src/adapters/lifecycle.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"scripts":{"test":"bun test","test:node":"node --import ./src/adapters/node-hooks.mjs --test test/node-smoke.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-10-22-0.3.32/counterparts-0.3.32.tgz","_integrity":"sha512-4VRLCYItaQsiqpwVcKDMrmSMn6bnfqhSC3Qi8zBlrxCOBzCO22LEDNmzQr2ckltIah04Pg0jfXJLga8lNLAExg==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Memory that turns AI tools into counterparts - a local-first, human-memory-modeled memory layer for AI.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.32_1792699965092_0.7391487768198277","host":"s3://npm-registry-packages-npm-production"}},"0.3.33":{"name":"counterparts","version":"0.3.33","keywords":["memory","ai","claude","mcp","local-first"],"license":"MIT","_id":"counterparts@0.3.33","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.mjs","counterparts-mcp":"src/adapters/mcp/bin/serve.mjs","counterparts-hook":"src/adapters/claude-code/bin/hook.mjs","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.mjs"},"dist":{"shasum":"2ceea1e5d27d0831297df4a5663b2cad96c0638b","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.33.tgz","fileCount":510,"integrity":"sha512-AlJUz+hhyz9f1NxE71+ar8ZBxKsYdYCyrHnT55eXU0uUFvPa/rFAu8RJRYmj9Y3cafBBW+bf1VBtG1Pd0knfZw==","signatures":[{"sig":"MEUCIQDyH9hGqQiRetO4+ZfEspz6yDcBX1NhXcOEanxh5nUbbQIgPZSvdv55ACwp6rSFzuKRFL7YEFmuXCf6JLTSt06x9oE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGx5immXFpX8Xt3ecWQ69euXyozWMDtSgAiGUMtuQ7uwAiAfCTZcEHJKQnKCF95vqO8ODxt/GH7J39iN1yILtU4dGA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12666731},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-10-23-0.3.33/counterparts-0.3.33.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0","node":">=22.15.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./hosts":"./src/adapters/hosts.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./lifecycle":"./src/adapters/lifecycle.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"scripts":{"test":"bun test","test:node":"node --import ./src/adapters/node-hooks.mjs --test test/node-smoke.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-10-23-0.3.33/counterparts-0.3.33.tgz","_integrity":"sha512-AlJUz+hhyz9f1NxE71+ar8ZBxKsYdYCyrHnT55eXU0uUFvPa/rFAu8RJRYmj9Y3cafBBW+bf1VBtG1Pd0knfZw==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Memory that turns AI tools into counterparts - a local-first, human-memory-modeled memory layer for AI.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.33_1792770882995_0.9195450324884249","host":"s3://npm-registry-packages-npm-production"}},"0.3.34":{"name":"counterparts","version":"0.3.34","keywords":["memory","ai","claude","mcp","local-first"],"license":"MIT","_id":"counterparts@0.3.34","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.mjs","counterparts-mcp":"src/adapters/mcp/bin/serve.mjs","counterparts-hook":"src/adapters/claude-code/bin/hook.mjs","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.mjs"},"dist":{"shasum":"b216f7447022f8a7ff73064d03e539368f207891","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.34.tgz","fileCount":510,"integrity":"sha512-ouv8ZslvyICi9AuqlhetUs6Uib5Cs7cHjGyOoRcTUXq8EMxHiOiTB4Dtih1YOvFFlGxM+SyAHCnq3Nb/wtXBCg==","signatures":[{"sig":"MEYCIQCNO5Dp68jiBmR98OIn4XZRbPgVkFJSIb2y0LTOsCuHxwIhAOtFoiw6kXKFa/f6K6GuM4gPJM2IPNd70MCgCEUaCG79","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC4JqZBEPdAh/Hv+OFAhJqbcPCFg2jI6w7fxMdFeN1L0QIhAOHlQg/1Hx4PUPgWyHbzdw1A+0lr0Fk73TLCft7Rn6wa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12840853},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-10-23-0.3.34/counterparts-0.3.34.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0","node":">=22.15.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./hosts":"./src/adapters/hosts.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./lifecycle":"./src/adapters/lifecycle.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"scripts":{"test":"bun test","test:node":"node --import ./src/adapters/node-hooks.mjs --test test/node-smoke.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-10-23-0.3.34/counterparts-0.3.34.tgz","_integrity":"sha512-ouv8ZslvyICi9AuqlhetUs6Uib5Cs7cHjGyOoRcTUXq8EMxHiOiTB4Dtih1YOvFFlGxM+SyAHCnq3Nb/wtXBCg==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Memory that turns AI tools into counterparts - a local-first, human-memory-modeled memory layer for AI.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.34_1792857428652_0.8992007568663662","host":"s3://npm-registry-packages-npm-production"}},"0.3.35":{"name":"counterparts","version":"0.3.35","keywords":["memory","ai","claude","mcp","local-first"],"license":"MIT","_id":"counterparts@0.3.35","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.mjs","counterparts-mcp":"src/adapters/mcp/bin/serve.mjs","counterparts-hook":"src/adapters/claude-code/bin/hook.mjs","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.mjs"},"dist":{"shasum":"13b3512bc9ab396dee5c541c3dd8e82f13b36998","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.35.tgz","fileCount":510,"integrity":"sha512-Uohjg1CVLIJ8ls8Un1Qln8nAvdD3KI1W0ervfaGG3M29dedWOMqzH6tQ6wC9DKYOLjLWy+QTwTr3Wgyyut9NmA==","signatures":[{"sig":"MEUCIQCF3hcNo1aXD2US/vDcnVZ7syJsQCDjV1UuB8sKjSK/AAIgIXO4yzskOmkIXbkZqFY3ITILT++nTTjLLrMWLWGx5Oc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFOaigrcTWz6nud9nYAcfL4cTl4z/f4OhlcsjwHeqRe2AiEAnyoa9oOC+4by4zvq6hMdh9bsTdHt4PvWSQSVGXbZ+Zk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12861651},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-10-24-0.3.35/counterparts-0.3.35.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0","node":">=22.15.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./hosts":"./src/adapters/hosts.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./lifecycle":"./src/adapters/lifecycle.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"scripts":{"test":"bun test","test:node":"node --import ./src/adapters/node-hooks.mjs --test test/node-smoke.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-10-24-0.3.35/counterparts-0.3.35.tgz","_integrity":"sha512-Uohjg1CVLIJ8ls8Un1Qln8nAvdD3KI1W0ervfaGG3M29dedWOMqzH6tQ6wC9DKYOLjLWy+QTwTr3Wgyyut9NmA==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Memory that turns AI tools into counterparts - a local-first, human-memory-modeled memory layer for AI.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.35_1792881438353_0.5421572337601399","host":"s3://npm-registry-packages-npm-production"}},"0.3.36":{"name":"counterparts","version":"0.3.36","keywords":["memory","ai","claude","mcp","local-first"],"license":"MIT","_id":"counterparts@0.3.36","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.mjs","counterparts-mcp":"src/adapters/mcp/bin/serve.mjs","counterparts-hook":"src/adapters/claude-code/bin/hook.mjs","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.mjs"},"dist":{"shasum":"c06221112d40796ca6555a98f6a255487cae3d25","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.36.tgz","fileCount":510,"integrity":"sha512-zWEKpV39gTJQCFcbYj2pJVOQSAD2uMb5ykl2lbVHQGGnLgAXwhJLPV3K/8fck8WDKGoMue6pio/AoZdtxy/zgw==","signatures":[{"sig":"MEYCIQC9nV3nhMEbwUCmWrfiLfC3oOOjEgYObygWa/mD4+5ttwIhAI5bhqNtzW+0ZQxrhqXFxvbIW1ZfGAjHk+CEo/qRBJ+b","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDI5PWp47EZBo+F+WWOtqcBXTBWbGvPhhU5O4228SFCJwIhAJ5I4G+2ufPBy+Hwnl3k58Pxx0R906oORXePxv4v8+qd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13047369},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-10-25-0.3.36/counterparts-0.3.36.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0","node":">=22.15.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./hosts":"./src/adapters/hosts.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./lifecycle":"./src/adapters/lifecycle.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"scripts":{"test":"bun test","test:node":"node --import ./src/adapters/node-hooks.mjs --test test/node-smoke.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-10-25-0.3.36/counterparts-0.3.36.tgz","_integrity":"sha512-zWEKpV39gTJQCFcbYj2pJVOQSAD2uMb5ykl2lbVHQGGnLgAXwhJLPV3K/8fck8WDKGoMue6pio/AoZdtxy/zgw==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Memory that turns AI tools into counterparts - a local-first, human-memory-modeled memory layer for AI.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.36_1792948681869_0.8102156593370551","host":"s3://npm-registry-packages-npm-production"}},"0.3.37":{"name":"counterparts","version":"0.3.37","keywords":["memory","ai","claude","mcp","local-first"],"license":"MIT","_id":"counterparts@0.3.37","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.mjs","counterparts-mcp":"src/adapters/mcp/bin/serve.mjs","counterparts-hook":"src/adapters/claude-code/bin/hook.mjs","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.mjs"},"dist":{"shasum":"c2cc07389610b9fe30412f924bb6e61c63d2e0a0","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.37.tgz","fileCount":511,"integrity":"sha512-Fxz/1MICYbMptMU5K1rFaEvvwC+CSUL6dcFu/960VK+RBo64bLNDo12vOGua7E4Y9jC8r8x5cY6aM84fDnDPag==","signatures":[{"sig":"MEYCIQCo4ua8Mqb672Rp4q2o/mAqnHRDB3IVmXK8eneyIkdqvAIhAOzAp7HCvRA8SsLSuS2JtxL694YajMwtqFDrLmmKW3iE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDbCenv6X535UGoP1j9K1XhWhsj5e2oyKoRpjKumxbhiAiBW+rL4xHQ+rWsRr3V4zMFuB1Uex9DGJk4JXbXq+p8wBw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13138905},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-10-25-0.3.37/counterparts-0.3.37.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0","node":">=22.15.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./hosts":"./src/adapters/hosts.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./lifecycle":"./src/adapters/lifecycle.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"scripts":{"test":"bun test","test:node":"node --import ./src/adapters/node-hooks.mjs --test test/node-smoke.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-10-25-0.3.37/counterparts-0.3.37.tgz","_integrity":"sha512-Fxz/1MICYbMptMU5K1rFaEvvwC+CSUL6dcFu/960VK+RBo64bLNDo12vOGua7E4Y9jC8r8x5cY6aM84fDnDPag==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Memory that turns AI tools into counterparts - a local-first, human-memory-modeled memory layer for AI.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.37_1793014632453_0.5767994593956298","host":"s3://npm-registry-packages-npm-production"}},"0.3.38":{"name":"counterparts","version":"0.3.38","keywords":["memory","ai","claude","mcp","local-first"],"license":"MIT","_id":"counterparts@0.3.38","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.mjs","counterparts-mcp":"src/adapters/mcp/bin/serve.mjs","counterparts-hook":"src/adapters/claude-code/bin/hook.mjs","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.mjs"},"dist":{"shasum":"55ae54a957055d9a17c3ccee1556ef5a72d854d7","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.38.tgz","fileCount":529,"integrity":"sha512-TC9GUiUovdeFbEdO/DBuaJrQof0QrKHopHMgnlObuRmln6fdfK444O/ypK8VHXBjKXB1qQavpQgaxSN8X+J9yA==","signatures":[{"sig":"MEQCIDX+enDEtplkqrHcKQZ3iM9HaR0+cNUbPOjCNNzxD1xuAiBv+eBA3PdjY23VLQEryjP3duB+S1mqWgf8KDZrlVFGlg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHM075eT8rM17/zYJ91phFQ+rqijz1U44bKBFOl9ONraAiAcup+sd5qpgZGnXiexr/XdTnwa05AgBewHvbH9+9rmNg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13549047},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-10-28-0.3.38/counterparts-0.3.38.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0","node":">=22.15.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./hosts":"./src/adapters/hosts.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./lifecycle":"./src/adapters/lifecycle.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"scripts":{"test":"bun test","test:node":"node --import ./src/adapters/node-hooks.mjs --test test/node-smoke.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-10-28-0.3.38/counterparts-0.3.38.tgz","_integrity":"sha512-TC9GUiUovdeFbEdO/DBuaJrQof0QrKHopHMgnlObuRmln6fdfK444O/ypK8VHXBjKXB1qQavpQgaxSN8X+J9yA==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Memory that turns AI tools into counterparts - a local-first, human-memory-modeled memory layer for AI.","directories":{},"_nodeVersion":"20.19.1","dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.38_1793204293057_0.7796156394411413","host":"s3://npm-registry-packages-npm-production"}},"0.3.39":{"name":"counterparts","version":"0.3.39","keywords":["memory","ai","claude","mcp","local-first"],"license":"MIT","_id":"counterparts@0.3.39","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.mjs","counterparts-mcp":"src/adapters/mcp/bin/serve.mjs","counterparts-hook":"src/adapters/claude-code/bin/hook.mjs","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.mjs"},"dist":{"shasum":"6ea035315d7f4af218f952311acb1713584e6fb1","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.39.tgz","fileCount":530,"integrity":"sha512-a0Py+CcfhUFIMV7D0rXhJGkFl3kKV5DYWg5nHU/h89ByL2IHCrMyayGLfLZNO6ATWsNUGqbInwE5q/+7JzzA6g==","signatures":[{"sig":"MEUCIAmgDceyw2IffKZfCWDqDgyUbBaA7RMkwhmbGcLGZ1edAiEAzLuaGuvaQxp7LH5kEFUsYgFMHF7Rd1YyHtzAU4MXtRQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGO3nV/8sO1RvVZ+2s2rsePMQ8pdXVUjBg9BaRpM+gUyAiEA5cZz8RBoupC6iEysIcm13VshfQuYM29P8BpZ4s6ajEg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13622509},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-10-28-0.3.39/counterparts-0.3.39.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0","node":">=22.15.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./hosts":"./src/adapters/hosts.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./lifecycle":"./src/adapters/lifecycle.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"scripts":{"test":"bun test","test:node":"node --import ./src/adapters/node-hooks.mjs --test test/node-smoke.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-10-28-0.3.39/counterparts-0.3.39.tgz","_integrity":"sha512-a0Py+CcfhUFIMV7D0rXhJGkFl3kKV5DYWg5nHU/h89ByL2IHCrMyayGLfLZNO6ATWsNUGqbInwE5q/+7JzzA6g==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Memory that turns AI tools into counterparts - a local-first, human-memory-modeled memory layer for AI.","directories":{},"_nodeVersion":"20.19.1","counterparts":{"updates":{"plugin":true,"tellBelow":null,"tellBehind":3,"urgentBelow":null}},"dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.39_1793221365972_0.8559291134485644","host":"s3://npm-registry-packages-npm-production"}},"0.3.40":{"name":"counterparts","version":"0.3.40","keywords":["memory","ai","claude","mcp","local-first"],"license":"MIT","_id":"counterparts@0.3.40","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.mjs","counterparts-mcp":"src/adapters/mcp/bin/serve.mjs","counterparts-hook":"src/adapters/claude-code/bin/hook.mjs","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.mjs"},"dist":{"shasum":"c8bac5f2241aeee5df1e1010157bff0ddcc87821","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.40.tgz","fileCount":530,"integrity":"sha512-4D1Y2NHFQ3acIvRVmMUu0uTrBAxOAJXI6BDBoR/QrVBsfAPypo0R3waeuPRzFcW23OOjcFko+8Sjj5Z8yXY37w==","signatures":[{"sig":"MEQCIHXxHqvYGtv768qCzPaBYUTSJedxwY+TILS5MMdCwPoKAiASyjUM/qRdtK9W8deLhIzfqi6WFrO+rRIgfhr9CYAvgQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGPrOpVvsZ4LS/wDn2n3KVshWjM0OVvQKYUZQwAiMkRVAiBfnWbwmbuYef2gvSZhrV9ZHP4FCQXZiDP7Vfba6TyYEg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13649236},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-10-29-0.3.40/counterparts-0.3.40.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0","node":">=22.15.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./hosts":"./src/adapters/hosts.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./lifecycle":"./src/adapters/lifecycle.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"scripts":{"test":"bun test","test:node":"node --import ./src/adapters/node-hooks.mjs --test test/node-smoke.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-10-29-0.3.40/counterparts-0.3.40.tgz","_integrity":"sha512-4D1Y2NHFQ3acIvRVmMUu0uTrBAxOAJXI6BDBoR/QrVBsfAPypo0R3waeuPRzFcW23OOjcFko+8Sjj5Z8yXY37w==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Memory that turns AI tools into counterparts - a local-first, human-memory-modeled memory layer for AI.","directories":{},"_nodeVersion":"20.19.1","counterparts":{"updates":{"plugin":true,"tellBelow":null,"tellBehind":3,"urgentBelow":null}},"dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.40_1793304204367_0.9525278688521072","host":"s3://npm-registry-packages-npm-production"}},"0.3.41":{"name":"counterparts","version":"0.3.41","keywords":["memory","ai","claude","mcp","local-first"],"license":"MIT","_id":"counterparts@0.3.41","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.mjs","counterparts-mcp":"src/adapters/mcp/bin/serve.mjs","counterparts-hook":"src/adapters/claude-code/bin/hook.mjs","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.mjs"},"dist":{"shasum":"917f209463882efb6d40281f27f7dcc17f88c83a","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.41.tgz","fileCount":530,"integrity":"sha512-i3OmtEGeYhsVK0TtgGM1peI+JDU7qvB1wkToL0k7FwwxbEo4LyNRjgXTFoEIldSHgUeDThcGjpqgqnbFThGCYw==","signatures":[{"sig":"MEUCIQCVzxCCah2tyq1emVf2jEcRNSLb+YmxsfGiqqpAIcjgHgIgUI8TEXfK70Ex4ZFBET221z73Y+WIdgAH8Rkn7FB+EUw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDeuiMOZLj3353rcyTvVARYkuMoqCWxz0drSocS4ufLUgIgIZ0fcMAjcc2HKwubVfGD6bnuO3vq6Nb3d0mBvyn5rzc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13691514},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-10-30-0.3.41/counterparts-0.3.41.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0","node":">=22.15.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./hosts":"./src/adapters/hosts.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./lifecycle":"./src/adapters/lifecycle.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"scripts":{"test":"bun test","test:node":"node --import ./src/adapters/node-hooks.mjs --test test/node-smoke.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-10-30-0.3.41/counterparts-0.3.41.tgz","_integrity":"sha512-i3OmtEGeYhsVK0TtgGM1peI+JDU7qvB1wkToL0k7FwwxbEo4LyNRjgXTFoEIldSHgUeDThcGjpqgqnbFThGCYw==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Memory that turns AI tools into counterparts - a local-first, human-memory-modeled memory layer for AI.","directories":{},"_nodeVersion":"20.19.1","counterparts":{"updates":{"plugin":true,"tellBelow":null,"tellBehind":3,"urgentBelow":null}},"dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.41_1793371036886_0.6345176570757647","host":"s3://npm-registry-packages-npm-production"}},"0.3.42":{"name":"counterparts","version":"0.3.42","keywords":["memory","ai","claude","mcp","local-first"],"license":"MIT","_id":"counterparts@0.3.42","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.mjs","counterparts-mcp":"src/adapters/mcp/bin/serve.mjs","counterparts-hook":"src/adapters/claude-code/bin/hook.mjs","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.mjs"},"dist":{"shasum":"556396ab1deffbfccd30d36a6aedd7fe4664e959","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.42.tgz","fileCount":530,"integrity":"sha512-vxq3G+TyY6gGMgneTMOZpdENCdcq3ZbFi1lEKsCGQfvmnyM8/9hqYcQq0tXnHQOj1vf2bqYWVZF8/ptvTXG2CA==","signatures":[{"sig":"MEUCIDnHKEpQJ+TuVxWh8fS+pGbXEOctNfuKhTGR9sG75DqfAiEAuk89tSxak8XY7amXqLH2piEqSX3qJTcD2SuNzbKwN6Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCpR18y3g2cBDAQqStXDLunT2RXCanMP069QESxZzDoAQIhAOwOgxKZWQJj0D/ZZW3GotX2zjVba1J+XtLe2KlSD0mG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13835646},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-10-30-0.3.42/counterparts-0.3.42.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0","node":">=22.15.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./hosts":"./src/adapters/hosts.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./lifecycle":"./src/adapters/lifecycle.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"scripts":{"test":"bun test","test:node":"node --import ./src/adapters/node-hooks.mjs --test test/node-smoke.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-10-30-0.3.42/counterparts-0.3.42.tgz","_integrity":"sha512-vxq3G+TyY6gGMgneTMOZpdENCdcq3ZbFi1lEKsCGQfvmnyM8/9hqYcQq0tXnHQOj1vf2bqYWVZF8/ptvTXG2CA==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Memory that turns AI tools into counterparts - a local-first, human-memory-modeled memory layer for AI.","directories":{},"_nodeVersion":"20.19.1","counterparts":{"updates":{"plugin":true,"tellBelow":null,"tellBehind":3,"urgentBelow":null}},"dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.42_1793414353648_0.9926149626212041","host":"s3://npm-registry-packages-npm-production"}},"0.3.43":{"name":"counterparts","version":"0.3.43","keywords":["memory","ai","claude","mcp","local-first"],"license":"MIT","_id":"counterparts@0.3.43","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.mjs","counterparts-mcp":"src/adapters/mcp/bin/serve.mjs","counterparts-hook":"src/adapters/claude-code/bin/hook.mjs","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.mjs"},"dist":{"shasum":"3c23028de72ae5d95a84e6085f81830694a90ea9","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.43.tgz","fileCount":531,"integrity":"sha512-YoMdmn2dEePRQW2ZZ6SdE6MAVAaVaSzG8I5j1dQkv2RZXBN/h7NPdiJhIuPuEYiYObNcXjM7YltkHNTm/WDFjA==","signatures":[{"sig":"MEYCIQDKLBDlMu5Ffjm+HCsV//5fnx7FvZZRFOyWWQBV7VVY7QIhAJqlYbLGPoqOH7j+nvESq848NTpLOb6FEhod7tlckBLy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCvlpq/HwCtNcWv+NrJaFQSvvf56duCXbhMpLX9Z7G0DQIgNX11L5VvBbP0UmPp9MvfaQBUy4IFlbaftAaT8B8fzY8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13934433},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-11-01-0.3.43/counterparts-0.3.43.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0","node":">=22.15.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./hosts":"./src/adapters/hosts.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./lifecycle":"./src/adapters/lifecycle.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"scripts":{"test":"bun test","test:node":"node --import ./src/adapters/node-hooks.mjs --test test/node-smoke.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-11-01-0.3.43/counterparts-0.3.43.tgz","_integrity":"sha512-YoMdmn2dEePRQW2ZZ6SdE6MAVAaVaSzG8I5j1dQkv2RZXBN/h7NPdiJhIuPuEYiYObNcXjM7YltkHNTm/WDFjA==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Memory that turns AI tools into counterparts - a local-first, human-memory-modeled memory layer for AI.","directories":{},"_nodeVersion":"20.19.1","counterparts":{"updates":{"plugin":true,"tellBelow":null,"tellBehind":3,"urgentBelow":null}},"dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.43_1793557927588_0.7378122445261317","host":"s3://npm-registry-packages-npm-production"}},"0.3.44":{"name":"counterparts","version":"0.3.44","keywords":["memory","ai","claude","mcp","local-first"],"license":"MIT","_id":"counterparts@0.3.44","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.mjs","counterparts-mcp":"src/adapters/mcp/bin/serve.mjs","counterparts-hook":"src/adapters/claude-code/bin/hook.mjs","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.mjs"},"dist":{"shasum":"1530816dc09d1ba69bf4c0973effa76341dc5a3d","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.44.tgz","fileCount":531,"integrity":"sha512-/L+C8LV5whZfqHDSXIKNTiqQsFRxy8Ekt157yY5palFlCNn0Dp56CjqALwCFZVzuXeP7W/puf4zq0kLiqvN19Q==","signatures":[{"sig":"MEYCIQC8vds5cfL81rTr+KQUhyGC/A1tZax9k/SuybHrNsGSFQIhAP+KSoLzEQid4DIqAaXRCJXJX31thhDkEhp2ah39Q//c","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHdvu/m702ehvfXdp564YoQWzgP9ZZq6NI+hJUwiaSZaAiAhnENdy/BJTqLmNVEnqavUNixAd5jk3Hrkps57qyBHsg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13944021},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-11-01-0.3.44/counterparts-0.3.44.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0","node":">=22.15.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./hosts":"./src/adapters/hosts.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./lifecycle":"./src/adapters/lifecycle.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"scripts":{"test":"bun test","test:node":"node --import ./src/adapters/node-hooks.mjs --test test/node-smoke.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-11-01-0.3.44/counterparts-0.3.44.tgz","_integrity":"sha512-/L+C8LV5whZfqHDSXIKNTiqQsFRxy8Ekt157yY5palFlCNn0Dp56CjqALwCFZVzuXeP7W/puf4zq0kLiqvN19Q==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Memory that turns AI tools into counterparts - a local-first, human-memory-modeled memory layer for AI.","directories":{},"_nodeVersion":"20.19.1","counterparts":{"updates":{"plugin":true,"tellBelow":null,"tellBehind":3,"urgentBelow":null}},"dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.44_1793574083226_0.37264032322078944","host":"s3://npm-registry-packages-npm-production"}},"0.3.45":{"name":"counterparts","version":"0.3.45","keywords":["memory","ai","claude","mcp","local-first"],"license":"MIT","_id":"counterparts@0.3.45","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.mjs","counterparts-mcp":"src/adapters/mcp/bin/serve.mjs","counterparts-hook":"src/adapters/claude-code/bin/hook.mjs","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.mjs"},"dist":{"shasum":"d3c430a906c8f35dc5efcf30a7c12f31ada524ee","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.45.tgz","fileCount":532,"integrity":"sha512-/+nhTKYBvUqw0YPQeMksUo60B5WAPc+RI6cZvQk8qbmcsf0VBs2PCKYXpNzE2MMrK1ZIfHvuXGq2MruRxxOi9g==","signatures":[{"sig":"MEYCIQCCsnTFEZOXlijO0esxgdiCAbC6VrRRvQH2bWeDd+XxCQIhAJ7NyK4KYOmD/wH724UfBdPpOJsrltdW9VNWAiJ7TCtG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCImiNgtvOKiXuifEPSRZySkbmS5f4i83NvDDcDu0QQSgIhALpUOKW3MUslIjc1PKqsPCvOUQ10x3htXSrWdtsfZYDp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14011923},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-11-01-0.3.45/counterparts-0.3.45.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0","node":">=22.15.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./hosts":"./src/adapters/hosts.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./lifecycle":"./src/adapters/lifecycle.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"scripts":{"test":"bun test","test:node":"node --import ./src/adapters/node-hooks.mjs --test test/node-smoke.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-11-01-0.3.45/counterparts-0.3.45.tgz","_integrity":"sha512-/+nhTKYBvUqw0YPQeMksUo60B5WAPc+RI6cZvQk8qbmcsf0VBs2PCKYXpNzE2MMrK1ZIfHvuXGq2MruRxxOi9g==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Memory that turns AI tools into counterparts - a local-first, human-memory-modeled memory layer for AI.","directories":{},"_nodeVersion":"20.19.1","counterparts":{"updates":{"plugin":true,"tellBelow":null,"tellBehind":3,"urgentBelow":null}},"dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.45_1793586268485_0.503383608918508","host":"s3://npm-registry-packages-npm-production"}},"0.3.46":{"name":"counterparts","version":"0.3.46","keywords":["memory","ai","claude","mcp","local-first"],"license":"MIT","_id":"counterparts@0.3.46","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.mjs","counterparts-mcp":"src/adapters/mcp/bin/serve.mjs","counterparts-hook":"src/adapters/claude-code/bin/hook.mjs","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.mjs"},"dist":{"shasum":"ecae1862b8ae9f93da5a1195a3a60df70d1c69ae","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.46.tgz","fileCount":536,"integrity":"sha512-hgWxp1mdVXQjFutOgGCo/rXn6LTC3Nqr7Gr7OuWi5oRtGO8ZFvAGqEJnXhGBCv1xPoVeGQNqEaPlCo4FQXsBzA==","signatures":[{"sig":"MEQCIA9QqfzbYdpmeMfzVgUEG8WzLIoGMzeEe6KleI612iQtAiAsCVmK15qAazYg5HNhS+tsi1IU6nzAnbhDl6F36IvpPw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGt1VntOuT+AKdyzkLxDHOO5LAl0SCeX4kkVh1+otDkNAiEAzVClf1VXqshulDWq7ST4AGDvpr/gzkHCFUWar6CUkjE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14134955},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-11-03-0.3.46/counterparts-0.3.46.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0","node":">=22.15.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./hosts":"./src/adapters/hosts.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./lifecycle":"./src/adapters/lifecycle.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"scripts":{"test":"bun test","test:node":"node --import ./src/adapters/node-hooks.mjs --test test/node-smoke.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-11-03-0.3.46/counterparts-0.3.46.tgz","_integrity":"sha512-hgWxp1mdVXQjFutOgGCo/rXn6LTC3Nqr7Gr7OuWi5oRtGO8ZFvAGqEJnXhGBCv1xPoVeGQNqEaPlCo4FQXsBzA==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Memory that turns AI tools into counterparts - a local-first, human-memory-modeled memory layer for AI.","directories":{},"_nodeVersion":"20.19.1","counterparts":{"updates":{"plugin":true,"tellBelow":null,"tellBehind":3,"urgentBelow":null}},"dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.46_1793760105560_0.9398589884108053","host":"s3://npm-registry-packages-npm-production"}},"0.3.47":{"name":"counterparts","version":"0.3.47","keywords":["memory","ai","claude","mcp","local-first","claude-code","mcp-server","model-context-protocol","long-term-memory","agent-memory"],"license":"MIT","_id":"counterparts@0.3.47","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.mjs","counterparts-mcp":"src/adapters/mcp/bin/serve.mjs","counterparts-hook":"src/adapters/claude-code/bin/hook.mjs","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.mjs"},"dist":{"shasum":"75e05c26e6edc89dd9ab7f2d2c2f3b1b66233d76","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.47.tgz","fileCount":538,"integrity":"sha512-mH8bDi5YofCWNjwwAlhpbSAmz3eLZdeh/rRPfs1HDw4GmipDr3oUdsFmyKUPJN+oAxSjhGC/bLk3pktsrvgMpQ==","signatures":[{"sig":"MEQCICCe0fov5xzHKBHoUw7XxUaO34Wg29qHX1ZYZyNz9WCIAiA07UvPyHTqdkj9DIy4+aZSBO1pX4Q8o750JX9QF1UvWw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDq0PuRm9IieL44apgVHufrRY0vP2q0zV5VKBSDnrlaOAiEA5v/GrL2gHEQ4Pcle8rkgwy4yLlQ2BhYKBEqGgyteIrw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14314039},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-11-04-0.3.47/counterparts-0.3.47.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0","node":">=22.15.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./hosts":"./src/adapters/hosts.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./lifecycle":"./src/adapters/lifecycle.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"mcpName":"ai.counterparts/memory","scripts":{"test":"bun test","test:node":"node --import ./src/adapters/node-hooks.mjs --test test/node-smoke.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-11-04-0.3.47/counterparts-0.3.47.tgz","_integrity":"sha512-mH8bDi5YofCWNjwwAlhpbSAmz3eLZdeh/rRPfs1HDw4GmipDr3oUdsFmyKUPJN+oAxSjhGC/bLk3pktsrvgMpQ==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Memory that turns AI tools into counterparts - a local-first, human-memory-modeled memory layer for AI.","directories":{},"_nodeVersion":"20.19.1","counterparts":{"updates":{"plugin":true,"tellBelow":null,"tellBehind":3,"urgentBelow":null}},"dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.47_1793891884552_0.04137784847030801","host":"s3://npm-registry-packages-npm-production"}},"0.3.48":{"name":"counterparts","version":"0.3.48","keywords":["memory","ai","claude","mcp","local-first","claude-code","mcp-server","model-context-protocol","long-term-memory","agent-memory","claude-code-memory","ai-memory","persistent-memory","claude-desktop","claude-code-hooks","anthropic","sqlite"],"license":"MIT","_id":"counterparts@0.3.48","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai/?r=npm","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.mjs","counterparts-mcp":"src/adapters/mcp/bin/serve.mjs","counterparts-hook":"src/adapters/claude-code/bin/hook.mjs","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.mjs"},"dist":{"shasum":"2f623d98ae003645d461ab126ce363a3f3573214","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.48.tgz","fileCount":538,"integrity":"sha512-nEMyUcNJThbImUcR0GL9PrKvrk9Rp/H1yyYqQT0jgs3tll9x8n+7fBvxnLEnfKB6c+Gj5Wvb/g1OP8OEe3TfGw==","signatures":[{"sig":"MEQCIEnewa0BvEaNmAShTLFbw0gxKiB/RKGKc3hQnCVQvBIjAiBJsIpV9Zvg/yBcoF2/UYsLxlPw9BJosmp4htQRykO1ow==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGNLVyeift95ym+USaWntywXHLSvNM14ZqH3VL0mYKoGAiEA1ElOVz7yNq/v0vmq9UGzeuet9NfVBDrgNkub52HbBvs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14339754},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-11-06-0.3.48/counterparts-0.3.48.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0","node":">=22.15.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./hosts":"./src/adapters/hosts.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./lifecycle":"./src/adapters/lifecycle.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"mcpName":"ai.counterparts/memory","scripts":{"test":"bun test","test:node":"node --import ./src/adapters/node-hooks.mjs --test test/node-smoke.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-11-06-0.3.48/counterparts-0.3.48.tgz","_integrity":"sha512-nEMyUcNJThbImUcR0GL9PrKvrk9Rp/H1yyYqQT0jgs3tll9x8n+7fBvxnLEnfKB6c+Gj5Wvb/g1OP8OEe3TfGw==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Long-term memory for Claude Code, written by Claude itself. Local MCP server and hooks; remembers you across sessions.","directories":{},"_nodeVersion":"20.19.1","counterparts":{"updates":{"plugin":true,"tellBelow":null,"tellBehind":3,"urgentBelow":null}},"dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.48_1793982830678_0.40656551062029755","host":"s3://npm-registry-packages-npm-production"}},"0.3.49":{"name":"counterparts","version":"0.3.49","keywords":["memory","ai","claude","mcp","local-first","claude-code","mcp-server","model-context-protocol","long-term-memory","agent-memory","claude-code-memory","ai-memory","persistent-memory","claude-desktop","claude-code-hooks","anthropic","sqlite"],"license":"MIT","_id":"counterparts@0.3.49","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai/?r=npm","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.mjs","counterparts-mcp":"src/adapters/mcp/bin/serve.mjs","counterparts-hook":"src/adapters/claude-code/bin/hook.mjs","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.mjs"},"dist":{"shasum":"8899903d71963e26f74a2f48b87d759cc47ad8a2","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.49.tgz","fileCount":538,"integrity":"sha512-R/nFNWoXa312HkH1qqqd9/GhjleohgzNyiPZ10nOm2RW8w/IU+H24wVpFU89orKH3Lv5Dq5hBzCb0kSGDN7PPw==","signatures":[{"sig":"MEUCIGPYiJ36TFZwdSDRhk7ZNxfLRgPv7txmE+KyTVP9g5lBAiEA0JEPTdwrbO6dj3PC2GvCGIDGedpNxjXyyO7ZEigZ7x4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFoMqgkv3/eGmpCaoqh/8AX41Qi1rkINK9tuVhIC+kLpAiEAqjB2eVBqFrQf98jAUKq857gr8AoxSJ7r+fCYgyveI/I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14340971},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-11-06-0.3.49/counterparts-0.3.49.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0","node":">=22.15.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./hosts":"./src/adapters/hosts.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./lifecycle":"./src/adapters/lifecycle.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"mcpName":"ai.counterparts/memory","scripts":{"test":"bun test","test:node":"node --import ./src/adapters/node-hooks.mjs --test test/node-smoke.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-11-06-0.3.49/counterparts-0.3.49.tgz","_integrity":"sha512-R/nFNWoXa312HkH1qqqd9/GhjleohgzNyiPZ10nOm2RW8w/IU+H24wVpFU89orKH3Lv5Dq5hBzCb0kSGDN7PPw==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Long-term memory for Claude Code, written by Claude itself. Local MCP server and hooks; remembers you across sessions.","directories":{},"_nodeVersion":"20.19.1","counterparts":{"updates":{"plugin":true,"tellBelow":null,"tellBehind":3,"urgentBelow":null}},"dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.49_1793987323816_0.7639279341184618","host":"s3://npm-registry-packages-npm-production"}},"0.3.50":{"name":"counterparts","version":"0.3.50","keywords":["memory","ai","claude","mcp","local-first","claude-code","mcp-server","model-context-protocol","long-term-memory","agent-memory","claude-code-memory","ai-memory","persistent-memory","claude-desktop","claude-code-hooks","anthropic","sqlite"],"license":"MIT","_id":"counterparts@0.3.50","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai/?r=npm","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.mjs","counterparts-mcp":"src/adapters/mcp/bin/serve.mjs","counterparts-hook":"src/adapters/claude-code/bin/hook.mjs","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.mjs"},"dist":{"shasum":"2a7b127ed8ba237f123ea514f2cdfa1cf97223ab","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.50.tgz","fileCount":538,"integrity":"sha512-dEt8YH/J6Rxrc0iDey+ooKBa8MPhjZN1RaP0/1ThDG3WfR9ibF5m3btdIswdQebfLexI7cHtAPA+4lzQvKalUQ==","signatures":[{"sig":"MEYCIQCFSSOzblmXYsB5scbEhkYJoSq5WCYb9XsILArXYyKSbAIhAPmkHdTnuZT4bM4AHFvy0+UhNrKlT293lAAfwxnYXLht","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD6rm0IElB3k3swL25S/rp8EgteTTkI7Le91CYtp0x3MAIhAPs/Y0+bJon+uQyYlQ6sbKvFI/cuyXzwgT8YYCxwKJqe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14342655},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-11-06-0.3.50/counterparts-0.3.50.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0","node":">=22.15.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./hosts":"./src/adapters/hosts.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./lifecycle":"./src/adapters/lifecycle.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"mcpName":"ai.counterparts/memory","scripts":{"test":"bun test","test:node":"node --import ./src/adapters/node-hooks.mjs --test test/node-smoke.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-11-06-0.3.50/counterparts-0.3.50.tgz","_integrity":"sha512-dEt8YH/J6Rxrc0iDey+ooKBa8MPhjZN1RaP0/1ThDG3WfR9ibF5m3btdIswdQebfLexI7cHtAPA+4lzQvKalUQ==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Long-term memory for Claude Code, written by Claude itself. Local MCP server and hooks; remembers you across sessions.","directories":{},"_nodeVersion":"20.19.1","counterparts":{"updates":{"plugin":true,"tellBelow":null,"tellBehind":3,"urgentBelow":null}},"dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.50_1793996760623_0.6507961754593574","host":"s3://npm-registry-packages-npm-production"}},"0.3.52":{"name":"counterparts","version":"0.3.52","keywords":["memory","ai","claude","mcp","local-first","claude-code","mcp-server","model-context-protocol","long-term-memory","agent-memory","claude-code-memory","ai-memory","persistent-memory","claude-desktop","claude-code-hooks","anthropic","sqlite"],"license":"MIT","_id":"counterparts@0.3.52","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai/?r=npm","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.mjs","counterparts-mcp":"src/adapters/mcp/bin/serve.mjs","counterparts-hook":"src/adapters/claude-code/bin/hook.mjs","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.mjs"},"dist":{"shasum":"878ebaf09dcb70578a710ba68b34aa7ec5976b97","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.52.tgz","fileCount":549,"integrity":"sha512-whrnvY0/2mqqSkMQXdty7ARB5XZAVzep17cEVVEbF8+Gq6d2fxrfG65sOqCbI+oWjJsYkXSNiK3jvd9iiZbezg==","signatures":[{"sig":"MEYCIQDgPHSkGXqPl46860BywIifMdVADleh/FU9jJd70b/XCgIhAPVy1kBcqx20F+qFIT8qkBRoUypF9l9elgLBZ+UqKOhF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFSpz3j28j+MvbnC7/pLwy9FI9xZoL+mSCqbI32jHessAiEA78xpZMFXg6Fi/CXkavJK9dpDNILyocrj8kUHwSwwEbM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14640954},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-11-09-0.3.52/counterparts-0.3.52.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0","node":">=22.15.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./hosts":"./src/adapters/hosts.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./lifecycle":"./src/adapters/lifecycle.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"mcpName":"ai.counterparts/memory","scripts":{"test":"bun test","test:node":"node --import ./src/adapters/node-hooks.mjs --test test/node-smoke.ts","typecheck":"tsc --noEmit","postinstall":"node src/adapters/windows-shims.mjs || exit 0"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-11-09-0.3.52/counterparts-0.3.52.tgz","_integrity":"sha512-whrnvY0/2mqqSkMQXdty7ARB5XZAVzep17cEVVEbF8+Gq6d2fxrfG65sOqCbI+oWjJsYkXSNiK3jvd9iiZbezg==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Long-term memory for Claude Code, written by Claude itself. Local MCP server and hooks; remembers you across sessions.","directories":{},"_nodeVersion":"20.19.1","counterparts":{"updates":{"plugin":true,"tellBelow":null,"tellBehind":3,"urgentBelow":null}},"dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.52_1794258721887_0.7918645903669189","host":"s3://npm-registry-packages-npm-production"}},"0.3.53":{"name":"counterparts","version":"0.3.53","keywords":["memory","ai","claude","mcp","local-first","claude-code","mcp-server","model-context-protocol","long-term-memory","agent-memory","claude-code-memory","ai-memory","persistent-memory","claude-desktop","claude-code-hooks","anthropic","sqlite"],"license":"MIT","_id":"counterparts@0.3.53","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"homepage":"https://counterparts.ai/?r=npm","bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"bin":{"counterparts":"src/adapters/cli/bin/counterparts.mjs","counterparts-mcp":"src/adapters/mcp/bin/serve.mjs","counterparts-hook":"src/adapters/claude-code/bin/hook.mjs","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.mjs"},"dist":{"shasum":"b5954a4cd5d354d25136fda6f4f863c3c03d8bd9","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.53.tgz","fileCount":552,"integrity":"sha512-1mj6ZVEpaG6g7XQ9iOX8kvwD4K8xQMgBUgdSXg20zIytzCEdnaAiMg/fxAqBLje45pYhGgU+Op43XwGdqCvATQ==","signatures":[{"sig":"MEQCICWdTI80kVo0dbZv4hxa8WtZawbooCbc8a5mYaD+ZMlIAiARVHOE8VXQAaXsT1YWfXOMzP9SWHXGwNF5a1p0986GOg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGHLDNFhcJcDxWdxAAsA8dHOhyhne8hYfP3aQPhFM1tsAiEA7v7nKW/FhWL7/MVGR//6krLuK1qYBuScyoV65Gji4hc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14805149},"main":"./src/core/counterpart.ts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-11-09-0.3.53/counterparts-0.3.53.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0","node":">=22.15.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./hosts":"./src/adapters/hosts.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./lifecycle":"./src/adapters/lifecycle.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"mcpName":"ai.counterparts/memory","scripts":{"test":"bun test","test:node":"node --import ./src/adapters/node-hooks.mjs --test test/node-smoke.ts","typecheck":"tsc --noEmit","postinstall":"node src/adapters/windows-shims.mjs || exit 0"},"_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"_resolved":"/Users/mlapeter/counterparts-backups/2026-11-09-0.3.53/counterparts-0.3.53.tgz","_integrity":"sha512-1mj6ZVEpaG6g7XQ9iOX8kvwD4K8xQMgBUgdSXg20zIytzCEdnaAiMg/fxAqBLje45pYhGgU+Op43XwGdqCvATQ==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Long-term memory for Claude Code, written by Claude itself. Local MCP server and hooks; remembers you across sessions.","directories":{},"_nodeVersion":"20.19.1","counterparts":{"updates":{"plugin":true,"tellBelow":null,"tellBehind":3,"urgentBelow":null}},"dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/counterparts_0.3.53_1794318797536_0.8530247956881895","host":"s3://npm-registry-packages-npm-production"}},"0.3.54":{"_id":"counterparts@0.3.54","bin":{"counterparts":"src/adapters/cli/bin/counterparts.mjs","counterparts-mcp":"src/adapters/mcp/bin/serve.mjs","counterparts-hook":"src/adapters/claude-code/bin/hook.mjs","counterparts-dashboard":"src/adapters/dashboard/bin/dashboard.mjs"},"bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"dist":{"shasum":"dc12f24d23604b70e5973c3dc279e4fde72e545a","tarball":"https://registry.npmjs.org/counterparts/-/counterparts-0.3.54.tgz","fileCount":554,"integrity":"sha512-m7CETYak0iZqtKp0EwBleYTazQoAvCbyBd0h5BB0a8gCJ8fFRCr6Yji3GNCjytec+62OXjyySMaHb8YzLUirQg==","signatures":[{"sig":"MEQCIF0qaDccuDegsZcg9H2Aq7Z7VrlgWV4kUkJbwXalfzXdAiBq2GZsG/v7YJPAwXlokh8e7fCjF0sn49tpK1n8az/aTA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDq5XPcA4ShpcX5PwOLPGb8eVmTy9QdpBrh7fMmx3JwBAiEApPmQC8lwyJyGdsj+T5gxodIE+VYdMZRtpPwV78gaqdY="}],"unpackedSize":14826279},"main":"./src/core/counterpart.ts","name":"counterparts","type":"module","_from":"file:/Users/mlapeter/counterparts-backups/2026-11-10-0.3.54/counterparts-0.3.54.tgz","types":"./src/core/counterpart.ts","engines":{"bun":">=1.3.0","node":">=22.15.0"},"exports":{".":"./src/core/counterpart.ts","./cli":"./src/adapters/cli/commands.ts","./mcp":"./src/adapters/mcp/index.ts","./hosts":"./src/adapters/hosts.ts","./store":"./src/core/store/index.ts","./scopes":"./src/adapters/scopes.ts","./sessions":"./src/adapters/sessions.ts","./dashboard":"./src/adapters/dashboard/index.ts","./lifecycle":"./src/adapters/lifecycle.ts","./claude-code":"./src/adapters/claude-code/index.ts","./package.json":"./package.json"},"license":"MIT","mcpName":"ai.counterparts/memory","scripts":{"test":"bun test","test:node":"node --import ./src/adapters/node-hooks.mjs --test test/node-smoke.ts","typecheck":"tsc --noEmit","postinstall":"node src/adapters/windows-shims.mjs || exit 0"},"version":"0.3.54","_npmUser":{"name":"mlapeter","email":"mlapeter@gmail.com"},"homepage":"https://counterparts.ai/?r=npm","keywords":["memory","ai","claude","mcp","local-first","claude-code","mcp-server","model-context-protocol","long-term-memory","agent-memory","claude-code-memory","ai-memory","persistent-memory","claude-desktop","claude-code-hooks","anthropic","sqlite"],"_resolved":"/Users/mlapeter/counterparts-backups/2026-11-10-0.3.54/counterparts-0.3.54.tgz","_integrity":"sha512-m7CETYak0iZqtKp0EwBleYTazQoAvCbyBd0h5BB0a8gCJ8fFRCr6Yji3GNCjytec+62OXjyySMaHb8YzLUirQg==","repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"_npmVersion":"10.8.2","description":"Long-term memory for Claude Code, written by Claude itself. Local MCP server and hooks; remembers you across sessions.","directories":{},"maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"_nodeVersion":"20.19.1","counterparts":{"updates":{"plugin":true,"tellBelow":null,"tellBehind":3,"urgentBelow":null}},"dependencies":{"counterparts-model-potion":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.1.0","playwright":"1.62.1","typescript":"^5.6.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/counterparts_0.3.54_1794335840931_0.679349628635666"}}},"time":{"created":"2026-09-21T16:42:27.513Z","modified":"2026-11-10T18:37:21.349Z","0.1.0":"2026-09-21T16:42:27.750Z","0.2.0":"2026-09-22T18:51:56.984Z","0.3.0":"2026-09-24T18:10:57.424Z","0.3.1":"2026-09-25T16:51:35.600Z","0.3.2":"2026-09-25T20:54:22.206Z","0.3.3":"2026-09-27T02:21:02.722Z","0.3.4":"2026-09-27T14:43:04.958Z","0.3.5":"2026-09-28T03:29:31.648Z","0.3.6":"2026-09-28T18:15:39.311Z","0.3.7":"2026-09-29T17:45:31.343Z","0.3.8":"2026-09-30T20:17:46.743Z","0.3.9":"2026-10-01T00:01:38.604Z","0.3.10":"2026-10-01T15:18:19.892Z","0.3.11":"2026-10-01T22:06:42.355Z","0.3.12":"2026-10-08T17:35:49.502Z","0.3.13":"2026-10-09T23:22:41.251Z","0.3.14":"2026-10-10T03:19:48.599Z","0.3.15":"2026-10-10T16:11:25.863Z","0.3.16":"2026-10-10T20:51:31.138Z","0.3.17":"2026-10-11T20:41:57.463Z","0.3.18":"2026-10-12T02:43:42.240Z","0.3.19":"2026-10-12T16:19:16.627Z","0.3.20":"2026-10-13T00:56:37.177Z","0.3.21":"2026-10-13T20:32:00.474Z","0.3.22":"2026-10-14T17:55:42.638Z","0.3.23":"2026-10-14T20:44:20.024Z","0.3.24":"2026-10-15T01:37:13.168Z","0.3.25":"2026-10-16T18:52:42.412Z","0.3.26":"2026-10-19T03:17:37.845Z","0.3.27":"2026-10-19T19:34:02.741Z","0.3.28":"2026-10-20T21:10:52.849Z","0.3.29":"2026-10-21T15:54:25.594Z","0.3.30":"2026-10-21T23:11:00.214Z","0.3.31":"2026-10-22T16:50:13.121Z","0.3.32":"2026-10-22T20:12:45.237Z","0.3.33":"2026-10-23T15:54:43.184Z","0.3.34":"2026-10-24T15:57:08.838Z","0.3.35":"2026-10-24T22:37:18.520Z","0.3.36":"2026-10-25T17:18:02.035Z","0.3.37":"2026-10-26T11:37:12.652Z","0.3.38":"2026-10-28T16:18:13.252Z","0.3.39":"2026-10-28T21:02:46.174Z","0.3.40":"2026-10-29T20:03:24.609Z","0.3.41":"2026-10-30T14:37:17.156Z","0.3.42":"2026-10-31T02:39:13.844Z","0.3.43":"2026-11-01T18:32:07.765Z","0.3.44":"2026-11-01T23:01:23.422Z","0.3.45":"2026-11-02T02:24:28.660Z","0.3.46":"2026-11-04T02:41:45.775Z","0.3.47":"2026-11-05T15:18:04.917Z","0.3.48":"2026-11-06T16:33:50.933Z","0.3.49":"2026-11-06T17:48:44.036Z","0.3.50":"2026-11-06T20:26:00.800Z","0.3.52":"2026-11-09T21:12:02.111Z","0.3.53":"2026-11-10T13:53:17.743Z","0.3.54":"2026-11-10T18:37:21.191Z"},"bugs":{"url":"https://github.com/mlapeter/counterparts/issues"},"license":"MIT","homepage":"https://counterparts.ai/?r=npm","keywords":["memory","ai","claude","mcp","local-first","claude-code","mcp-server","model-context-protocol","long-term-memory","agent-memory","claude-code-memory","ai-memory","persistent-memory","claude-desktop","claude-code-hooks","anthropic","sqlite"],"repository":{"url":"git+https://github.com/mlapeter/counterparts.git","type":"git"},"description":"Long-term memory for Claude Code, written by Claude itself. Local MCP server and hooks; remembers you across sessions.","maintainers":[{"name":"mlapeter","email":"mlapeter@gmail.com"}],"readme":"# Counterparts\n\n**Long-term memory for Claude Code, written by Claude itself.**\n\nAgents are great. What you're missing is a counterpart.\n\nEach Claude Code session starts over, apart from your CLAUDE.md files and Claude's short\nMEMORY.md notes. With Counterparts, Claude writes down what it learned as it works and at\nthe end of each session, in its own words. What matters sticks and the rest fades unless it\ncomes up again. After the first few sessions, each one opens with a short note Claude wrote\nitself: who it is, where the work stands, what's coming up and how yesterday went, so you\nstop re-explaining your projects and how you like to work.\n\nIt's for anyone who works with Claude Code every day and wishes it remembered, and for people\ninterested in an AI that builds a relationship with them over time. It runs on your machine,\nwith Claude Code on macOS, Linux and Windows, and with Claude Desktop on macOS.\n\n## Install\n\nYou need [Node](https://nodejs.org) 22.15 or newer, or [bun](https://bun.sh) 1.3 or newer,\non macOS, Linux and Windows (Windows is new: tell us how it goes). Bun on macOS is the setup\nin daily use; Node and Linux (since 0.3.11) pass a smoke test and an install run but have no\ndaily user yet. On Windows, install with npm, from PowerShell, cmd or Git Bash; what differs\nthere is in [QUICKSTART](docs/QUICKSTART.md#on-windows). Under WSL it works as on Linux.\n\n```\nnpm install -g counterparts@latest\ncounterparts\n```\n\nWith bun instead: `bun add -g counterparts`, then `counterparts`. Whichever runtime runs the\nsetup is the one Claude Code's hooks and memory tools are wired to. Or install it as a Claude\nCode plugin: `/plugin marketplace add mlapeter/counterparts`, then\n`/plugin install counterparts@counterparts`, then restart Claude Code. The plugin sets\nitself up on its first session, with no terminal step; `/counterparts:doctor` checks it.\n\nWith npm or bun, the first run asks two things, and you can skip either: your name, and\nwhether to connect Claude Code. Connecting adds hooks to `~/.claude/settings.json` (it backs\nthe file up first), registers the memory tools, and adds one `deniedMcpServers` entry there\nso the hosted Counterparts Online connector never loads into Claude Code as a second memory.\nHooks and settings from other tools are left alone. No API keys and no account. Then restart\nClaude Code and check it:\n\n```\ncounterparts doctor\n```\n\nFor Claude Desktop on macOS (since 0.3.9), run `counterparts install --host claude-desktop`,\nthen set the counterparts tools to **Always allow** in Claude Desktop, so a chat can wake on\nits own.\n\nThe first session in a new folder asks whether you want memory there. To remove it, run\n`counterparts uninstall`; your memory is kept unless you ask for it to be deleted. The full\nwalkthrough is in [`docs/QUICKSTART.md`](docs/QUICKSTART.md).\n\n## What it remembers, and where it lives\n\n- Who you are, how you like to work, what you decided together, what's in progress and\n  where you left off. Claude writes these as notes in its own words, not transcripts.\n- What it knows about you reaches every folder. Notes about a project's work show up in that\n  project.\n- The memories live in one SQLite file under `~/.counterparts`, readable by your account\n  only. You can read, export or delete them. Search by meaning runs on a small model on your\n  machine, about 30 MB.\n- Your memory leaves your machine only through Claude Code (or Claude Desktop) itself.\n  Counterparts' one request of its own (since 0.3.39) is a daily check with npm for the\n  newest version number. It sends nothing about you, and you can turn it off (see\n  [Status](#status)).\n- The text of a conversation is kept only until it's written up: since 0.3.21 it is deleted\n  3 days after that, or about two weeks after the conversation goes quiet, whichever comes\n  first, the next time Counterparts runs. It is never in a backup.\n- What's stripped before anything is kept, in the memories and in that conversation text:\n  credentials in recognisable shapes (API keys, tokens, private keys, passwords in URLs, a\n  value after a name like `password=` or `api_key:`), and most passwords named in a sentence\n  (\"my wifi password is …\", \"the PIN is …\"): the value goes, the sentence stays. Not every\n  secret has a shape, so don't paste things you wouldn't want kept.\n- It doesn't read or change your CLAUDE.md files or Claude Code's own auto memory\n  (MEMORY.md), so they run side by side. A committed CLAUDE.md stays the place for rules\n  your team shares through git.\n\nHow Claude Code's own memory works, and where Counterparts fits:\n[counterparts.ai/guides/claude-code-memory](https://counterparts.ai/guides/claude-code-memory/).\nMore at [counterparts.ai](https://counterparts.ai). A hosted version for claude.ai is coming\nsoon, in beta; [sign up on the home page](https://counterparts.ai/#waitlist) to hear when it\nopens.\n\nFound a bug? [Open an issue](https://github.com/mlapeter/counterparts/issues). For anything\nelse, write to mike@resonantventures.com.\n\n## What it does\n\n- **It writes its own memories.** At the end of a session it writes down what it\n  learned, in its own words. Notes, not transcripts.\n- **It forgets on purpose.** Memories fade unless they come up again. What matters\n  sticks; the rest lets go.\n- **It knows who it has been.** After the first few sessions, every session opens with a short\n  note it wrote itself: who it is, where the work stands, what's coming up.\n- **It keeps a journal.** Each session becomes a chapter in a first-person account of\n  your time together.\n- **It changes its mind slowly.** What it believes about you shifts only under real\n  evidence, and it keeps the history of what it used to think.\n- **Things come to mind.** As you talk, related memories surface quietly, the way one\n  thing reminds you of another.\n- **It's yours.** It lives on your machine, and you can read, export or delete it; see\n  [What it remembers, and where it lives](#what-it-remembers-and-where-it-lives).\n\n## Where it's going\n\nToday's models are frozen, so memory is the only learning they do. Once a real memory\nworks on top of a frozen model, the plan is to pair it with an open-weight model whose\nweights can change, so the AI can learn and grow, not just remember.\n\n## Using it\n\nOnce installed it runs on its own. A few commands are worth knowing:\n\n```\ncounterparts dashboard          # look at the memory in your browser\ncounterparts ask \"...\"          # ask the memory a question\ncounterparts scope . --off      # don't remember this directory\ncounterparts export --out <dir> --passphrase <secret>   # an encrypted copy of everything\ncounterparts --help             # the rest\n```\n\nExport needs `--passphrase` or `--plaintext`; it won't pick for you. No command opens an\nencrypted export yet: the README written beside it gives the format (scrypt and\nAES-256-GCM), so it can be opened by hand.\n\nMemory is on for every directory by default. The first session in a new directory asks\nwhether you want it there.\n\n![The dashboard](https://raw.githubusercontent.com/mlapeter/counterparts/master/docs/images/dashboard-overview.png)\n\n## How it works\n\nTwo pieces connect it to Claude Code. Hooks load a briefing at the start of each session\nand bring up related memories as you talk. A small MCP server gives the AI tools to save\nwhat it learned, write a journal entry, and look things up.\n\nThe core doesn't depend on Claude Code. Each part is its own module, with a\n`CONTRACT.md` describing what it does:\n\n| module | what it does |\n|---|---|\n| store | One SQLite database, plus a rebuildable search cache and daily snapshots |\n| encode | Filters what comes in: strips credentials, drops junk, scores what's new |\n| remember | Takes what the AI writes during and at the end of a session |\n| recall | Finds related memories as you talk |\n| associate | Links memories that come up together |\n| schemas | Beliefs about people and things, revised slowly |\n| self | Identity, the journal, and the start-of-session briefing |\n| prospective | Reminders for later, triggered by a date or a topic |\n| sleep | Nightly housekeeping: fading, pruning, merging, promoting |\n| physics | The math for strength and decay |\n\nMore: [`docs/ELI5.md`](docs/ELI5.md) (the whole system in plain words) and\n[`docs/module-map.md`](docs/module-map.md).\n\n## Status\n\nEarly. It's been the author's daily memory since September 2026, on bun and macOS; Node\n(22.15+) and Linux pass a smoke test and an install run but have no daily user yet.\nClaude Desktop has no Linux build, so on Linux it is Claude Code only. Expect rough\nedges, and please\n[open an issue](https://github.com/mlapeter/counterparts/issues) when you hit one.\n\nThere are no API keys, and your memory leaves your machine only through Claude Code\nitself. Counterparts makes one request of its own: once a day, the background worker that\nClaude Code's hooks start asks registry.npmjs.org for the newest version number, and sends\nnothing about you or your memory. To stop it, set `\"updateCheck\": false` in\n`~/.counterparts/claude-code.json`, or ask Claude to stop the update reminders.\n`COUNTERPARTS_UPDATE_CHECK=off` or Claude Code's `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`\nstops it too, set in the environment Claude Code runs in. Search by meaning runs on a small model on your machine, and a session that ends\nbefore it's written up is written up by the next session in that project.\n\nThat small model finds close paraphrases (\"my doctor\" finds a note about a physician), but\nnot a description that never names the thing: \"a pet that purrs\" won't find a note about\nyour cat. Exact words are strongest, and a short memory matches better than one padded with\nnames and details.\n\n## Background\n\nCounterparts is the third version of a memory project. The earlier ones (claude-engram,\nengram, and bansai) were each used daily before the next was written.\n[`CONSTITUTION.md`](CONSTITUTION.md) holds the principles.\n\n## License and contributing\n\nMIT. Contributions are welcome; see [`CONTRIBUTING.md`](CONTRIBUTING.md).\n","readmeFilename":"README.md"}