{"_id":"@carloswon/cairn-memory","_rev":"9-0cad181602b96c01442331b4d77d4e01","name":"@carloswon/cairn-memory","dist-tags":{"latest":"0.6.3"},"versions":{"0.0.0-stage":{"name":"@carloswon/cairn-memory","version":"0.0.0-stage","_id":"@carloswon/cairn-memory@0.0.0-stage","stub":true,"maintainers":[{"name":"carloswon","email":"983545369@qq.com"}],"dist":{"shasum":"f62879108660a3b9db3c81a807805cb1e5ae450a","tarball":"https://registry.npmjs.org/@carloswon/cairn-memory/-/cairn-memory-0.0.0-stage.tgz","fileCount":2,"integrity":"sha512-Jhcv3Jy+SXHGLAGCf3NrCIH8iyAX4QXEBrBInWpo1XoM0ZmSNRYgnL+T36QpQP7vdTP+fsvywZEx/RkR4hRFhw==","signatures":[{"sig":"MEYCIQCYJb2yobrhqW36c9pClN+OvkAA9yWPtYlQaMUgDtDq4AIhAMgbzzMKEV1rIiWWJUC3Uhg8dFct8mOCS6riQnJS9kx1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":345},"_npmUser":{"name":"carloswon","email":"983545369@qq.com"},"description":"Temporary package placeholder for staged publishing","directories":{}},"0.2.0":{"name":"@carloswon/cairn-memory","version":"0.2.0","keywords":["memory","agent-memory","mcp","model-context-protocol","local-first","sqlite","ai-agents","memory-sovereignty","fts5","cli"],"author":{"name":"Carlos"},"license":"MIT","_id":"@carloswon/cairn-memory@0.2.0","maintainers":[{"name":"carloswon","email":"983545369@qq.com"}],"homepage":"https://github.com/CarlosWonMore/cairn#readme","bugs":{"url":"https://github.com/CarlosWonMore/cairn/issues"},"bin":{"cairn":"dist/src/interfaces/cli/main.js","cairn-mcp":"dist/src/interfaces/mcp/server.js"},"dist":{"shasum":"cd0acbc15afae1a174f479809f65ffab7f53cbb5","tarball":"https://registry.npmjs.org/@carloswon/cairn-memory/-/cairn-memory-0.2.0.tgz","fileCount":222,"integrity":"sha512-/hXkK/iGLYshbqNvZEtU+j0IvFac3XULdzzXOhbBX75y/PWAX1wvk3e1mkElRWEhv7cuaW88QVV04nTDQixx3Q==","signatures":[{"sig":"MEUCICI93wa9dXfK61e+ufFwqKnMqAX8MS6TtgpT167jQF2dAiEA+4hKngeGO8qbU6YvOuJtPmsOHqNLTMdN/Wv7fFdn/MQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCMHhQN1HOMoU/NoSB24qeN3aWkizMYEGL8y/+/rGCZPQIhANRgNYff3iUyaeVP8WZvOo6xOV+FRE3VZfaOkMcgktX8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1403291},"type":"module","engines":{"node":">=22.5.0"},"exports":{".":"./dist/src/index.js","./core":"./dist/src/core/index.js"},"gitHead":"a8cef9c21700a7d8872917e8f193db9a947dd612","scripts":{"cli":"tsx src/interfaces/cli/main.ts","mcp":"tsx src/interfaces/mcp/server.ts","test":"npm run build && tsx --test --test-concurrency=2 \"tests/**/*.test.ts\"","build":"tsc -p tsconfig.build.json","test:ui":"npm run build && node scripts/e2e-console-ui.mjs","test:e2e":"npm run build && node scripts/e2e-onboarding.mjs","mcp:smoke":"npm run build && node scripts/mcp-smoke.mjs","test:real":"node scripts/test-real-obs.mjs","typecheck":"tsc -p tsconfig.json --noEmit","smoke:pack":"npm run build && npm pack --dry-run","test:module":"node --import tsx --test"},"_npmUser":{"name":"carloswon","email":"983545369@qq.com"},"repository":{"url":"git+https://github.com/CarlosWonMore/cairn.git","type":"git"},"_npmVersion":"11.19.0","description":"Cairn — 个人、多设备、多 Agent 的本地优先记忆主权层。本地 SQLite 为权威副本，云端仅作可选加密中继。","directories":{},"_nodeVersion":"24.21.0","dependencies":{"@noble/hashes":"^2.4.0","@noble/ciphers":"^2.4.0","@modelcontextprotocol/sdk":"^1.20.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cairn-memory_0.2.0_1793637297080_0.704802564918689","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@carloswon/cairn-memory","version":"0.3.0","keywords":["memory","agent-memory","mcp","model-context-protocol","local-first","sqlite","ai-agents","memory-sovereignty","fts5","cli"],"author":{"name":"Carlos"},"license":"MIT","_id":"@carloswon/cairn-memory@0.3.0","maintainers":[{"name":"carloswon","email":"983545369@qq.com"}],"homepage":"https://github.com/CarlosWonMore/cairn#readme","bugs":{"url":"https://github.com/CarlosWonMore/cairn/issues"},"bin":{"cairn":"dist/src/interfaces/cli/main.js","cairn-mcp":"dist/src/interfaces/mcp/server.js"},"dist":{"shasum":"fa63d4e4d54c55c89240d534b656a91edfbbe9c2","tarball":"https://registry.npmjs.org/@carloswon/cairn-memory/-/cairn-memory-0.3.0.tgz","fileCount":225,"integrity":"sha512-q70tc5JMpfktKiDA2hb6x4R9aaqLakd1N/1EyflPuRriWrkIZW5Gcvf1GgSlvrmtTb3UTseW41gBH87BXJmZgQ==","signatures":[{"sig":"MEUCIGxx2Wq9nl9fXKznfYncJk6P06Xt1Bef8m+5PbpcNlEaAiEAsO3dq9j0MTTq2b6EnpOj994VtBhX8PpWZmloI672N0E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCbHbmZXmzH9NEC6k2XUL5LD9NLSBZUvn5xDVA3lmm0nAIhAJmNbSExVzKRvKRlGlHhjTc8FCmSOfaMkVK97dbWnZDA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1472983},"type":"module","engines":{"node":">=22.5.0"},"exports":{".":"./dist/src/index.js","./core":"./dist/src/core/index.js"},"gitHead":"e1412364a86c9fa18f1266e8b7c3f7b131344278","scripts":{"cli":"tsx src/interfaces/cli/main.ts","mcp":"tsx src/interfaces/mcp/server.ts","test":"npm run build && tsx --test --test-concurrency=2 \"tests/**/*.test.ts\"","build":"tsc -p tsconfig.build.json","test:ui":"npm run build && node scripts/e2e-console-ui.mjs","test:e2e":"npm run build && node scripts/e2e-onboarding.mjs","mcp:smoke":"npm run build && node scripts/mcp-smoke.mjs","test:real":"node scripts/test-real-obs.mjs","typecheck":"tsc -p tsconfig.json --noEmit","smoke:pack":"npm run build && npm pack --dry-run","test:module":"node --import tsx --test"},"_npmUser":{"name":"carloswon","email":"983545369@qq.com"},"repository":{"url":"git+https://github.com/CarlosWonMore/cairn.git","type":"git"},"_npmVersion":"11.19.0","description":"Cairn — 个人、多设备、多 Agent 的本地优先记忆主权层。本地 SQLite 为权威副本，云端仅作可选加密中继。","directories":{},"_nodeVersion":"24.21.0","dependencies":{"@noble/hashes":"^2.4.0","@noble/ciphers":"^2.4.0","@modelcontextprotocol/sdk":"^1.20.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cairn-memory_0.3.0_1793777434458_0.9955477564396726","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@carloswon/cairn-memory","version":"0.4.0","keywords":["memory","agent-memory","mcp","model-context-protocol","local-first","sqlite","ai-agents","memory-sovereignty","fts5","cli"],"author":{"name":"Carlos"},"license":"MIT","_id":"@carloswon/cairn-memory@0.4.0","maintainers":[{"name":"carloswon","email":"983545369@qq.com"}],"homepage":"https://github.com/CarlosWonMore/cairn#readme","bugs":{"url":"https://github.com/CarlosWonMore/cairn/issues"},"bin":{"cairn":"dist/src/interfaces/cli/main.js","cairn-mcp":"dist/src/interfaces/mcp/server.js"},"dist":{"shasum":"0b69f815dd6cc7d3476e030c198025bc356514fd","tarball":"https://registry.npmjs.org/@carloswon/cairn-memory/-/cairn-memory-0.4.0.tgz","fileCount":228,"integrity":"sha512-buiDXW0YPtKZnNVsOchiDq4HKDxPKHvCQWFm8J/QlbubXafT77tPKsj8FioX1+uRPeUwtyD/tWTo9860gqw3CQ==","signatures":[{"sig":"MEYCIQDmekzBcbm/QKJ+aCJQ6oZy8UShM7ceCxifjJISEXKHqAIhAJxoo9A5SBLEyRyF9tr06IFDhvn1yAYoXuFMXyuICEAT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFvg1TM+y3RRpx++nyxelH0z6wR9BOTfYFfBhk9i9bocAiAPhFRBZxsZKi8rkqPFNR9MRro4jrKcaCwc4QWJMO5aPQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1491469},"type":"module","engines":{"node":">=22.5.0"},"exports":{".":"./dist/src/index.js","./core":"./dist/src/core/index.js"},"gitHead":"7b91e835d91d8616f346173d92417fd210757e2b","scripts":{"cli":"tsx src/interfaces/cli/main.ts","mcp":"tsx src/interfaces/mcp/server.ts","test":"npm run build && tsx --test --test-concurrency=2 \"tests/**/*.test.ts\"","build":"tsc -p tsconfig.build.json","test:ui":"npm run build && node scripts/e2e-console-ui.mjs","test:e2e":"npm run build && node scripts/e2e-onboarding.mjs","mcp:smoke":"npm run build && node scripts/mcp-smoke.mjs","test:real":"node scripts/test-real-obs.mjs","typecheck":"tsc -p tsconfig.json --noEmit","smoke:pack":"npm run build && npm pack --dry-run","test:module":"node --import tsx --test"},"_npmUser":{"name":"carloswon","email":"983545369@qq.com"},"repository":{"url":"git+https://github.com/CarlosWonMore/cairn.git","type":"git"},"_npmVersion":"11.19.0","description":"Cairn — 个人、多设备、多 Agent 的本地优先记忆主权层。本地 SQLite 为权威副本，云端仅作可选加密中继。","directories":{},"_nodeVersion":"24.21.0","dependencies":{"@noble/hashes":"^2.4.0","@noble/ciphers":"^2.4.0","@modelcontextprotocol/sdk":"^1.20.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cairn-memory_0.4.0_1794293398224_0.7639703508641865","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@carloswon/cairn-memory","version":"0.5.0","keywords":["memory","agent-memory","mcp","model-context-protocol","local-first","sqlite","ai-agents","memory-sovereignty","fts5","cli"],"author":{"name":"Carlos"},"license":"MIT","_id":"@carloswon/cairn-memory@0.5.0","maintainers":[{"name":"carloswon","email":"983545369@qq.com"}],"homepage":"https://github.com/CarlosWonMore/cairn#readme","bugs":{"url":"https://github.com/CarlosWonMore/cairn/issues"},"bin":{"cairn":"dist/src/interfaces/cli/main.js","cairn-mcp":"dist/src/interfaces/mcp/server.js"},"dist":{"shasum":"ddb64d8f1a1130b93256b6efdfebca4a9a920abb","tarball":"https://registry.npmjs.org/@carloswon/cairn-memory/-/cairn-memory-0.5.0.tgz","fileCount":243,"integrity":"sha512-J+L7Gpt0GaqMEX9K4DlbE1dWjbF8Vkl/Gu+UvLZnlFDk6OjQAfdFwmPx0Mot/BxPMPmBOkCqMZ+vspBK7KVRwg==","signatures":[{"sig":"MEUCICQAq/veSRMlZvnOfpnGWBGiLUtBxuittOtilDNeAs0eAiEA1iTkAZPx4zDSflQTxgNNYnaZRtQ8jpmazvEsfzwuOJs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFyB1IdJP7bo8GXgB3T0OXNv9MyRacyFgVCXsDUUK2d5AiBOOh6ac46Aj1JOVO+1SAj9pumMGRq0HLZHziOTzFU0Bg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1717613},"type":"module","engines":{"node":">=22.5.0"},"exports":{".":"./dist/src/index.js","./core":"./dist/src/core/index.js"},"gitHead":"064e5a494a232166047651cde92995767eac5806","scripts":{"cli":"tsx src/interfaces/cli/main.ts","mcp":"tsx src/interfaces/mcp/server.ts","test":"npm run build && tsx --test --test-concurrency=2 \"tests/**/*.test.ts\"","build":"tsc -p tsconfig.build.json","test:ui":"npm run build && node scripts/e2e-console-ui.mjs","test:e2e":"npm run build && node scripts/e2e-onboarding.mjs","mcp:smoke":"npm run build && node scripts/mcp-smoke.mjs","test:real":"node scripts/test-real-obs.mjs","typecheck":"tsc -p tsconfig.json --noEmit","smoke:pack":"npm run build && npm pack --dry-run","test:module":"node --import tsx --test"},"_npmUser":{"name":"carloswon","email":"983545369@qq.com"},"repository":{"url":"git+https://github.com/CarlosWonMore/cairn.git","type":"git"},"_npmVersion":"11.19.0","description":"Cairn — 个人、多设备、多 Agent 的本地优先记忆主权层。本地 SQLite 为权威副本，云端仅作可选加密中继。","directories":{},"_nodeVersion":"24.21.0","dependencies":{"@noble/hashes":"^2.4.0","@noble/ciphers":"^2.4.0","@modelcontextprotocol/sdk":"^1.20.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cairn-memory_0.5.0_1794454135098_0.05199457220860648","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@carloswon/cairn-memory","version":"0.6.0","keywords":["memory","agent-memory","mcp","model-context-protocol","local-first","sqlite","ai-agents","memory-sovereignty","fts5","cli"],"author":{"name":"Carlos"},"license":"MIT","_id":"@carloswon/cairn-memory@0.6.0","maintainers":[{"name":"carloswon","email":"983545369@qq.com"}],"homepage":"https://github.com/CarlosWonMore/cairn#readme","bugs":{"url":"https://github.com/CarlosWonMore/cairn/issues"},"bin":{"cairn":"dist/src/interfaces/cli/main.js","cairn-mcp":"dist/src/interfaces/mcp/server.js"},"dist":{"shasum":"08d5306e8ad20149ec9b00c5d606e2c408ed7e30","tarball":"https://registry.npmjs.org/@carloswon/cairn-memory/-/cairn-memory-0.6.0.tgz","fileCount":246,"integrity":"sha512-h+DykzQ4K7UzSmntn67MQI2MP1zC0U84SEMBlljwsbXjvyMTitBcUFGeIH9w4y+35KWnYEjkybCEXnwsqssKpw==","signatures":[{"sig":"MEYCIQCtQgPG+LAdKrOSR4xTFYhve5ldqrvJ2IdTE4OVMvkbFAIhAIAcBURD0Xqc8i3Zc6UUtAtM/11TJJESf/HlICses2VQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDe2S+04h2CnLmMUvWMxJKgOD2tEDoOGrYfwiGuptKsIwIgEsKuQdps6zEeh1FreCvWyX5qA0fTuyxnKASleH0Vk78=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1749831},"type":"module","engines":{"node":">=22.5.0"},"exports":{".":"./dist/src/index.js","./core":"./dist/src/core/index.js"},"gitHead":"ab88e44fae0279b5292e104832564ef6c70f280d","scripts":{"cli":"tsx src/interfaces/cli/main.ts","mcp":"tsx src/interfaces/mcp/server.ts","test":"npm run build && tsx --test --test-concurrency=2 \"tests/**/*.test.ts\"","build":"tsc -p tsconfig.build.json","test:ui":"npm run build && node scripts/e2e-console-ui.mjs","test:e2e":"npm run build && node scripts/e2e-onboarding.mjs","mcp:smoke":"npm run build && node scripts/mcp-smoke.mjs","test:real":"node scripts/test-real-obs.mjs","typecheck":"tsc -p tsconfig.json --noEmit","smoke:pack":"npm run build && npm pack --dry-run","test:module":"node --import tsx --test"},"_npmUser":{"name":"carloswon","email":"983545369@qq.com"},"repository":{"url":"git+https://github.com/CarlosWonMore/cairn.git","type":"git"},"_npmVersion":"11.19.0","description":"Cairn — 个人、多设备、多 Agent 的本地优先记忆主权层。本地 SQLite 为权威副本，云端仅作可选加密中继。","directories":{},"_nodeVersion":"24.21.0","dependencies":{"@noble/hashes":"^2.4.0","@noble/ciphers":"^2.4.0","@modelcontextprotocol/sdk":"^1.20.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cairn-memory_0.6.0_1794508635570_0.5659645163177649","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@carloswon/cairn-memory","version":"0.6.1","keywords":["memory","agent-memory","mcp","model-context-protocol","local-first","sqlite","ai-agents","memory-sovereignty","fts5","cli"],"author":{"name":"Carlos"},"license":"MIT","_id":"@carloswon/cairn-memory@0.6.1","maintainers":[{"name":"carloswon","email":"983545369@qq.com"}],"homepage":"https://github.com/CarlosWonMore/cairn#readme","bugs":{"url":"https://github.com/CarlosWonMore/cairn/issues"},"bin":{"cairn":"dist/src/interfaces/cli/main.js","cairn-mcp":"dist/src/interfaces/mcp/server.js"},"dist":{"shasum":"1049d1111fbd8914278176e115fb9f08c98e79ab","tarball":"https://registry.npmjs.org/@carloswon/cairn-memory/-/cairn-memory-0.6.1.tgz","fileCount":246,"integrity":"sha512-wM1+6K3JsKc2jteJDpnDQa1bXBVdv0OLjhU1uJq6lUaZH7X+aDPtFk5nPSnjQbsx+CkyfJLFHA99sGdjOMvT4Q==","signatures":[{"sig":"MEYCIQDw8o8GhvPNQp6/6sL9g0ArrRE/3aRUckiJKF6rNkX+jgIhAJDbF3f2je1h1447qioLdzr2GwFl+PTLyw485l9aiBkx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD/MiN1bW602CPXkguq7BYf/2Qmq2cVOHVWqmSThchjLgIgB1JOwDWC3Njx9qjiELv0hBQCSplxk0iHPHyr/IDDRn8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1760397},"type":"module","engines":{"node":">=22.5.0"},"exports":{".":"./dist/src/index.js","./core":"./dist/src/core/index.js"},"gitHead":"900debbad3a9313b166b790966b55ba6a242f6d3","scripts":{"cli":"tsx src/interfaces/cli/main.ts","mcp":"tsx src/interfaces/mcp/server.ts","test":"npm run build && tsx --test --test-concurrency=2 \"tests/**/*.test.ts\"","build":"tsc -p tsconfig.build.json","test:ui":"npm run build && node scripts/e2e-console-ui.mjs","test:e2e":"npm run build && node scripts/e2e-onboarding.mjs","mcp:smoke":"npm run build && node scripts/mcp-smoke.mjs","test:real":"node scripts/test-real-obs.mjs","typecheck":"tsc -p tsconfig.json --noEmit","smoke:pack":"npm run build && npm pack --dry-run","test:module":"node --import tsx --test"},"_npmUser":{"name":"carloswon","email":"983545369@qq.com"},"repository":{"url":"git+https://github.com/CarlosWonMore/cairn.git","type":"git"},"_npmVersion":"11.19.0","description":"Cairn — 个人、多设备、多 Agent 的本地优先记忆主权层。本地 SQLite 为权威副本，云端仅作可选加密中继。","directories":{},"_nodeVersion":"24.21.0","dependencies":{"@noble/hashes":"^2.4.0","@noble/ciphers":"^2.4.0","@modelcontextprotocol/sdk":"^1.20.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cairn-memory_0.6.1_1794587134917_0.7386062096977668","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"@carloswon/cairn-memory","version":"0.6.2","keywords":["memory","agent-memory","mcp","model-context-protocol","local-first","sqlite","ai-agents","memory-sovereignty","fts5","cli"],"author":{"name":"Carlos"},"license":"MIT","_id":"@carloswon/cairn-memory@0.6.2","maintainers":[{"name":"carloswon","email":"983545369@qq.com"}],"homepage":"https://github.com/CarlosWonMore/cairn#readme","bugs":{"url":"https://github.com/CarlosWonMore/cairn/issues"},"bin":{"cairn":"dist/src/interfaces/cli/main.js","cairn-mcp":"dist/src/interfaces/mcp/server.js"},"dist":{"shasum":"b94ce0c0d71abb2260881e5cc4a07f15aa10756f","tarball":"https://registry.npmjs.org/@carloswon/cairn-memory/-/cairn-memory-0.6.2.tgz","fileCount":249,"integrity":"sha512-fUTSzOWBBMig2uoLzf6Y5l41MFHkNgXqVR4Wo97DUGZWDl/xvHhp/92mPPFQUSZu24bqC+UdyUbzVTZUEV+1dw==","signatures":[{"sig":"MEUCIAU/k2d93cPBBGCVbT8yXUyLFE6I8eYnIS56xzQMpc7CAiEAkFoKeOgSgxvTvqpeWiONOWnGDaRof98Net/q+9cIBFw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHGxBmYJRu3H72bupDLNwrO0Gsjhv5P+pGBb7D43mJrxAiAa2gtfWraYimtqEPfIq+87YAmZkATAgi4SrbaWmuj84g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1841406},"type":"module","engines":{"node":">=22.5.0"},"exports":{".":"./dist/src/index.js","./core":"./dist/src/core/index.js"},"gitHead":"0326ea336c40fefd2dfd98fe7843d826b209dcd5","scripts":{"cli":"tsx src/interfaces/cli/main.ts","mcp":"tsx src/interfaces/mcp/server.ts","test":"npm run build && tsx --test --test-concurrency=2 \"tests/**/*.test.ts\"","build":"tsc -p tsconfig.build.json","test:ui":"npm run build && node scripts/e2e-console-ui.mjs","test:e2e":"npm run build && node scripts/e2e-onboarding.mjs","mcp:smoke":"npm run build && node scripts/mcp-smoke.mjs","test:real":"node scripts/test-real-obs.mjs","typecheck":"tsc -p tsconfig.json --noEmit","smoke:pack":"npm run build && npm pack --dry-run","test:module":"node --import tsx --test"},"_npmUser":{"name":"carloswon","email":"983545369@qq.com"},"repository":{"url":"git+https://github.com/CarlosWonMore/cairn.git","type":"git"},"_npmVersion":"11.19.0","description":"Cairn — 个人、多设备、多 Agent 的本地优先记忆主权层。本地 SQLite 为权威副本，云端仅作可选加密中继。","directories":{},"_nodeVersion":"24.21.0","dependencies":{"@noble/hashes":"^2.4.0","@noble/ciphers":"^2.4.0","@modelcontextprotocol/sdk":"^1.20.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cairn-memory_0.6.2_1794748234699_0.03583263369500056","host":"s3://npm-registry-packages-npm-production"}},"0.6.3":{"_id":"@carloswon/cairn-memory@0.6.3","bin":{"cairn":"dist/src/interfaces/cli/main.js","cairn-mcp":"dist/src/interfaces/mcp/server.js"},"bugs":{"url":"https://github.com/CarlosWonMore/cairn/issues"},"dist":{"shasum":"2a77285ee15b3e6affe32caafa9e519b308c1425","tarball":"https://registry.npmjs.org/@carloswon/cairn-memory/-/cairn-memory-0.6.3.tgz","fileCount":249,"integrity":"sha512-tNDEBH8r4M2JCfIBOox++nBvP3y66xgKXc2soI6BsOcGOn9yI56tluQFgH3IU6pOn911UdwO+uRAVGa/Cgsl+Q==","signatures":[{"sig":"MEQCICUkG8EGTXwTLY77574cmY2w1a6drW/BrgGNdA4JugTeAiAGCBBdiRAkJgz1BFVyFg2kPSsOUap1z8RTv3kO6IzVjg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDHBqEqwwE7SenpJXiSQrIIRc+npfQfFxK11UC6RCpG4AiEA8kM8nO11TcjhntRmaD3w1nnI8vFasbaQ5BEAbsXaJTw="}],"unpackedSize":1844397},"name":"@carloswon/cairn-memory","type":"module","author":{"name":"Carlos"},"engines":{"node":">=22.5.0"},"exports":{".":"./dist/src/index.js","./core":"./dist/src/core/index.js"},"gitHead":"85e2aa558053cde6e945411294d5b3a62d78b654","license":"MIT","scripts":{"cli":"tsx src/interfaces/cli/main.ts","mcp":"tsx src/interfaces/mcp/server.ts","test":"npm run build && tsx --test --test-concurrency=2 \"tests/**/*.test.ts\"","build":"tsc -p tsconfig.build.json","test:ui":"npm run build && node scripts/e2e-console-ui.mjs","test:e2e":"npm run build && node scripts/e2e-onboarding.mjs","mcp:smoke":"npm run build && node scripts/mcp-smoke.mjs","test:real":"node scripts/test-real-obs.mjs","typecheck":"tsc -p tsconfig.json --noEmit","smoke:pack":"npm run build && npm pack --dry-run","test:module":"node --import tsx --test"},"version":"0.6.3","_npmUser":{"name":"carloswon","email":"983545369@qq.com"},"homepage":"https://github.com/CarlosWonMore/cairn#readme","keywords":["memory","agent-memory","mcp","model-context-protocol","local-first","sqlite","ai-agents","memory-sovereignty","fts5","cli"],"repository":{"url":"git+https://github.com/CarlosWonMore/cairn.git","type":"git"},"_npmVersion":"11.19.0","description":"Cairn — 个人、多设备、多 Agent 的本地优先记忆主权层。本地 SQLite 为权威副本，云端仅作可选加密中继。","directories":{},"maintainers":[{"name":"carloswon","email":"983545369@qq.com"}],"_nodeVersion":"24.21.0","dependencies":{"@noble/hashes":"^2.4.0","@noble/ciphers":"^2.4.0","@modelcontextprotocol/sdk":"^1.20.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^24.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cairn-memory_0.6.3_1794755658952_0.8306033624462914"}}},"time":{"created":"2026-11-02T16:33:40.812Z","modified":"2026-11-15T15:14:19.271Z","0.0.0-stage":"2026-11-02T16:33:40.812Z","0.2.0":"2026-11-02T16:34:57.198Z","0.3.0":"2026-11-04T07:30:34.722Z","0.4.0":"2026-11-10T06:49:58.352Z","0.5.0":"2026-11-12T03:28:55.213Z","0.6.0":"2026-11-12T18:37:15.749Z","0.6.1":"2026-11-13T16:25:35.017Z","0.6.2":"2026-11-15T13:10:34.780Z","0.6.3":"2026-11-15T15:14:19.104Z"},"bugs":{"url":"https://github.com/CarlosWonMore/cairn/issues"},"author":{"name":"Carlos"},"license":"MIT","homepage":"https://github.com/CarlosWonMore/cairn#readme","keywords":["memory","agent-memory","mcp","model-context-protocol","local-first","sqlite","ai-agents","memory-sovereignty","fts5","cli"],"repository":{"url":"git+https://github.com/CarlosWonMore/cairn.git","type":"git"},"description":"Cairn — 个人、多设备、多 Agent 的本地优先记忆主权层。本地 SQLite 为权威副本，云端仅作可选加密中继。","maintainers":[{"name":"carloswon","email":"983545369@qq.com"}],"readme":"# Cairn\n\n> 内部代号，未完成商标核查。Cairn（石堆路标）——徒步者沿路堆石给后来者指路；对应「跨设备、跨 Agent 留下可解释、可删除、可迁移的记忆标记」，而不是「又一个会记住你一切的云服务」。\n\n**个人、多设备、多 Agent 的本地优先记忆主权层。**\n\n**Local-first memory sovereignty for individuals across devices and agents.**\n\nYour memory lives in a local SQLite file you own. Every device holds the authoritative copy, so search, add, correct, forget and export all work offline. The cloud is an optional encrypted relay, never a precondition. Models only ever propose candidates — scope, approval, provenance, revision, conflict and deletion are executed by deterministic code.\n\n---\n\n## 这个项目不是什么\n\n同类项目里已经有好几个名字带 \"cairn\" 或 \"dsh\" 的记忆插件，先说清区别，免得装错：\n\n| | Cairn（本项目） | DSH 专用记忆插件 |\n|---|---|---|\n| **适用范围** | **跨 Agent、跨设备**：WorkBuddy / CodeBuddy / Cursor / Copilot / ZCode / DSH 共用一个库 | 只服务 DSH 一个宿主 |\n| **权威副本** | 本机 SQLite；换 Agent 不换记忆 | 通常绑定该宿主的运行时 |\n| **DSH 插件角色** | **只是一个壳子**（`@carloswon/cairn-dsh-memory`），通过 MCP 调用内核 | 插件本身就是全部实现 |\n| **没装 DSH 时** | 内核照常工作：CLI、MCP、其他宿主都能用 | 不可用 |\n| **云端** | 可选加密中继，本地永远可用 | 视各自实现 |\n\n一句话：**DSH 插件是 Cairn 的众多入口之一，不是 Cairn 本身。** 只装插件不装内核，召回的永远是空。\n\n---\n\n## 为什么需要它\n\n每个 Agent 都在自己攒记忆：WorkBuddy 有一份、ZCode 有一份、DSH 又有一份。你换一台机器、换一个 Agent，记忆就断了；你无法解释某条记忆从哪来，也无法确认它真的被删掉。\n\nCairn 把记忆从「Agent 的私有财产」变成「你名下的资产」：\n\n- **本地权威**：SQLite 是每台设备的权威副本；断网时新增、检索、更正、遗忘、导出全部可用。\n- **云端可选**：仅作加密中继与备份，不参与日常读写，不是使用记忆的前提。\n- **确定性治理**：模型只提出候选；作用域、审批、来源、修订、冲突与删除由代码执行并可审计。\n- **不入侵**：标准记忆走 MCP，管理走 CLI，低能力 Agent 走受管 Markdown 投影；不逆向任何 Agent 的私有数据库。\n- **诚实分级**：每个宿主接入都标注 `fixture-only` / `blocked`，不把「写了配置」当成「验证过」。\n\n---\n\n## 能力\n\n### 记忆存储与检索\n\n| 能力 | 说明 |\n|---|---|\n| 作用域 | 个人全局 / 设备限定 / 项目 / Agent 私有 / 受约束自定义 |\n| 不可变修订链 | 每次修改追加修订，历史上任何一版都可查 |\n| 中文检索 | FTS5 trigram + 两字中文有界 LIKE 回退；索引损坏自动降级，绝不返回全库 |\n| 冲突队列 | 并发写入保留冲突而非覆盖，交由人决定 |\n| 可审计删除 | tombstone 而非物理抹除，删除可追溯 |\n| 备份恢复 | 一致性备份、版本化迁移（并发安全）、设备身份与克隆防护 |\n\n### 治理\n\n- **规范化计划**：`plan_hash` 绑定内容，审批绑定哈希，改一字即失效。\n- **本地一次性审批**：`approval_id` 一次性有效，模型无法自行签发。\n- **秘密与注入三层阻断**：敏感内容、提示注入、越权外泄在写入与检索两侧拦截。\n- **幂等应用**：中断可续跑，并发冲突保留。\n\n### 自动整理（首次初始化）\n\n`cairn onboarding` 把历史快照整理成可用记忆：元数据发现（零正文读取）→ 不可变快照导入 → 分批判定 → 晋升或跳过。判定只影响「值不值得记」，不能改敏感度、不能扩作用域、不能当审批。\n\n### 接口\n\n| 入口 | 形态 |\n|---|---|\n| MCP server | stdio，14 个工具（10 记忆 + 4 整理），stdout 只含 JSON-RPC |\n| CLI | 27 个入口：`add` / `search` / `show` / `update` / `forget` / `export` / `import` / `plan` / `approve` / `policy` / `onboarding` / `doctor` / `backup` / `restore` / `sync` / `device` / `worker` / `agent` / `discover` / `archive` / `review` / `vault` / `status` / `init` / `uninstall` / `apply` |\n| 本地控制台 | `cairn ui`：回环 + 一次性令牌，工作台 / 双层建议 / AI 复核 / 静态导出 |\n| 受管投影 | 写入宿主的 `AGENTS.md` 受管块，供不支持 MCP 的 Agent 读取 |\n\n### 已接入宿主\n\n| 宿主 | 配置写入 | MCP 分级 | 投影 |\n|---|---|---|---|\n| Claude Code | `mcp.json` | fixture-only | brief |\n| Cursor | `mcp.json` | fixture-only | brief |\n| Copilot | `mcp.json` | fixture-only | brief |\n| WorkBuddy | 手工 `mcp.json` | blocked（Cairn 不代写） | brief |\n| DSH | Cordis `cordis.patch.yml` | fixture-only | brief |\n| OpenClaw | 无 | blocked | none |\n\nDSH 额外提供**实时召回插件**：会话每步前按短查询召回，按预算注入，并在会话顶部显示三态面板（已注入 / 已过滤 / 未命中）与活动记录。\n\n---\n\n## 快速开始\n\n```bash\nnpm install\nnpm run build          # Node.js 22.5+（已验证 Node 22.22.2 / 24.21.0，Windows x64 与 Linux/Ubuntu 22.04）\nnpm run cli -- doctor  # 健康检查（无模型、无云端即可用）\n\nnpm run cli -- add \"项目的构建约定是 pnpm\"\nnpm run cli -- search \"构建约定\"\nnpm run cli -- ui      # 本地控制台：回环 + 一次性令牌\n```\n\n### MCP 接入\n\n```json\n{\n  \"mcpServers\": {\n    \"cairn\": {\n      \"command\": \"node\",\n      \"args\": [\"<path-to>/dist/src/interfaces/mcp/server.js\"]\n    }\n  }\n}\n```\n\nDSH 走 Cordis，不用 `mcp.json`：在 `cordis.patch.yml` 里用 `- insert:` 嵌套一条 `@deepseek-ai/dsh-mcp-client` 的 stdio 条目（见 `docs/M0-session-handoff.md` §9）。\n\n### 自检与验收\n\n```bash\nnpm run mcp:smoke      # MCP 接入自检：默认只读真实库\nnpm run test:e2e       # 合成 HOME 端到端：533 条同构 fixture，不碰真实库\nnpm run test:ui        # 浏览器点击级验收（需一次性 npm i --no-save playwright）\nnpm run test:real      # 真实 OBS 云同步往返（需五个 OBS_* 变量齐全，缺任一即 exit 2）\n```\n\n**Windows 提醒：不要直接运行或双击 `.ts` / `.js` 文件**（会弹出「选择打开方式」）。始终使用 `npm run cli --`、`cairn.cmd` 或 `npm link` 后的全局 `cairn`。\n\n---\n\n## 状态\n\n仓库当前**没有活动变更**。九个 OpenSpec 能力规格全部通过严格校验（9/9）。\n\n| 能力 | 说明 |\n|---|---|\n| `memory-store` | 存储、修订链、迁移、备份 |\n| `scoped-retrieval` | 作用域与检索 |\n| `memory-governance` | 计划、审批、幂等应用 |\n| `memory-review` | 冲突与复核 |\n| `agent-interfaces` | 宿主接入、投影、会话内面板 |\n| `agent-onboarding` | 首次初始化 |\n| `auto-onboarding` | 策略预授权的自动整理 |\n| `cloud-sync` | OBS/ECS 加密同步 |\n| `local-console` | 本地控制台 |\n\n测试基线：`npm test` **不联网**（当前 865 项 / 864 通过 / 0 失败 / 1 显式 skip，以最近一次全量运行为准）。真实云端往返单独用 `npm run test:real`。\n\n### 已知边界\n\n- 仅验证 Windows x64 与 Linux/Ubuntu 22.04；macOS 未验证。\n- Claude Code / Cursor / Copilot 的宿主接入为 `fixture-only`，未在真实 CLI 认证下跑过。\n- 云端需要自备 OBS + ECS；默认不安装任何同步 hook。设备限定与项目内容默认不上云；对 vault 显式开启保管模式（`vault config --preserve-device-bound on`）后以密文上行到本设备保管链，他机不拉取（见 `docs/cairn-sync.md` 保管模式章节）。\n- 无本地模型依赖；不做抽取推理。\n\n---\n\n## 文档\n\n| 文档 | 内容 |\n|---|---|\n| `docs/cairn-usage.md` | 十分钟上手 / 三层独立授权初始化 / MCP 接入 / 宿主配置 |\n| `docs/cairn-security.md` | 信任模型 / 秘密与注入防线 / 备份恢复 / 卸载 / 故障排查 |\n| `docs/cairn-sync.md` | OBS/ECS 双后端 / E2EE / 双设备验证 |\n| `docs/cairn-console.md` | `cairn ui` 预览页与工作台 / 双层建议 / 导出明文风险 |\n| `docs/cairn-auto-onboarding.md` | 策略字段 / 条件顺序 / 撤销路径 / `judgement` 权力边界 |\n| `openspec/` | 流程事实源：proposal / specs / design / tasks 及验证记录 |\n\n模块划分：`core / store / retrieval / governance / onboarding / interfaces / projection / agents / jobs`。CLI 与 MCP 共用同一应用服务，不各自实现记忆规则。\n\n---\n\n## 许可证\n\nMIT。见 [LICENSE](./LICENSE)。","readmeFilename":"README.md"}