{"_id":"@henryqw/pi-memory","_rev":"35-f20f87c713acdb2b19505ec9765dbd37","name":"@henryqw/pi-memory","dist-tags":{"latest":"8.0.3"},"versions":{"0.1.0":{"name":"@henryqw/pi-memory","version":"0.1.0","keywords":["pi-package","pi","memory"],"license":"MIT","_id":"@henryqw/pi-memory@0.1.0","maintainers":[{"name":"henrywang","email":"hi@henry.wang"}],"homepage":"https://github.com/HenryQW/pi-packages#readme","bugs":{"url":"https://github.com/HenryQW/pi-packages/issues"},"pi":{"extensions":["./extensions/memory.ts"]},"dist":{"shasum":"a75895f474271b64f93ba513d6d2b3aa6365d3c9","tarball":"https://registry.npmjs.org/@henryqw/pi-memory/-/pi-memory-0.1.0.tgz","fileCount":6,"integrity":"sha512-r88j/aK8zvFZhuepCNHG+CBiFLMbtLmlajkVjXljQ1yw+wRTTnCULkPPT/hGN8G1FZibRWZ/pO9DoAeOeweT0w==","signatures":[{"sig":"MEQCIEkgKhN4Qq+oZKNGIulPHGCFsggmp0/Ut3WkO+pLn3B9AiAp1RXZYu4mdRmLlloMG8fTiw8QU0dDtmOcbZ3A3o7v4Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45878},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"a833b5db76ff827788e3d4cad8fccefe4560bea9","scripts":{"test":"node --test test/*.test.ts","typecheck":"tsc --noEmit --allowImportingTsExtensions --target ES2022 --module NodeNext --moduleResolution NodeNext --skipLibCheck extensions/*.ts src/*.ts test/*.test.ts","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"henrywang","email":"hi@henry.wang"},"repository":{"url":"git+https://github.com/HenryQW/pi-packages.git","type":"git","directory":"packages/pi-memory"},"_npmVersion":"11.12.1","description":"Auto-managed markdown memory for Pi: capped MEMORY.md/USER.md entry stores with frozen session snapshots.","directories":{},"_nodeVersion":"25.9.0","dependencies":{"proper-lockfile":"^4.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/proper-lockfile":"^4.1.4"},"peerDependencies":{"typebox":"^1.3.15","@earendil-works/pi-ai":"^0.84.2","@earendil-works/pi-coding-agent":"^0.84.2"},"_npmOperationalInternal":{"tmp":"tmp/pi-memory_0.1.0_1787495416025_0.4699786348556665","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@henryqw/pi-memory","version":"0.2.0","keywords":["pi-package","pi","memory"],"license":"MIT","_id":"@henryqw/pi-memory@0.2.0","maintainers":[{"name":"henrywang","email":"hi@henry.wang"}],"homepage":"https://github.com/HenryQW/pi-packages#readme","bugs":{"url":"https://github.com/HenryQW/pi-packages/issues"},"pi":{"extensions":["./extensions/memory.ts"]},"dist":{"shasum":"b101f267dfc965d3a002257fd35f65b8ba0c7521","tarball":"https://registry.npmjs.org/@henryqw/pi-memory/-/pi-memory-0.2.0.tgz","fileCount":6,"integrity":"sha512-PioZ67jFKJ/a9tnLlC8pz55sGSrBD32KnMPh7NLDWfAb/cKmDusiAMB5SFN/gOFoQMAYJCAI7QRH8GHsZpa70w==","signatures":[{"sig":"MEYCIQD7Bk49uZ0hJBdqQEggSeclTEzWWVv+2SiADU4r3IJEtwIhAIWUXUNcvK9DOd5JnNVV3wwKanCmDzFEwFvZisL5iPp1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@henryqw%2fpi-memory@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":47351},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"f20b619bfa65c2c1687b1bb6996eb5296f59e482","scripts":{"test":"node --test test/*.test.ts","typecheck":"tsc --noEmit --allowImportingTsExtensions --target ES2022 --module NodeNext --moduleResolution NodeNext --skipLibCheck extensions/*.ts src/*.ts test/*.test.ts","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8de515bf-6afb-4ac9-9105-3700968edab2"}},"repository":{"url":"git+https://github.com/HenryQW/pi-packages.git","type":"git","directory":"packages/pi-memory"},"_npmVersion":"11.17.0","description":"Auto-managed markdown memory for Pi: capped MEMORY.md/USER.md entry stores with frozen session snapshots.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"proper-lockfile":"^4.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/proper-lockfile":"^4.1.4"},"peerDependencies":{"typebox":"^1.3.15","@earendil-works/pi-ai":"^0.84.2","@earendil-works/pi-tui":"^0.84.2","@earendil-works/pi-coding-agent":"^0.84.2"},"_npmOperationalInternal":{"tmp":"tmp/pi-memory_0.2.0_1787560299414_0.08485303417947354","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@henryqw/pi-memory","version":"0.2.2","keywords":["pi-package","pi","memory"],"license":"MIT","_id":"@henryqw/pi-memory@0.2.2","maintainers":[{"name":"henrywang","email":"hi@henry.wang"}],"homepage":"https://github.com/HenryQW/pi-packages#readme","bugs":{"url":"https://github.com/HenryQW/pi-packages/issues"},"pi":{"extensions":["./extensions/memory.ts"]},"dist":{"shasum":"3bf337541c218ab6a02ccc74933396d870132e34","tarball":"https://registry.npmjs.org/@henryqw/pi-memory/-/pi-memory-0.2.2.tgz","fileCount":6,"integrity":"sha512-srgEtk3GFVXd9m09wY1WXeNALEYgrEqqBeFy+pTACL0+LbtrU5UoVGelMxga2eGuMB84DKK5z/267Fv18y8rIQ==","signatures":[{"sig":"MEYCIQCHf3OGrCRRVwtGwtY5m7F6N5lHw5SygkvJc05uTWrzUQIhAN5jM3ywiytfkPFffC+RNDKcxBIj1Lt9EcRqzyi1QFmI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@henryqw%2fpi-memory@0.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":47835},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"c49e2ed97f172f0ed6d0b15db1282b5892c2d59f","scripts":{"test":"node --test test/*.test.ts","typecheck":"tsc --noEmit --allowImportingTsExtensions --target ES2022 --module NodeNext --moduleResolution NodeNext --skipLibCheck extensions/*.ts src/*.ts test/*.test.ts","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8de515bf-6afb-4ac9-9105-3700968edab2"}},"repository":{"url":"git+https://github.com/HenryQW/pi-packages.git","type":"git","directory":"packages/pi-memory"},"_npmVersion":"11.17.0","description":"Auto-managed markdown memory for Pi: capped MEMORY.md/USER.md entry stores with frozen session snapshots.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"proper-lockfile":"^4.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/proper-lockfile":"^4.1.4"},"peerDependencies":{"typebox":"^1.3.15","@earendil-works/pi-ai":"^0.84.2","@earendil-works/pi-tui":"^0.84.2","@earendil-works/pi-coding-agent":"^0.84.2"},"_npmOperationalInternal":{"tmp":"tmp/pi-memory_0.2.2_1787567920714_0.818690260912111","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@henryqw/pi-memory","version":"1.0.0","keywords":["pi-package","pi","memory"],"license":"MIT","_id":"@henryqw/pi-memory@1.0.0","maintainers":[{"name":"henrywang","email":"hi@henry.wang"}],"homepage":"https://github.com/HenryQW/pi-packages#readme","bugs":{"url":"https://github.com/HenryQW/pi-packages/issues"},"pi":{"extensions":["./extensions/memory.ts"]},"dist":{"shasum":"fc01ff9b10ecfcac57833f87374e7b93f44a3b32","tarball":"https://registry.npmjs.org/@henryqw/pi-memory/-/pi-memory-1.0.0.tgz","fileCount":6,"integrity":"sha512-nNdh8GfvNXJ3rQH15XIlgz/5L4nb84Gv9a8gP/Bo6Wg95SYEUFQbwuBvFads4tSYa8blNFRJpS6nrHgTaOr23w==","signatures":[{"sig":"MEUCID5MTKAfYS1vugtjcogbuNDdHZOvg6HhLhKtMBFt2xqdAiEAlg5CqM+xEf+oz1+6HBq2/MWH+eH/Ff3Cldx9gqmiikY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@henryqw%2fpi-memory@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":47967},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"f32a5190cf00fcc2161f7b4ee9544995fa4c35b2","scripts":{"test":"node --test test/*.test.ts","typecheck":"tsc --noEmit --allowImportingTsExtensions --target ES2022 --module NodeNext --moduleResolution NodeNext --skipLibCheck extensions/*.ts src/*.ts test/*.test.ts","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8de515bf-6afb-4ac9-9105-3700968edab2"}},"repository":{"url":"git+https://github.com/HenryQW/pi-packages.git","type":"git","directory":"packages/pi-memory"},"_npmVersion":"11.17.0","description":"Auto-managed markdown memory for Pi: capped MEMORY.md/USER.md entry stores with frozen session snapshots.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"proper-lockfile":"^4.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/proper-lockfile":"^4.1.4"},"peerDependencies":{"typebox":"^1.3.15","@earendil-works/pi-ai":"^0.84.2","@earendil-works/pi-tui":"^0.84.2","@earendil-works/pi-coding-agent":"^0.84.2"},"_npmOperationalInternal":{"tmp":"tmp/pi-memory_1.0.0_1787585493888_0.7547360930860953","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@henryqw/pi-memory","version":"1.0.1","keywords":["pi-package","pi","memory"],"license":"MIT","_id":"@henryqw/pi-memory@1.0.1","maintainers":[{"name":"henrywang","email":"hi@henry.wang"}],"homepage":"https://github.com/HenryQW/pi-packages#readme","bugs":{"url":"https://github.com/HenryQW/pi-packages/issues"},"pi":{"extensions":["./extensions/memory.ts"]},"dist":{"shasum":"bcbc9e43984701450e8e61c911714ca5519a9f7e","tarball":"https://registry.npmjs.org/@henryqw/pi-memory/-/pi-memory-1.0.1.tgz","fileCount":6,"integrity":"sha512-NjQxXaYCZWRpxRRomAWxysoP8NHq9Gphc9Y4L+Rlk2dD7onOFmcIVkGDjwDrGidWDhssFCpZBh9ZHuINdYDw5A==","signatures":[{"sig":"MEYCIQDejp6bil65WEZHTgOJrMfiaNW9x6AaxXnay0yoM3VeGQIhAJQ1dXhxY1NAXri20TiW0KNBimLbcxcCflXGiJS2S6rC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@henryqw%2fpi-memory@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":46689},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"f3175cf80a56b482c46cc85b860d33e807187a12","scripts":{"test":"node --test test/*.test.ts","typecheck":"tsc --noEmit --allowImportingTsExtensions --target ES2022 --module NodeNext --moduleResolution NodeNext --skipLibCheck extensions/*.ts src/*.ts test/*.test.ts","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8de515bf-6afb-4ac9-9105-3700968edab2"}},"repository":{"url":"git+https://github.com/HenryQW/pi-packages.git","type":"git","directory":"packages/pi-memory"},"_npmVersion":"11.17.0","description":"Auto-managed markdown memory for Pi: capped MEMORY.md/USER.md entry stores with frozen session snapshots.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"proper-lockfile":"^4.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/proper-lockfile":"^4.1.4"},"peerDependencies":{"typebox":"^1.3.15","@earendil-works/pi-ai":"^0.84.2","@earendil-works/pi-tui":"^0.84.2","@earendil-works/pi-coding-agent":"^0.84.2"},"_npmOperationalInternal":{"tmp":"tmp/pi-memory_1.0.1_1787722751496_0.5307131763367507","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@henryqw/pi-memory","version":"1.1.0","keywords":["pi-package","pi","memory"],"license":"MIT","_id":"@henryqw/pi-memory@1.1.0","maintainers":[{"name":"henrywang","email":"hi@henry.wang"}],"homepage":"https://github.com/HenryQW/pi-packages#readme","bugs":{"url":"https://github.com/HenryQW/pi-packages/issues"},"pi":{"extensions":["./extensions/memory.ts"]},"dist":{"shasum":"785a5f90ba374c382a8899f82b85b20acf7549d3","tarball":"https://registry.npmjs.org/@henryqw/pi-memory/-/pi-memory-1.1.0.tgz","fileCount":6,"integrity":"sha512-DfZwEDpmyWM27G+//6dfUTIDhRGqnBoUF+uXcHo6ZQxk983BlhW01e7vAb8FjJbjb7VyIwnmwYARZOGRw9g2IQ==","signatures":[{"sig":"MEUCIBZ3IGzkFwSbfp3NTJIckNpRSnhxNHNbv66hFwB23RhsAiEAhSM6cRW0JcaA0d2mffD9MkkNN+TSbeJWU36jJ4kL1MA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@henryqw%2fpi-memory@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50317},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"f99ba64f6fe14b29c6434c603381c6102d101db3","scripts":{"test":"node --test test/*.test.ts","typecheck":"tsc --noEmit --allowImportingTsExtensions --target ES2022 --module NodeNext --moduleResolution NodeNext --skipLibCheck extensions/*.ts src/*.ts test/*.test.ts","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8de515bf-6afb-4ac9-9105-3700968edab2"}},"repository":{"url":"git+https://github.com/HenryQW/pi-packages.git","type":"git","directory":"packages/pi-memory"},"_npmVersion":"11.17.0","description":"Auto-managed markdown memory for Pi: capped MEMORY.md/USER.md entry stores with frozen session snapshots.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"proper-lockfile":"^4.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/proper-lockfile":"^4.1.4"},"peerDependencies":{"typebox":"^1.3.15","@earendil-works/pi-ai":"^0.84.2","@earendil-works/pi-tui":"^0.84.2","@earendil-works/pi-coding-agent":"^0.84.2"},"_npmOperationalInternal":{"tmp":"tmp/pi-memory_1.1.0_1787731987613_0.6484121276542305","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@henryqw/pi-memory","version":"1.1.1","keywords":["pi-package","pi","memory"],"license":"MIT","_id":"@henryqw/pi-memory@1.1.1","maintainers":[{"name":"henrywang","email":"hi@henry.wang"}],"homepage":"https://github.com/HenryQW/pi-packages#readme","bugs":{"url":"https://github.com/HenryQW/pi-packages/issues"},"pi":{"extensions":["./extensions/memory.ts"]},"dist":{"shasum":"e4e936e10cb45fa0f2b8dc9c18e9b99c82c4ae58","tarball":"https://registry.npmjs.org/@henryqw/pi-memory/-/pi-memory-1.1.1.tgz","fileCount":6,"integrity":"sha512-RlKERunNgRTlGeO80MS3a4eWGdncywxpwcezDD3cyil52zKjTJxjgo42gv7Mwkz8cxvVrXNiBS5twy1J2H9gAw==","signatures":[{"sig":"MEYCIQDnZYf2hWOjlOhvkZfrsxU6cJtOlevnNfr3jyY0104vOAIhAOcOVgu8Mtbq6bkZDa3CdNJxwVZqwSTP5JiMIE/XbCkc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@henryqw%2fpi-memory@1.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50279},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"0e6024791c0b14d348adfe8c5006f99412110e9f","scripts":{"test":"node --test test/*.test.ts","typecheck":"tsc --noEmit --allowImportingTsExtensions --target ES2022 --module NodeNext --moduleResolution NodeNext --skipLibCheck extensions/*.ts src/*.ts test/*.test.ts","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8de515bf-6afb-4ac9-9105-3700968edab2"}},"repository":{"url":"git+https://github.com/HenryQW/pi-packages.git","type":"git","directory":"packages/pi-memory"},"_npmVersion":"11.17.0","description":"Auto-managed markdown memory for Pi: capped MEMORY.md/USER.md entry stores with frozen session snapshots.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"proper-lockfile":"^4.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/proper-lockfile":"^4.1.4"},"peerDependencies":{"typebox":"^1.3.15","@earendil-works/pi-ai":"^0.84.2","@earendil-works/pi-tui":"^0.84.2","@earendil-works/pi-coding-agent":"^0.84.2"},"_npmOperationalInternal":{"tmp":"tmp/pi-memory_1.1.1_1787754675759_0.7792533177076393","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@henryqw/pi-memory","version":"1.2.0","keywords":["pi-package","pi","memory"],"license":"MIT","_id":"@henryqw/pi-memory@1.2.0","maintainers":[{"name":"henrywang","email":"hi@henry.wang"}],"homepage":"https://github.com/HenryQW/pi-packages#readme","bugs":{"url":"https://github.com/HenryQW/pi-packages/issues"},"pi":{"extensions":["./extensions/memory.ts"]},"dist":{"shasum":"50c215f5b96ee16ec8936a1940f76e1dff58966f","tarball":"https://registry.npmjs.org/@henryqw/pi-memory/-/pi-memory-1.2.0.tgz","fileCount":6,"integrity":"sha512-u3bU3OXmIHioOmNgP5mwvRrn389vaLJTMLPazjEJrbLZ5/BU09yMEt0yYEyMt7Rw2DJSBYL5AVUj0a0ojrVo8w==","signatures":[{"sig":"MEUCIEKfuyuPWgsmB+d7uJtSSjYCbt/StNeOF+86VMiHG3q5AiEA/vya2+AIR2W3URFfazljUDkob/w+znKAY8bALe+0lnc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@henryqw%2fpi-memory@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":54015},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"70e7c2d8d6ca949f3713dd2bc77c76f1f4a6eccd","scripts":{"test":"node --test test/*.test.ts","typecheck":"tsc --noEmit --allowImportingTsExtensions --target ES2022 --module NodeNext --moduleResolution NodeNext --skipLibCheck extensions/*.ts src/*.ts test/*.test.ts","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8de515bf-6afb-4ac9-9105-3700968edab2"}},"repository":{"url":"git+https://github.com/HenryQW/pi-packages.git","type":"git","directory":"packages/pi-memory"},"_npmVersion":"11.17.0","description":"Auto-managed markdown memory for Pi: capped MEMORY.md/USER.md entry stores with frozen session snapshots.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"proper-lockfile":"^4.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/proper-lockfile":"^4.1.4"},"peerDependencies":{"typebox":"^1.3.15","@earendil-works/pi-ai":"^0.84.2","@earendil-works/pi-tui":"^0.84.2","@earendil-works/pi-coding-agent":"^0.84.2"},"_npmOperationalInternal":{"tmp":"tmp/pi-memory_1.2.0_1787833030870_0.0705090189821238","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@henryqw/pi-memory","version":"1.3.0","keywords":["pi-package","pi","memory"],"license":"MIT","_id":"@henryqw/pi-memory@1.3.0","maintainers":[{"name":"henrywang","email":"hi@henry.wang"}],"homepage":"https://github.com/HenryQW/pi-packages#readme","bugs":{"url":"https://github.com/HenryQW/pi-packages/issues"},"pi":{"extensions":["./extensions/memory.ts"]},"dist":{"shasum":"83973360969a6300fbf2b7e446fe993df48fd640","tarball":"https://registry.npmjs.org/@henryqw/pi-memory/-/pi-memory-1.3.0.tgz","fileCount":6,"integrity":"sha512-WsrxvF5thr8XpjxPX1MWa549De7GeDrY1lPqo08pjKJmLH6Q+MmO9P5pJT8fjUWTqnJrlO1OQUaq+j1ymWmWrQ==","signatures":[{"sig":"MEQCIGr8muYtNfSehcsnY+CKXGsqD4NhtyAet1lzPTYOt289AiAGGeyY8tQIYRJ1VVz1oKnpia8ygYUwz782DyFUVXVwVg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@henryqw%2fpi-memory@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":59519},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"bbdb237ece883dfd179cff6793711f6ec69b63de","scripts":{"test":"node --test test/*.test.ts","typecheck":"tsc --noEmit --allowImportingTsExtensions --target ES2022 --module NodeNext --moduleResolution NodeNext --skipLibCheck extensions/*.ts src/*.ts test/*.test.ts","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8de515bf-6afb-4ac9-9105-3700968edab2"}},"repository":{"url":"git+https://github.com/HenryQW/pi-packages.git","type":"git","directory":"packages/pi-memory"},"_npmVersion":"11.17.0","description":"Auto-managed markdown memory for Pi: capped MEMORY.md/USER.md entry stores with frozen session snapshots.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"proper-lockfile":"^4.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/proper-lockfile":"^4.1.4"},"peerDependencies":{"typebox":"^1.3.15","@earendil-works/pi-ai":"^0.84.2","@earendil-works/pi-tui":"^0.84.2","@earendil-works/pi-coding-agent":"^0.84.2"},"_npmOperationalInternal":{"tmp":"tmp/pi-memory_1.3.0_1787841685827_0.5122461551994444","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@henryqw/pi-memory","version":"1.3.1","keywords":["pi-package","pi","memory"],"license":"MIT","_id":"@henryqw/pi-memory@1.3.1","maintainers":[{"name":"henrywang","email":"hi@henry.wang"}],"homepage":"https://github.com/HenryQW/pi-packages#readme","bugs":{"url":"https://github.com/HenryQW/pi-packages/issues"},"pi":{"extensions":["./extensions/memory.ts"]},"dist":{"shasum":"b67401497afd7f776897b75a94feee1e99ccac6a","tarball":"https://registry.npmjs.org/@henryqw/pi-memory/-/pi-memory-1.3.1.tgz","fileCount":6,"integrity":"sha512-zhVY5Il9l7iO9ucd927FihHnn/x0iRaJxSpND+9hZjTarYRiKAHZ+ARrAGI5cWIFXYJ9Gny0xaSKOwxyjDL/jA==","signatures":[{"sig":"MEQCIFM7MXuAn0aiIiZs3RpvhaxViRL0MaqG/sPGJit+9EChAiBGRUVJs4RtYC5V5JqkBr8szdp9ODxKp7x6oN9nhi02vg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@henryqw%2fpi-memory@1.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":60088},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"be7b14b8a4641e63fa07f5b406825e0f6480d274","scripts":{"test":"node --test test/*.test.ts","typecheck":"tsc --noEmit --allowImportingTsExtensions --target ES2022 --module NodeNext --moduleResolution NodeNext --skipLibCheck extensions/*.ts src/*.ts test/*.test.ts","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8de515bf-6afb-4ac9-9105-3700968edab2"}},"repository":{"url":"git+https://github.com/HenryQW/pi-packages.git","type":"git","directory":"packages/pi-memory"},"_npmVersion":"11.17.0","description":"Auto-managed markdown memory for Pi: capped MEMORY.md/USER.md entry stores with frozen session snapshots.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"proper-lockfile":"^4.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/proper-lockfile":"^4.1.4"},"peerDependencies":{"typebox":"^1.3.15","@earendil-works/pi-ai":"^0.84.2","@earendil-works/pi-tui":"^0.84.2","@earendil-works/pi-coding-agent":"^0.84.2"},"_npmOperationalInternal":{"tmp":"tmp/pi-memory_1.3.1_1787896963446_0.02369930008588228","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"@henryqw/pi-memory","version":"1.3.2","keywords":["pi-package","pi","memory"],"license":"MIT","_id":"@henryqw/pi-memory@1.3.2","maintainers":[{"name":"henrywang","email":"hi@henry.wang"}],"homepage":"https://github.com/HenryQW/pi-packages#readme","bugs":{"url":"https://github.com/HenryQW/pi-packages/issues"},"pi":{"extensions":["./extensions/memory.ts"]},"dist":{"shasum":"e07d059122f01ae4adf74f896e81403ba2d4719e","tarball":"https://registry.npmjs.org/@henryqw/pi-memory/-/pi-memory-1.3.2.tgz","fileCount":6,"integrity":"sha512-mLmRFOQ/uYI6lI3zYTBK9Drc2t7RfUsE5IsvMYAuXoVIWrT+4EIQvSGlv8PvTAurpyzoOpzHOdXxi5isYfnN9w==","signatures":[{"sig":"MEUCIB9lghsRzpEo7ghz6qTfg0dfGRSCUUaajI0arjg45qamAiEA+f5+P4QktEqwda3pyjtZxVeaYEJPkuiabzyhYqgY7Z8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@henryqw%2fpi-memory@1.3.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":61939},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"8c96f915041aae561831276f78f7c80b82cecdab","scripts":{"test":"node --test test/*.test.ts","typecheck":"tsc --noEmit --allowImportingTsExtensions --target ES2022 --module NodeNext --moduleResolution NodeNext --skipLibCheck extensions/*.ts src/*.ts test/*.test.ts","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8de515bf-6afb-4ac9-9105-3700968edab2"}},"repository":{"url":"git+https://github.com/HenryQW/pi-packages.git","type":"git","directory":"packages/pi-memory"},"_npmVersion":"11.17.0","description":"Auto-managed markdown memory for Pi: capped MEMORY.md/USER.md entry stores with frozen session snapshots.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"proper-lockfile":"^4.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/proper-lockfile":"^4.1.4"},"peerDependencies":{"typebox":"^1.3.15","@earendil-works/pi-ai":"^0.84.2","@earendil-works/pi-tui":"^0.84.2","@earendil-works/pi-coding-agent":"^0.84.2"},"_npmOperationalInternal":{"tmp":"tmp/pi-memory_1.3.2_1787939572578_0.10554710028337788","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@henryqw/pi-memory","version":"2.0.0","keywords":["pi-package","pi","memory"],"license":"MIT","_id":"@henryqw/pi-memory@2.0.0","maintainers":[{"name":"henrywang","email":"hi@henry.wang"}],"homepage":"https://github.com/HenryQW/pi-packages#readme","bugs":{"url":"https://github.com/HenryQW/pi-packages/issues"},"pi":{"extensions":["./extensions/memory.ts","./node_modules/@henryqw/pi-ask-question/extensions/ask-question.ts"]},"dist":{"shasum":"92739ad88f3a040c7dd9334f50a8de7f1d097cf0","tarball":"https://registry.npmjs.org/@henryqw/pi-memory/-/pi-memory-2.0.0.tgz","fileCount":12,"integrity":"sha512-Utk1Tv5QU+pjcUm0nfgO0LqPJjF4O9jsS7X+4AJOpYEodJmkdD4TH71/DZ1VEyaZSoXFabp5+BLIBJEGHIke+A==","signatures":[{"sig":"MEYCIQDlwHnhyfiNkZRKRjRWO8o86/XsrerhoUnu5DkEb03A4wIhAOd9LEX+kpe8wv7d4AjwUhqqWeQcPi8ZupdyqjX6bRZV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@henryqw%2fpi-memory@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":91585},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"a9d7623017176ca67b7591cf780a686e2d0e79c6","scripts":{"test":"node --test test/*.test.ts","prepack":"npm run build --prefix ../pi-ask-question && node scripts/bundle-ask-question.mjs","typecheck":"tsc --noEmit --allowImportingTsExtensions --target ES2022 --module NodeNext --moduleResolution NodeNext --skipLibCheck extensions/*.ts src/*.ts test/*.test.ts","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8de515bf-6afb-4ac9-9105-3700968edab2"}},"repository":{"url":"git+https://github.com/HenryQW/pi-packages.git","type":"git","directory":"packages/pi-memory"},"_npmVersion":"11.17.0","description":"Auto-managed markdown memory for Pi: capped MEMORY.md/USER.md entry stores with frozen session snapshots.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"proper-lockfile":"^4.1.2","@henryqw/pi-task-models":"^3.0.0","@henryqw/pi-ask-question":"^0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/proper-lockfile":"^4.1.4"},"peerDependencies":{"typebox":"^1.3.15","@earendil-works/pi-ai":"^0.84.3","@earendil-works/pi-tui":"^0.84.3","@earendil-works/pi-coding-agent":"^0.84.3"},"bundleDependencies":["@henryqw/pi-ask-question"],"_npmOperationalInternal":{"tmp":"tmp/pi-memory_2.0.0_1788000075171_0.9456501649164246","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@henryqw/pi-memory","version":"2.0.1","keywords":["pi-package","pi","memory"],"license":"MIT","_id":"@henryqw/pi-memory@2.0.1","maintainers":[{"name":"henrywang","email":"hi@henry.wang"}],"homepage":"https://github.com/HenryQW/pi-packages#readme","bugs":{"url":"https://github.com/HenryQW/pi-packages/issues"},"pi":{"extensions":["./extensions/memory.ts","./node_modules/@henryqw/pi-ask-question/extensions/ask-question.ts"]},"dist":{"shasum":"834d6c9d7bc8c1d4034b8aa9473d33a29f59eb37","tarball":"https://registry.npmjs.org/@henryqw/pi-memory/-/pi-memory-2.0.1.tgz","fileCount":12,"integrity":"sha512-kqchRwjcbDAwhdehvxJgoOZbQsqZTLnSYUabs3bpNQ8bWzE3oxypcSJvfUtEtPNUslNyOoyU1VchesCIL9ir8Q==","signatures":[{"sig":"MEYCIQCmoO39e0uaJvM3kfgMflpCvCUJxDFkMt2gccsjtTt/oQIhAOxvK2itn0jJRft86JB1vGqhQHYezqwvEqP8APTU9ZQm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@henryqw%2fpi-memory@2.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":91584},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"3662884342e232c1007c8af6a7e04cc7b55d653c","scripts":{"test":"node --test test/*.test.ts","prepack":"npm run build --prefix ../pi-ask-question && node scripts/bundle-ask-question.mjs","typecheck":"tsc --noEmit --allowImportingTsExtensions --target ES2022 --module NodeNext --moduleResolution NodeNext --skipLibCheck extensions/*.ts src/*.ts test/*.test.ts","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8de515bf-6afb-4ac9-9105-3700968edab2"}},"repository":{"url":"git+https://github.com/HenryQW/pi-packages.git","type":"git","directory":"packages/pi-memory"},"_npmVersion":"11.17.0","description":"Auto-managed markdown memory for Pi: capped MEMORY.md/USER.md entry stores with frozen session snapshots.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"proper-lockfile":"^4.1.2","@henryqw/pi-task-models":"^3.0.0","@henryqw/pi-ask-question":"^0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/proper-lockfile":"^4.1.4"},"peerDependencies":{"typebox":"^1.3.15","@earendil-works/pi-ai":"^0.84.4","@earendil-works/pi-tui":"^0.84.4","@earendil-works/pi-coding-agent":"^0.84.4"},"bundleDependencies":["@henryqw/pi-ask-question"],"_npmOperationalInternal":{"tmp":"tmp/pi-memory_2.0.1_1788001625778_0.6210315818979424","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@henryqw/pi-memory","version":"3.0.0","keywords":["pi-package","pi","memory"],"license":"MIT","_id":"@henryqw/pi-memory@3.0.0","maintainers":[{"name":"henrywang","email":"hi@henry.wang"}],"homepage":"https://github.com/HenryQW/pi-packages#readme","bugs":{"url":"https://github.com/HenryQW/pi-packages/issues"},"pi":{"extensions":["./extensions/memory.ts"]},"dist":{"shasum":"236cb31bf64818f4d49abca3c70e7418bf339fd6","tarball":"https://registry.npmjs.org/@henryqw/pi-memory/-/pi-memory-3.0.0.tgz","fileCount":6,"integrity":"sha512-LINhupWHC5G62EDh96zFMtN4TQmYW5AtQRXg6AlLnG9m8TTK4aHZ93QeUhtiYqeBCp3BmE0+eStirrfcDjM3KA==","signatures":[{"sig":"MEQCIFuppO3c77PMIiYyhAdIjlYPNb8S5l5vTBf+GqmcsBVaAiBTyPfGC5uDlIlEgEiTtOATeoyywPl3Y8+MJQnfX9M2WQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@henryqw%2fpi-memory@3.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":81775},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"2e285d736d467a57fd235dd36bcd9825c571176f","scripts":{"test":"node --test test/*.test.ts","typecheck":"tsc --noEmit --allowImportingTsExtensions --target ES2022 --module NodeNext --moduleResolution NodeNext --skipLibCheck extensions/*.ts src/*.ts test/*.test.ts","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8de515bf-6afb-4ac9-9105-3700968edab2"}},"repository":{"url":"git+https://github.com/HenryQW/pi-packages.git","type":"git","directory":"packages/pi-memory"},"_npmVersion":"11.17.0","description":"Auto-managed markdown memory for Pi: capped MEMORY.md/USER.md entry stores with frozen session snapshots.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"proper-lockfile":"^4.1.2","@henryqw/pi-task-models":"^3.0.0","@henryqw/pi-ask-question":"^0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/proper-lockfile":"^4.1.4"},"peerDependencies":{"typebox":"^1.3.15","@earendil-works/pi-ai":"^0.84.4","@earendil-works/pi-tui":"^0.84.4","@earendil-works/pi-coding-agent":"^0.84.4"},"_npmOperationalInternal":{"tmp":"tmp/pi-memory_3.0.0_1788002074824_0.5441166199580261","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"@henryqw/pi-memory","version":"3.0.1","keywords":["pi-package","pi","memory"],"license":"MIT","_id":"@henryqw/pi-memory@3.0.1","maintainers":[{"name":"henrywang","email":"hi@henry.wang"}],"homepage":"https://github.com/HenryQW/pi-packages#readme","bugs":{"url":"https://github.com/HenryQW/pi-packages/issues"},"pi":{"extensions":["./extensions/memory.ts"]},"dist":{"shasum":"c5904dc1e4d92e9bdc8cb4fc6d2291f7a748d5a5","tarball":"https://registry.npmjs.org/@henryqw/pi-memory/-/pi-memory-3.0.1.tgz","fileCount":6,"integrity":"sha512-p5tkzXJKRoco+AzGCLEjfKtT23lwEihNXfyD0lwvPNS5c7PUGJmTkM/YJH+gYVzSWPWirjFb2kM1GMnokmD58Q==","signatures":[{"sig":"MEYCIQDsBR91ad66BNTOofFWd/dFnj20/jKoU3Y8fsxlCZNn0QIhAJn02fJNYLa38ek9S4hqIiSmMJnXHFvdYLnXno9zFeU3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@henryqw%2fpi-memory@3.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":82810},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"1c0795380948b73cb66cfcd914c7bf9d84648a2d","scripts":{"test":"node --test test/*.test.ts","typecheck":"tsc --noEmit --allowImportingTsExtensions --target ES2022 --module NodeNext --moduleResolution NodeNext --skipLibCheck extensions/*.ts src/*.ts test/*.test.ts","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8de515bf-6afb-4ac9-9105-3700968edab2"}},"repository":{"url":"git+https://github.com/HenryQW/pi-packages.git","type":"git","directory":"packages/pi-memory"},"_npmVersion":"11.17.0","description":"Auto-managed markdown memory for Pi: capped MEMORY.md/USER.md entry stores with frozen session snapshots.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"proper-lockfile":"^4.1.2","@henryqw/pi-task-models":"^3.0.0","@henryqw/pi-ask-question":"^0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/proper-lockfile":"^4.1.4"},"peerDependencies":{"typebox":"^1.3.15","@earendil-works/pi-ai":"^0.84.4","@earendil-works/pi-tui":"^0.84.4","@earendil-works/pi-coding-agent":"^0.84.4"},"_npmOperationalInternal":{"tmp":"tmp/pi-memory_3.0.1_1788024184239_0.4253159093989731","host":"s3://npm-registry-packages-npm-production"}},"3.0.2":{"name":"@henryqw/pi-memory","version":"3.0.2","keywords":["pi-package","pi","memory"],"license":"MIT","_id":"@henryqw/pi-memory@3.0.2","maintainers":[{"name":"henrywang","email":"hi@henry.wang"}],"homepage":"https://github.com/HenryQW/pi-packages#readme","bugs":{"url":"https://github.com/HenryQW/pi-packages/issues"},"pi":{"extensions":["./extensions/memory.ts"]},"dist":{"shasum":"3671fb4b240787f0e936a5f1f9babc727deb135b","tarball":"https://registry.npmjs.org/@henryqw/pi-memory/-/pi-memory-3.0.2.tgz","fileCount":6,"integrity":"sha512-6K0Eo7U5uGQcvt2dEDl7ACK9HLtQGWoAqdR2sY+BWvUfLbN/KSatNgPnBrm2IkjOfOQ6PS751vW988vKB8/r4w==","signatures":[{"sig":"MEQCIHwjZUveQx89nxc1JicTOaie8dcyrEBswUcoS82VdheaAiBIYiUX2PuO2QF1ZRlNLOKJ3WuiwaRRkjvBnRSbYa/J4Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@henryqw%2fpi-memory@3.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":83373},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"206bd828fa453b92b2c8747f0245bf4dee0761ae","scripts":{"test":"node --test test/*.test.ts","typecheck":"tsc --noEmit --allowImportingTsExtensions --target ES2022 --module NodeNext --moduleResolution NodeNext --skipLibCheck extensions/*.ts src/*.ts test/*.test.ts","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8de515bf-6afb-4ac9-9105-3700968edab2"}},"repository":{"url":"git+https://github.com/HenryQW/pi-packages.git","type":"git","directory":"packages/pi-memory"},"_npmVersion":"11.17.0","description":"Auto-managed markdown memory for Pi: capped MEMORY.md/USER.md entry stores with frozen session snapshots.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"proper-lockfile":"^4.1.2","@henryqw/pi-task-models":"^3.0.0","@henryqw/pi-ask-question":"^0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/proper-lockfile":"^4.1.4"},"peerDependencies":{"typebox":"^1.3.15","@earendil-works/pi-ai":"^0.84.4","@earendil-works/pi-tui":"^0.84.4","@earendil-works/pi-coding-agent":"^0.84.4"},"_npmOperationalInternal":{"tmp":"tmp/pi-memory_3.0.2_1788039476570_0.3027645576190878","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"@henryqw/pi-memory","version":"4.0.0","keywords":["pi-package","pi","memory"],"license":"MIT","_id":"@henryqw/pi-memory@4.0.0","maintainers":[{"name":"henrywang","email":"hi@henry.wang"}],"homepage":"https://github.com/HenryQW/pi-packages#readme","bugs":{"url":"https://github.com/HenryQW/pi-packages/issues"},"pi":{"extensions":["./extensions/memory.ts"]},"dist":{"shasum":"ba0842da316fe4b2d63bf93aefc20c4d316f2355","tarball":"https://registry.npmjs.org/@henryqw/pi-memory/-/pi-memory-4.0.0.tgz","fileCount":6,"integrity":"sha512-BkygtpTKtsz4aJ8qYzcTapebXJ84N+HzjTrR4pnpFBjSaMrbYlcACc5lUJqfwoHQWHHRDNOqts89wWXQGDeW9g==","signatures":[{"sig":"MEUCIBSKzb/EwDSESDClNabb3YeWkABMjL5mrDWj9XVKzSwtAiEAoAAi+gPMC+qj4bLyr0Ye2giXaAbfuFAkMxqYCK8hNZA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@henryqw%2fpi-memory@4.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":83480},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"ab5562506bb69582b39e699f0ef0934c443575f0","scripts":{"test":"node --test test/*.test.ts","typecheck":"tsc --noEmit --allowImportingTsExtensions --target ES2022 --module NodeNext --moduleResolution NodeNext --skipLibCheck extensions/*.ts src/*.ts test/*.test.ts","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8de515bf-6afb-4ac9-9105-3700968edab2"}},"repository":{"url":"git+https://github.com/HenryQW/pi-packages.git","type":"git","directory":"packages/pi-memory"},"_npmVersion":"11.17.0","description":"Auto-managed markdown memory for Pi: capped MEMORY.md/USER.md entry stores with frozen session snapshots.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"proper-lockfile":"^4.1.2","@henryqw/pi-task-models":"^4.0.0","@henryqw/pi-ask-question":"^0.2.0","@henryqw/pi-config-store":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/proper-lockfile":"^4.1.4"},"peerDependencies":{"typebox":"^1.3.15","@earendil-works/pi-ai":"^0.84.4","@earendil-works/pi-tui":"^0.84.4","@earendil-works/pi-coding-agent":"^0.84.4"},"_npmOperationalInternal":{"tmp":"tmp/pi-memory_4.0.0_1788073627566_0.9836609250483492","host":"s3://npm-registry-packages-npm-production"}},"4.0.1":{"name":"@henryqw/pi-memory","version":"4.0.1","keywords":["pi-package","pi","memory"],"license":"MIT","_id":"@henryqw/pi-memory@4.0.1","maintainers":[{"name":"henrywang","email":"hi@henry.wang"}],"homepage":"https://github.com/HenryQW/pi-harness#readme","bugs":{"url":"https://github.com/HenryQW/pi-harness/issues"},"pi":{"extensions":["./extensions/memory.ts"]},"dist":{"shasum":"22ce38d619d85a97d0d09b76c6c7704d05045eba","tarball":"https://registry.npmjs.org/@henryqw/pi-memory/-/pi-memory-4.0.1.tgz","fileCount":6,"integrity":"sha512-7UJBf1Yh8w2cDWJEXt4twin+7zMR1WXUeBUTpgqXxetLbkJzja5S3F7Eesfm1Oqk5g1HFizyAPueUFGN5Ku4SA==","signatures":[{"sig":"MEUCIQDIjoY0US2UenUgj0hJQXzZYHvVo5QXhOacKvw68TmXMQIgQssCgHHxoXtIuTwi2r7V7z/0NmT4XU2R9Xet/QwX260=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@henryqw%2fpi-memory@4.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":83479},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"8cf0513536a91346c216f71b89b87105bb8822cf","scripts":{"test":"node --test test/*.test.ts","typecheck":"tsc --noEmit --allowImportingTsExtensions --target ES2022 --module NodeNext --moduleResolution NodeNext --skipLibCheck extensions/*.ts src/*.ts test/*.test.ts","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc09059e-5b02-4f75-98af-694adb66bbbb"}},"repository":{"url":"git+https://github.com/HenryQW/pi-harness.git","type":"git","directory":"extensions/pi-memory"},"_npmVersion":"11.17.0","description":"Auto-managed markdown memory for Pi: capped MEMORY.md/USER.md entry stores with frozen session snapshots.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"proper-lockfile":"^4.1.2","@henryqw/pi-task-models":"^4.0.0","@henryqw/pi-ask-question":"^0.2.0","@henryqw/pi-config-store":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/proper-lockfile":"^4.1.4"},"peerDependencies":{"typebox":"^1.3.15","@earendil-works/pi-ai":"^0.84.4","@earendil-works/pi-tui":"^0.84.4","@earendil-works/pi-coding-agent":"^0.84.4"},"_npmOperationalInternal":{"tmp":"tmp/pi-memory_4.0.1_1788105648062_0.35690652321399097","host":"s3://npm-registry-packages-npm-production"}},"5.0.0":{"name":"@henryqw/pi-memory","version":"5.0.0","keywords":["pi-package","pi","memory"],"license":"MIT","_id":"@henryqw/pi-memory@5.0.0","maintainers":[{"name":"henrywang","email":"hi@henry.wang"}],"homepage":"https://github.com/HenryQW/pi-harness#readme","bugs":{"url":"https://github.com/HenryQW/pi-harness/issues"},"pi":{"extensions":["./extensions/memory.ts"]},"dist":{"shasum":"e4bb64fd1548c37c562af7c99ab40098ae839617","tarball":"https://registry.npmjs.org/@henryqw/pi-memory/-/pi-memory-5.0.0.tgz","fileCount":8,"integrity":"sha512-ZtnHAnWdEMcprJejx6B6E/Svp3+F7p2J3H5SVAkCiLTVLlJQIUA+BsTJ4G3Ifjkt/jB4d7c3CY38FXfn7IBoPg==","signatures":[{"sig":"MEQCIC6UvK6rfeSv3LVs50tNRy1+GovFwqNWuSAJpbjaERU3AiAvgRbB2jkMrnxBvm2FKwK/lNNuGnLKb5lw0zaPv31/QA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@henryqw%2fpi-memory@5.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":111856},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"42eed1b04d39790dee4cedc3767cf6da663a92de","scripts":{"test":"node --test test/*.test.ts","typecheck":"tsc --noEmit --allowImportingTsExtensions --target ES2022 --module NodeNext --moduleResolution NodeNext --skipLibCheck extensions/*.ts src/*.ts test/*.test.ts","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc09059e-5b02-4f75-98af-694adb66bbbb"}},"repository":{"url":"git+https://github.com/HenryQW/pi-harness.git","type":"git","directory":"extensions/pi-memory"},"_npmVersion":"11.17.0","description":"Auto-managed markdown memory for Pi: capped MEMORY.md/USER.md entry stores with frozen session snapshots.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"proper-lockfile":"^4.1.2","@henryqw/pi-task-models":"^4.0.0","@henryqw/pi-ask-question":"^0.2.0","@henryqw/pi-config-store":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/proper-lockfile":"^4.1.4"},"peerDependencies":{"typebox":"^1.3.15","@earendil-works/pi-ai":"^0.84.4","@earendil-works/pi-tui":"^0.84.4","@earendil-works/pi-coding-agent":"^0.84.4"},"_npmOperationalInternal":{"tmp":"tmp/pi-memory_5.0.0_1788270962451_0.6721975138321039","host":"s3://npm-registry-packages-npm-production"}},"5.0.1":{"name":"@henryqw/pi-memory","version":"5.0.1","keywords":["pi-package","pi","memory"],"license":"MIT","_id":"@henryqw/pi-memory@5.0.1","maintainers":[{"name":"henrywang","email":"hi@henry.wang"}],"homepage":"https://github.com/HenryQW/pi-harness#readme","bugs":{"url":"https://github.com/HenryQW/pi-harness/issues"},"pi":{"extensions":["./extensions/memory.ts"]},"dist":{"shasum":"6aa56fbd71dd614274ce285106382630d866cef0","tarball":"https://registry.npmjs.org/@henryqw/pi-memory/-/pi-memory-5.0.1.tgz","fileCount":8,"integrity":"sha512-yZA3hbLU+2+iHGMNVTFuRJfRuTT0rkOxyinnFOXM838qcPYdWoAXMzTv768MJ56xn2/OM2QZd9X7VBrdCbyQfg==","signatures":[{"sig":"MEUCIC67Fe6YHeZ4gkZo//l+2eIJIPWkuu2C2W76m7iMiW/TAiEAtxG3MZB/0TcNkWDaLkDa2xSiAY8GT+I7rk7+7tvBo7A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@henryqw%2fpi-memory@5.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":112400},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"61ed6f46fbbd28307ea89ba2008b14f5d1ad2c46","scripts":{"test":"node --test test/*.test.ts","typecheck":"tsc --noEmit --allowImportingTsExtensions --target ES2022 --module NodeNext --moduleResolution NodeNext --skipLibCheck extensions/*.ts src/*.ts test/*.test.ts","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc09059e-5b02-4f75-98af-694adb66bbbb"}},"repository":{"url":"git+https://github.com/HenryQW/pi-harness.git","type":"git","directory":"extensions/pi-memory"},"_npmVersion":"11.17.0","description":"Auto-managed markdown memory for Pi: capped MEMORY.md/USER.md entry stores with frozen session snapshots.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"proper-lockfile":"^4.1.2","@henryqw/pi-task-models":"^4.0.0","@henryqw/pi-ask-question":"^0.2.0","@henryqw/pi-config-store":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/proper-lockfile":"^4.1.4"},"peerDependencies":{"typebox":"^1.3.15","@earendil-works/pi-ai":"^0.84.4","@earendil-works/pi-tui":"^0.84.4","@earendil-works/pi-coding-agent":"^0.84.4"},"_npmOperationalInternal":{"tmp":"tmp/pi-memory_5.0.1_1788285195251_0.9381410034116546","host":"s3://npm-registry-packages-npm-production"}},"6.0.0":{"name":"@henryqw/pi-memory","version":"6.0.0","keywords":["pi-package","pi","memory"],"license":"MIT","_id":"@henryqw/pi-memory@6.0.0","maintainers":[{"name":"henrywang","email":"hi@henry.wang"}],"homepage":"https://github.com/HenryQW/pi-harness#readme","bugs":{"url":"https://github.com/HenryQW/pi-harness/issues"},"pi":{"extensions":["./extensions/memory.ts"]},"dist":{"shasum":"290b52bb7f490f9333a53c80f4c5c06e69ae9e3c","tarball":"https://registry.npmjs.org/@henryqw/pi-memory/-/pi-memory-6.0.0.tgz","fileCount":8,"integrity":"sha512-Pkmo8GK/mIFaRiUFKwNEatZZfAM3n9QLLsS4oViw6+TNdxVGmpNSs/8n0/DbUutHeGzEurPvybGQV4HIh9a/+Q==","signatures":[{"sig":"MEUCIEWvXqENXKxGDXTxCjII1nllMRlAKbtcNh/Stvyvr3GZAiEA5w91Wdprs+0fg8NpEWEMWGyKgZdotTJc74cplscvnyI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@henryqw%2fpi-memory@6.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":112400},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"ddf0dc130782494f058e05565a587de4e2b1c77f","scripts":{"test":"node --test test/*.test.ts","typecheck":"tsc --noEmit --allowImportingTsExtensions --target ES2022 --module NodeNext --moduleResolution NodeNext --skipLibCheck extensions/*.ts src/*.ts test/*.test.ts","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc09059e-5b02-4f75-98af-694adb66bbbb"}},"repository":{"url":"git+https://github.com/HenryQW/pi-harness.git","type":"git","directory":"extensions/pi-memory"},"_npmVersion":"11.19.0","description":"Auto-managed markdown memory for Pi: capped MEMORY.md/USER.md entry stores with frozen session snapshots.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"proper-lockfile":"^4.1.2","@henryqw/pi-task-models":"^5.0.0","@henryqw/pi-ask-question":"^1.0.0","@henryqw/pi-config-store":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/proper-lockfile":"^4.1.4"},"peerDependencies":{"typebox":"^1.3.15","@earendil-works/pi-ai":"^0.85.0","@earendil-works/pi-tui":"^0.85.0","@earendil-works/pi-coding-agent":"^0.85.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-memory_6.0.0_1788613460026_0.346554748663606","host":"s3://npm-registry-packages-npm-production"}},"6.0.1":{"name":"@henryqw/pi-memory","version":"6.0.1","keywords":["pi-package","pi","memory"],"license":"MIT","_id":"@henryqw/pi-memory@6.0.1","maintainers":[{"name":"henrywang","email":"hi@henry.wang"}],"homepage":"https://github.com/HenryQW/pi-harness#readme","bugs":{"url":"https://github.com/HenryQW/pi-harness/issues"},"pi":{"extensions":["./extensions/memory.ts"]},"dist":{"shasum":"aae737fef959397fe73fe1fa71d930645ddae123","tarball":"https://registry.npmjs.org/@henryqw/pi-memory/-/pi-memory-6.0.1.tgz","fileCount":8,"integrity":"sha512-V6VcZ+jEqUcvA9mNJV92FbjCQC/V+YhY2puFe3zUfcP0U619onEPb1hCtZZ3S4pPtDsLyRWJhgzI0rJdcf5E/Q==","signatures":[{"sig":"MEUCIQDHqlSTK261RtnqR205XKUNEjikX0NtCjDMwpgf0SoaJwIgYbNh/N/MKSq7x+RJcjGhbo9N3fB//7xPNZctsk1GMMw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@henryqw%2fpi-memory@6.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":112400},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"d3b2ee213f5157305971982adad777e9d371ec1f","scripts":{"test":"node --test test/*.test.ts","typecheck":"tsc --noEmit --allowImportingTsExtensions --target ES2022 --module NodeNext --moduleResolution NodeNext --skipLibCheck extensions/*.ts src/*.ts test/*.test.ts","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc09059e-5b02-4f75-98af-694adb66bbbb"}},"repository":{"url":"git+https://github.com/HenryQW/pi-harness.git","type":"git","directory":"extensions/pi-memory"},"_npmVersion":"11.19.0","description":"Auto-managed markdown memory for Pi: capped MEMORY.md/USER.md entry stores with frozen session snapshots.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"proper-lockfile":"^4.1.2","@henryqw/pi-task-models":"^5.0.0","@henryqw/pi-ask-question":"^1.0.0","@henryqw/pi-config-store":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/proper-lockfile":"^4.1.4"},"peerDependencies":{"typebox":"^1.3.15","@earendil-works/pi-ai":"^0.85.1","@earendil-works/pi-tui":"^0.85.1","@earendil-works/pi-coding-agent":"^0.85.1"},"_npmOperationalInternal":{"tmp":"tmp/pi-memory_6.0.1_1788678238026_0.11684455764296664","host":"s3://npm-registry-packages-npm-production"}},"6.0.2":{"name":"@henryqw/pi-memory","version":"6.0.2","keywords":["pi-package","pi","memory"],"license":"MIT","_id":"@henryqw/pi-memory@6.0.2","maintainers":[{"name":"henrywang","email":"hi@henry.wang"}],"homepage":"https://github.com/HenryQW/pi-harness#readme","bugs":{"url":"https://github.com/HenryQW/pi-harness/issues"},"pi":{"extensions":["./extensions/memory.ts"]},"dist":{"shasum":"e660a5aa75bab9cfa408b3bc065b1d574a48823c","tarball":"https://registry.npmjs.org/@henryqw/pi-memory/-/pi-memory-6.0.2.tgz","fileCount":8,"integrity":"sha512-P9crJYKpDF26djkhC/OkrpPF/GjCM6Elfu/yuBt4lQS+s0x687LjkGeXNbH9eFqKmrfjmeJoCcv9BilxfK+5qQ==","signatures":[{"sig":"MEYCIQCcmp9GlC7K3B7VJglAyjbufd41jGUvg9puuEsoXVoc8AIhAMVa8KANCfshC8TSVIpQH9f4oiHpQsMJvPz2E8f2b5pO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@henryqw%2fpi-memory@6.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":112477},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"28ccf5929dadfa108929f715aa187e29f8e4544d","scripts":{"test":"node --test test/*.test.ts","typecheck":"tsc --noEmit --allowImportingTsExtensions --target ES2022 --module NodeNext --moduleResolution NodeNext --skipLibCheck extensions/*.ts src/*.ts test/*.test.ts","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc09059e-5b02-4f75-98af-694adb66bbbb"}},"repository":{"url":"git+https://github.com/HenryQW/pi-harness.git","type":"git","directory":"extensions/pi-memory"},"_npmVersion":"11.19.0","description":"Auto-managed markdown memory for Pi: capped MEMORY.md/USER.md entry stores with frozen session snapshots.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"proper-lockfile":"^4.1.2","@henryqw/pi-task-models":"^5.0.0","@henryqw/pi-ask-question":"^1.0.0","@henryqw/pi-config-store":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/proper-lockfile":"^4.1.4"},"peerDependencies":{"typebox":"^1.3.15","@earendil-works/pi-ai":"^0.85.1","@earendil-works/pi-tui":"^0.85.1","@earendil-works/pi-coding-agent":"^0.85.1"},"_npmOperationalInternal":{"tmp":"tmp/pi-memory_6.0.2_1788695755402_0.6795144480135504","host":"s3://npm-registry-packages-npm-production"}},"6.0.3":{"name":"@henryqw/pi-memory","version":"6.0.3","keywords":["pi-package","pi","memory"],"license":"MIT","_id":"@henryqw/pi-memory@6.0.3","maintainers":[{"name":"henrywang","email":"hi@henry.wang"}],"homepage":"https://github.com/HenryQW/pi-harness#readme","bugs":{"url":"https://github.com/HenryQW/pi-harness/issues"},"pi":{"extensions":["./extensions/memory.ts"]},"dist":{"shasum":"b33ae7c4837fccb71c654175809125cd6cb1902d","tarball":"https://registry.npmjs.org/@henryqw/pi-memory/-/pi-memory-6.0.3.tgz","fileCount":8,"integrity":"sha512-NZ2s6pQffT/UgTqS5r+MzXPFUARHPtz7MNPcWy5wUAPWsaEMsF+dsnooGAqecSlABdXpzEhtx7sn271U9di1eg==","signatures":[{"sig":"MEUCIGqZPp8cArPirbxKqAMe3/+XXjsg2+h9QQsj2UhznkLCAiEA6LKUHiBIuh7QWzIQ0DSGaNrEFoi3ToG+vWW7AtbASaw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@henryqw%2fpi-memory@6.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":112480},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"d2daa3ccb3a9370d92b07fcf891406e18a26c240","scripts":{"test":"node --test test/*.test.ts","typecheck":"tsc --noEmit --allowImportingTsExtensions --target ES2022 --module NodeNext --moduleResolution NodeNext --skipLibCheck extensions/*.ts src/*.ts test/*.test.ts","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc09059e-5b02-4f75-98af-694adb66bbbb"}},"repository":{"url":"git+https://github.com/HenryQW/pi-harness.git","type":"git","directory":"extensions/pi-memory"},"_npmVersion":"11.19.0","description":"Auto-managed markdown memory for Pi: capped MEMORY.md/USER.md entry stores with frozen session snapshots.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"proper-lockfile":"^4.1.2","@henryqw/pi-task-models":"^5.0.0","@henryqw/pi-ask-question":"^1.0.0","@henryqw/pi-config-store":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/proper-lockfile":"^4.1.4"},"peerDependencies":{"typebox":"^1.3.15","@earendil-works/pi-ai":"^0.85.1","@earendil-works/pi-tui":"^0.85.1","@earendil-works/pi-coding-agent":"^0.85.1"},"_npmOperationalInternal":{"tmp":"tmp/pi-memory_6.0.3_1788773113497_0.5814732066880834","host":"s3://npm-registry-packages-npm-production"}},"6.0.4":{"name":"@henryqw/pi-memory","version":"6.0.4","keywords":["pi-package","pi","memory"],"license":"MIT","_id":"@henryqw/pi-memory@6.0.4","maintainers":[{"name":"henrywang","email":"hi@henry.wang"}],"homepage":"https://github.com/HenryQW/pi-harness#readme","bugs":{"url":"https://github.com/HenryQW/pi-harness/issues"},"pi":{"extensions":["./extensions/memory.ts"]},"dist":{"shasum":"9cccb2974051ac9a8257ce1e388804e4196821c3","tarball":"https://registry.npmjs.org/@henryqw/pi-memory/-/pi-memory-6.0.4.tgz","fileCount":8,"integrity":"sha512-SsqhBrvjaIR6si9cDpr0cF0a33kwN7VBuxQeL2tJdB8pjqxjfsQslanJ+JHTs06Tld6ElXun2Lblz/ngOAQ8fg==","signatures":[{"sig":"MEQCIG1FlAyFZVm8/E/zMQz9eT6Z5Np+HTOXir6w9qCni7lqAiB5uTlcWlOIbMFc8d/0CslQbcVbEsjupFjTjzPYc7wUjQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@henryqw%2fpi-memory@6.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":112493},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"51a162def9d3e515076809bd69dd0d51f21a31f8","scripts":{"test":"node --test test/*.test.ts","typecheck":"tsc --noEmit --allowImportingTsExtensions --target ES2022 --module NodeNext --moduleResolution NodeNext --skipLibCheck extensions/*.ts src/*.ts test/*.test.ts","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc09059e-5b02-4f75-98af-694adb66bbbb"}},"repository":{"url":"git+https://github.com/HenryQW/pi-harness.git","type":"git","directory":"extensions/pi-memory"},"_npmVersion":"11.19.0","description":"Auto-managed markdown memory for Pi: capped MEMORY.md/USER.md entry stores with frozen session snapshots.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"proper-lockfile":"^4.1.2","@henryqw/pi-task-models":"^5.1.0","@henryqw/pi-ask-question":"^1.0.0","@henryqw/pi-config-store":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/proper-lockfile":"^4.1.4"},"peerDependencies":{"typebox":"^1.3.15","@earendil-works/pi-ai":"^0.85.1","@earendil-works/pi-tui":"^0.85.1","@earendil-works/pi-coding-agent":"^0.85.1"},"_npmOperationalInternal":{"tmp":"tmp/pi-memory_6.0.4_1788869633521_0.8305691851273749","host":"s3://npm-registry-packages-npm-production"}},"6.0.5":{"name":"@henryqw/pi-memory","version":"6.0.5","keywords":["pi-package","pi","memory"],"license":"MIT","_id":"@henryqw/pi-memory@6.0.5","maintainers":[{"name":"henrywang","email":"hi@henry.wang"}],"homepage":"https://github.com/HenryQW/pi-harness#readme","bugs":{"url":"https://github.com/HenryQW/pi-harness/issues"},"pi":{"extensions":["./extensions/memory.ts"]},"dist":{"shasum":"a0f7c67bb415bef9a2b04da87b7b3c3ff0ba020e","tarball":"https://registry.npmjs.org/@henryqw/pi-memory/-/pi-memory-6.0.5.tgz","fileCount":8,"integrity":"sha512-Pduw0r5eJRRp89xbEQRSs9LKIuLV1pVjMirs2eS+fE5Pyayvqdy/XgPLHEYXzoDisT1rO0LOvuDb+xOXokX5YA==","signatures":[{"sig":"MEUCIFcVlPfalK8cUvElbbcbG0tcRrxpv9/Cft8cRw3fdTPTAiEAgsoq9i27OAIOYMVf/9GbD2T7xSPw5D0yB2fed1uCU/o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@henryqw%2fpi-memory@6.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":113256},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"294cdbf35d125070c2826f7808bfbf02a9c35893","scripts":{"test":"node --test test/*.test.ts","typecheck":"tsc --noEmit --allowImportingTsExtensions --target ES2022 --module NodeNext --moduleResolution NodeNext --skipLibCheck extensions/*.ts src/*.ts test/*.test.ts","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc09059e-5b02-4f75-98af-694adb66bbbb"}},"repository":{"url":"git+https://github.com/HenryQW/pi-harness.git","type":"git","directory":"extensions/pi-memory"},"_npmVersion":"11.19.0","description":"Auto-managed markdown memory for Pi: capped MEMORY.md/USER.md entry stores with frozen session snapshots.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"proper-lockfile":"^4.1.2","@henryqw/pi-task-models":"^5.1.0","@henryqw/pi-ask-question":"^1.0.0","@henryqw/pi-config-store":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/proper-lockfile":"^4.1.4"},"peerDependencies":{"typebox":"^1.3.15","@earendil-works/pi-ai":"^0.85.1","@earendil-works/pi-tui":"^0.85.1","@earendil-works/pi-coding-agent":"^0.85.1"},"_npmOperationalInternal":{"tmp":"tmp/pi-memory_6.0.5_1788872040394_0.5336591170032186","host":"s3://npm-registry-packages-npm-production"}},"7.0.0":{"name":"@henryqw/pi-memory","version":"7.0.0","keywords":["pi-package","pi","memory"],"license":"MIT","_id":"@henryqw/pi-memory@7.0.0","maintainers":[{"name":"henrywang","email":"hi@henry.wang"}],"homepage":"https://github.com/HenryQW/pi-harness#readme","bugs":{"url":"https://github.com/HenryQW/pi-harness/issues"},"pi":{"extensions":["./extensions/memory.ts"]},"dist":{"shasum":"8a82ac1686432b371b1e05fa878facb4ed2e0e09","tarball":"https://registry.npmjs.org/@henryqw/pi-memory/-/pi-memory-7.0.0.tgz","fileCount":8,"integrity":"sha512-RQuOol0ZeYYMbw6xIBePZvgE/AM/v5PsHCIdmom9x+3lhv6rRwrdQTwU43TChaGU0E4lw/iAKWhZsPhMeBYnyA==","signatures":[{"sig":"MEUCIQCMFNZKgasK6EeHEVsDcvSsI5gAe78UN9R/f2MPMdEwrQIgSIPy/dAou2g1AtVsPz0lTD7pfxi0jvXFogAwGjH/REQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDyrwH0qFvEbbYnO8GTiFN11l9QjTvnG3E5YGMgERwoRAIhAJKS+G1M9oi3xu0CiDTYCX1JY1CNPLjZV7lG428zdX5S","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@henryqw%2fpi-memory@7.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":112771},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"bc41a2d6f2ec61c2073a4af9f91d1b2efe7c773e","scripts":{"test":"node --test test/*.test.ts","typecheck":"tsc --noEmit --allowImportingTsExtensions --target ES2022 --module NodeNext --moduleResolution NodeNext --skipLibCheck extensions/*.ts src/*.ts test/*.test.ts","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc09059e-5b02-4f75-98af-694adb66bbbb"}},"repository":{"url":"git+https://github.com/HenryQW/pi-harness.git","type":"git","directory":"extensions/pi-memory"},"_npmVersion":"11.19.0","description":"Auto-managed markdown memory for Pi: capped MEMORY.md/USER.md entry stores with frozen session snapshots.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"proper-lockfile":"^4.1.2","@henryqw/pi-task-models":"^7.0.0","@henryqw/pi-ask-question":"^2.0.0","@henryqw/pi-config-store":"^2.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@earendil-works/pi-ai":"0.86.0","@earendil-works/pi-tui":"0.86.0","@types/proper-lockfile":"^4.1.4","@earendil-works/pi-coding-agent":"0.86.0"},"peerDependencies":{"typebox":"^1.3.15","@earendil-works/pi-ai":"^0.86.0","@earendil-works/pi-tui":"^0.86.0","@earendil-works/pi-coding-agent":"^0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-memory_7.0.0_1789908372188_0.19620629693603786","host":"s3://npm-registry-packages-npm-production"}},"7.0.1":{"name":"@henryqw/pi-memory","version":"7.0.1","keywords":["pi-package","pi","memory"],"license":"MIT","_id":"@henryqw/pi-memory@7.0.1","maintainers":[{"name":"henrywang","email":"hi@henry.wang"}],"homepage":"https://github.com/HenryQW/pi-harness#readme","bugs":{"url":"https://github.com/HenryQW/pi-harness/issues"},"pi":{"extensions":["./extensions/memory.ts"]},"dist":{"shasum":"dbed9324718e68ebbfb2b46b5e5ee3f268bf4d13","tarball":"https://registry.npmjs.org/@henryqw/pi-memory/-/pi-memory-7.0.1.tgz","fileCount":8,"integrity":"sha512-xGhOGDm/RfjpZSz3Drxl/9F9/b0k1oiRty1jv1YUnF4NWuTCUpB5iQIkYvfr7uA2FLu6Drc+QoKBcAAhtwJZhg==","signatures":[{"sig":"MEUCIGtIp0lo6X0Hpx/gk/R5dT8PpVtm1AWABC9stwyq5Hs4AiEAi6WiXRkTKRZ4henrr4EwvDlGypIi6nq/A0A0g4Gr4J8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDhJRK4ESP5Nwr1qbEkic1AZgv1B2hoJ9/4bgqO2VoB/gIgDHB34ZG6vMdODAZVZbuJh+XikXsKTyYDOIu9QUw+10I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@henryqw%2fpi-memory@7.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":112798},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"9540f31265305f969387daed7bb4d5622e5293de","scripts":{"test":"node --test test/*.test.ts","typecheck":"tsc --noEmit --allowImportingTsExtensions --target ES2022 --module NodeNext --moduleResolution NodeNext --skipLibCheck extensions/*.ts src/*.ts test/*.test.ts","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc09059e-5b02-4f75-98af-694adb66bbbb"}},"repository":{"url":"git+https://github.com/HenryQW/pi-harness.git","type":"git","directory":"extensions/pi-memory"},"_npmVersion":"11.19.0","description":"Auto-managed markdown memory for Pi: capped MEMORY.md/USER.md entry stores with frozen session snapshots.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"proper-lockfile":"^4.1.2","@henryqw/pi-task-models":"^7.0.0","@henryqw/pi-ask-question":"^2.0.0","@henryqw/pi-config-store":"^2.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@earendil-works/pi-ai":"0.87.0","@earendil-works/pi-tui":"0.87.0","@types/proper-lockfile":"^4.1.4","@earendil-works/pi-coding-agent":"0.87.0"},"peerDependencies":{"typebox":"^1.3.15","@earendil-works/pi-ai":">=0.86.0 <0.88.0","@earendil-works/pi-tui":">=0.86.0 <0.88.0","@earendil-works/pi-coding-agent":">=0.86.0 <0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-memory_7.0.1_1790058032254_0.42920878019266184","host":"s3://npm-registry-packages-npm-production"}},"7.0.2":{"name":"@henryqw/pi-memory","version":"7.0.2","keywords":["pi-package","pi","memory"],"license":"MIT","_id":"@henryqw/pi-memory@7.0.2","maintainers":[{"name":"henrywang","email":"hi@henry.wang"}],"homepage":"https://github.com/HenryQW/pi-harness#readme","bugs":{"url":"https://github.com/HenryQW/pi-harness/issues"},"pi":{"extensions":["./extensions/memory.ts"]},"dist":{"shasum":"11a52d7ede4c8641f1bcbb37bc4c6988f30c9499","tarball":"https://registry.npmjs.org/@henryqw/pi-memory/-/pi-memory-7.0.2.tgz","fileCount":8,"integrity":"sha512-F4erglvNgx8Ui1LCGO4wLJar3/YgmrD833n11ABkoB8rMTFB8KdTJHWWsirwFDLSwlqua5knlOW3opeECls/ZQ==","signatures":[{"sig":"MEUCIQDIf5iXMgt08bgkxxMPSlh0eNzgMtE9nwyXb1xT9FODXgIgfXhslq869wwE61H7FgA715fSkiMFnGFsaJQlx309n7I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIERDKGWyGlFZZnAfhpxEheQBN1oIbs2NqVIqMlVOBNYwAiBioQuuqUcMDXpZmWnZrRfq7WgRbj/Fip38fKX+ykcKTg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@henryqw%2fpi-memory@7.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":107273},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"ab425cc8c65f9d8de99b19188ab32c6630e8f6a0","scripts":{"test":"node --test test/*.test.ts","typecheck":"tsc --noEmit --allowImportingTsExtensions --target ES2022 --module NodeNext --moduleResolution NodeNext --skipLibCheck extensions/*.ts src/*.ts test/*.test.ts","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc09059e-5b02-4f75-98af-694adb66bbbb"}},"repository":{"url":"git+https://github.com/HenryQW/pi-harness.git","type":"git","directory":"extensions/pi-memory"},"_npmVersion":"11.19.0","description":"Auto-managed markdown memory for Pi: capped MEMORY.md/USER.md entry stores with frozen session snapshots.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"proper-lockfile":"^4.1.2","@henryqw/pi-task-models":"^7.0.0","@henryqw/pi-ask-question":"^2.0.0","@henryqw/pi-config-store":"^2.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@earendil-works/pi-ai":"0.87.0","@earendil-works/pi-tui":"0.87.0","@types/proper-lockfile":"^4.1.4","@earendil-works/pi-coding-agent":"0.87.0"},"peerDependencies":{"typebox":"^1.3.15","@earendil-works/pi-ai":">=0.86.0 <0.88.0","@earendil-works/pi-tui":">=0.86.0 <0.88.0","@earendil-works/pi-coding-agent":">=0.86.0 <0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-memory_7.0.2_1790065672322_0.653232722386009","host":"s3://npm-registry-packages-npm-production"}},"7.0.3":{"name":"@henryqw/pi-memory","version":"7.0.3","keywords":["pi-package","pi","memory"],"license":"MIT","_id":"@henryqw/pi-memory@7.0.3","maintainers":[{"name":"henrywang","email":"hi@henry.wang"}],"homepage":"https://github.com/HenryQW/pi-harness#readme","bugs":{"url":"https://github.com/HenryQW/pi-harness/issues"},"pi":{"extensions":["./extensions/memory.ts"]},"dist":{"shasum":"388d75f7497665a9e382d226fc0d301fee0c907c","tarball":"https://registry.npmjs.org/@henryqw/pi-memory/-/pi-memory-7.0.3.tgz","fileCount":8,"integrity":"sha512-gtdZRcfbGEZo4oGlYJff/nEAQqkxEul/e8JQI4m5hsX6ennCk4KAMuSob/wCeGpR1TiZxIorXG7Gr4JKUpdQLg==","signatures":[{"sig":"MEUCIFgdVfc83PnWdrw50uqS7IWZpuojrMbV429+DvK8kf1xAiEAxQZdd7qQMxq9xD7JFRFxXMWg/CsaX9mxtH2b0iazChw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGPA/T3pe1hJAWUvCJ6e9FM35XMO+TVyWEc6iX/HG1KMAiB42YST5U19aTGYylB3WC8gWFjV31V1LlWM0BwOTWKSRw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@henryqw%2fpi-memory@7.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":106473},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"f72d51649fc7b24cf2efc66d8f58d2f021ba00cc","scripts":{"test":"node --test test/*.test.ts","typecheck":"tsc --noEmit --allowImportingTsExtensions --target ES2022 --module NodeNext --moduleResolution NodeNext --skipLibCheck extensions/*.ts src/*.ts test/*.test.ts","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc09059e-5b02-4f75-98af-694adb66bbbb"}},"repository":{"url":"git+https://github.com/HenryQW/pi-harness.git","type":"git","directory":"extensions/pi-memory"},"_npmVersion":"11.19.0","description":"Auto-managed markdown memory for Pi: capped MEMORY.md/USER.md entry stores with frozen session snapshots.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"proper-lockfile":"^4.1.2","@henryqw/pi-task-models":"^7.0.0","@henryqw/pi-ask-question":"^2.0.0","@henryqw/pi-config-store":"^2.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@earendil-works/pi-ai":"0.87.0","@earendil-works/pi-tui":"0.87.0","@types/proper-lockfile":"^4.1.4","@earendil-works/pi-coding-agent":"0.87.0"},"peerDependencies":{"typebox":"^1.3.15","@earendil-works/pi-ai":">=0.86.0 <0.88.0","@earendil-works/pi-tui":">=0.86.0 <0.88.0","@earendil-works/pi-coding-agent":">=0.86.0 <0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-memory_7.0.3_1790247813700_0.6380313476665427","host":"s3://npm-registry-packages-npm-production"}},"7.0.4":{"name":"@henryqw/pi-memory","version":"7.0.4","keywords":["pi-package","pi","memory"],"license":"MIT","_id":"@henryqw/pi-memory@7.0.4","maintainers":[{"name":"henrywang","email":"hi@henry.wang"}],"homepage":"https://github.com/HenryQW/pi-harness#readme","bugs":{"url":"https://github.com/HenryQW/pi-harness/issues"},"pi":{"extensions":["./extensions/memory.ts"]},"dist":{"shasum":"6c6b40e4090e31b7373f7fbe3f0fa79ced265c89","tarball":"https://registry.npmjs.org/@henryqw/pi-memory/-/pi-memory-7.0.4.tgz","fileCount":8,"integrity":"sha512-Ke4vHfPxMEe4u6xbkme8RStXFIp/Vbyns88/nW+Us3psnnPaVqTt3HatHn1ZAEnHgN9ce5W5ke5aBQvPhUXrow==","signatures":[{"sig":"MEUCIAnA3NaJgb5af8fHlpFn+DB9zyCppHtQKx1/bcrLsrZQAiEAhllQGUohKcv1lURqicMPauqK+DToVpnDRUnUofD9KOE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICgjdip8em2m2GXszrmOIV0waasrBp8o/UlEAsXBvF4EAiEA9LXFBTVsCynt5s2+ByxKOfqLho/DQqRntVcs550tASA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@henryqw%2fpi-memory@7.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":106828},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"741528365c134a61dfa8896d28d71a9dd43e3ffd","scripts":{"test":"node --test test/*.test.ts","typecheck":"tsc --noEmit --allowImportingTsExtensions --target ES2022 --module NodeNext --moduleResolution NodeNext --skipLibCheck extensions/*.ts src/*.ts test/*.test.ts","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc09059e-5b02-4f75-98af-694adb66bbbb"}},"repository":{"url":"git+https://github.com/HenryQW/pi-harness.git","type":"git","directory":"extensions/pi-memory"},"_npmVersion":"11.19.0","description":"Auto-managed markdown memory for Pi: capped MEMORY.md/USER.md entry stores with frozen session snapshots.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"proper-lockfile":"^4.1.2","@henryqw/pi-task-models":"^7.0.0","@henryqw/pi-ask-question":"^2.0.0","@henryqw/pi-config-store":"^2.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@earendil-works/pi-ai":"0.87.0","@earendil-works/pi-tui":"0.87.0","@types/proper-lockfile":"^4.1.4","@earendil-works/pi-coding-agent":"0.87.0"},"peerDependencies":{"typebox":"^1.3.15","@earendil-works/pi-ai":">=0.86.0 <0.88.0","@earendil-works/pi-tui":">=0.86.0 <0.88.0","@earendil-works/pi-coding-agent":">=0.86.0 <0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-memory_7.0.4_1790320289031_0.5019792741805373","host":"s3://npm-registry-packages-npm-production"}},"8.0.0":{"name":"@henryqw/pi-memory","version":"8.0.0","keywords":["pi-package","pi","memory"],"license":"MIT","_id":"@henryqw/pi-memory@8.0.0","maintainers":[{"name":"henrywang","email":"hi@henry.wang"}],"homepage":"https://github.com/HenryQW/pi-harness#readme","bugs":{"url":"https://github.com/HenryQW/pi-harness/issues"},"pi":{"extensions":["./extensions/memory.ts"]},"dist":{"shasum":"e7337bc40f37d803239519ecad91e9178501779a","tarball":"https://registry.npmjs.org/@henryqw/pi-memory/-/pi-memory-8.0.0.tgz","fileCount":8,"integrity":"sha512-CUeG4NH3WzbRmW/TD9WkxTSGpkHCJj62KfaDWXpf/9yYxh9HoKzMe/RBS0jgIZqpI9Uhhe+6Bk03pd5TcTjyrg==","signatures":[{"sig":"MEQCIHevyY8VBXt9ehQCe0RR4JpH9ocs1jguHkyPH6wCWVuzAiBQZ4t9HosodnLucOtdXf9vqPHJNHinrXrRdAAPIX6s3g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCgfHSxH7MTMnaG+2riL4DxZ6tfGcVNLf4CLT+PScEKTgIhAMPUEmMS559zVLjMuGEcYIgREI8EH2j4u4sPTNqTV7VM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@henryqw%2fpi-memory@8.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":119267},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"eb28a05bb1337c06c1017f39d560251c70c518aa","scripts":{"test":"node --test test/*.test.ts","typecheck":"tsc --noEmit --allowImportingTsExtensions --target ES2022 --module NodeNext --moduleResolution NodeNext --skipLibCheck extensions/*.ts src/*.ts test/*.test.ts","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc09059e-5b02-4f75-98af-694adb66bbbb"}},"repository":{"url":"git+https://github.com/HenryQW/pi-harness.git","type":"git","directory":"extensions/pi-memory"},"_npmVersion":"11.19.0","description":"Auto-managed markdown memory for Pi: capped MEMORY.md/USER.md entry stores with frozen session snapshots.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"proper-lockfile":"^4.1.2","@henryqw/pi-task-models":"^7.0.0","@henryqw/pi-ask-question":"^2.0.0","@henryqw/pi-config-store":"^2.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@earendil-works/pi-ai":"0.87.0","@earendil-works/pi-tui":"0.87.0","@types/proper-lockfile":"^4.1.4","@earendil-works/pi-coding-agent":"0.87.0"},"peerDependencies":{"typebox":"^1.3.15","@earendil-works/pi-ai":">=0.86.0 <0.88.0","@earendil-works/pi-tui":">=0.86.0 <0.88.0","@earendil-works/pi-coding-agent":">=0.86.0 <0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-memory_8.0.0_1790362746076_0.4588397135498685","host":"s3://npm-registry-packages-npm-production"}},"8.0.1":{"name":"@henryqw/pi-memory","version":"8.0.1","keywords":["pi-package","pi","memory"],"license":"MIT","_id":"@henryqw/pi-memory@8.0.1","maintainers":[{"name":"henrywang","email":"hi@henry.wang"}],"homepage":"https://github.com/HenryQW/pi-harness#readme","bugs":{"url":"https://github.com/HenryQW/pi-harness/issues"},"pi":{"extensions":["./extensions/memory.ts"]},"dist":{"shasum":"81d43f609823ad2c258cd8590da78261bdc26442","tarball":"https://registry.npmjs.org/@henryqw/pi-memory/-/pi-memory-8.0.1.tgz","fileCount":8,"integrity":"sha512-qsRl3aO2gAWbAxMuujZzuHZOHhQSpcftkDWkm2D1ibNP7Sl4ggImPkOBGZ5X9QB0ZHNTJaT6lSSmcjiynbwrGg==","signatures":[{"sig":"MEUCIHb7hLSdqXAC7nLs1reHZmZujKWTimVNDYBNYd7FKhj6AiEA/EFvyYUdbsOFeeMZ9xQjx9GZESijYyPPNEHpYBzuKi4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIEQzV+R7oSPfcoiW89EAkuqN4NARw6k3zGP61sWBsSy2AiBMYA2/5YGCifZtbibA6zqWgrYxk1i2z1ub+1qigdQH2A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@henryqw%2fpi-memory@8.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":119340},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"62cd97d8bb001d5709a47a6e20c69a22e68928bb","scripts":{"test":"node --test test/*.test.ts","typecheck":"tsc --noEmit --allowImportingTsExtensions --target ES2022 --module NodeNext --moduleResolution NodeNext --skipLibCheck extensions/*.ts src/*.ts test/*.test.ts","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cc09059e-5b02-4f75-98af-694adb66bbbb"}},"repository":{"url":"git+https://github.com/HenryQW/pi-harness.git","type":"git","directory":"extensions/pi-memory"},"_npmVersion":"11.19.0","description":"Auto-managed markdown memory for Pi: capped MEMORY.md/USER.md entry stores with frozen session snapshots.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"proper-lockfile":"^4.1.2","@henryqw/pi-task-models":"^7.0.0","@henryqw/pi-ask-question":"^2.0.0","@henryqw/pi-config-store":"^2.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@earendil-works/pi-ai":"0.87.0","@earendil-works/pi-tui":"0.87.0","@types/proper-lockfile":"^4.1.4","@earendil-works/pi-coding-agent":"0.87.0"},"peerDependencies":{"typebox":"^1.3.15","@earendil-works/pi-ai":">=0.86.0 <0.88.0","@earendil-works/pi-tui":">=0.86.0 <0.88.0","@earendil-works/pi-coding-agent":">=0.86.0 <0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-memory_8.0.1_1790443735163_0.2638575235551821","host":"s3://npm-registry-packages-npm-production"}},"8.0.2":{"name":"@henryqw/pi-memory","version":"8.0.2","keywords":["pi-package","pi","memory"],"license":"MIT","_id":"@henryqw/pi-memory@8.0.2","maintainers":[{"name":"henrywang","email":"hi@henry.wang"}],"homepage":"https://github.com/HenryQW/pi-harness#readme","bugs":{"url":"https://github.com/HenryQW/pi-harness/issues"},"pi":{"extensions":["./extensions/memory.ts"]},"dist":{"shasum":"340126dca841948ab5aeb6bb22017c0f5f262dc9","tarball":"https://registry.npmjs.org/@henryqw/pi-memory/-/pi-memory-8.0.2.tgz","fileCount":8,"integrity":"sha512-STjRYSKw7dPRmP5ODcfaxNSWvGh7o+LnxVzTiZ6FsXuEni87uAJJPwVN6AbX02TRPsiPSaECZ/hJBsc5bvwwuQ==","signatures":[{"sig":"MEQCIE3GhB/mkUDe6akSRcshPrgQDvmqaA8FJDdTDLyn0VPfAiBZK95F1mOZE6z7BRdv3jnSVR7xcRwwdf5dIL/h2doyow==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGDXLl9XXokpDymXwpGaCu/BNloMO5woPHXAp6411SYaAiA0uRAU5AaiOZPpAcUFordyEl3FftCX0qPGZasAkoVpKA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@henryqw%2fpi-memory@8.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":119493},"type":"module","engines":{"node":">=22.19.0"},"gitHead":"33454d4fc5953078d6f4811e8c356c84ccbf2d36","scripts":{"test":"node --test test/*.test.ts","typecheck":"tsc --noEmit --allowImportingTsExtensions --target ES2022 --module NodeNext --moduleResolution NodeNext --skipLibCheck extensions/*.ts src/*.ts test/*.test.ts","pack:check":"npm pack --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"cc09059e-5b02-4f75-98af-694adb66bbbb"}},"repository":{"url":"git+https://github.com/HenryQW/pi-harness.git","type":"git","directory":"extensions/pi-memory"},"_npmVersion":"11.19.0","description":"Auto-managed markdown memory for Pi: capped MEMORY.md/USER.md entry stores with frozen session snapshots.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"proper-lockfile":"^4.1.2","@henryqw/pi-task-models":"^7.0.0","@henryqw/pi-ask-question":"^2.0.0","@henryqw/pi-config-store":"^2.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@earendil-works/pi-ai":"0.99.1","@earendil-works/pi-tui":"0.99.1","@types/proper-lockfile":"^4.1.4","@earendil-works/pi-coding-agent":"0.99.1"},"peerDependencies":{"typebox":"^1.3.15","@earendil-works/pi-ai":">=0.86.0 <0.100.0","@earendil-works/pi-tui":">=0.86.0 <0.100.0","@earendil-works/pi-coding-agent":">=0.86.0 <0.100.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-memory_8.0.2_1790783492737_0.6641398416471762","host":"s3://npm-registry-packages-npm-production"}},"8.0.3":{"pi":{"extensions":["./extensions/memory.ts"]},"_id":"@henryqw/pi-memory@8.0.3","bugs":{"url":"https://github.com/HenryQW/pi-harness/issues"},"dist":{"shasum":"ad061f9b02002810fb2b7d3b259613c105972934","tarball":"https://registry.npmjs.org/@henryqw/pi-memory/-/pi-memory-8.0.3.tgz","fileCount":8,"integrity":"sha512-KuaKFJFcGztsUiNgGW9izNwTxlaL1/WV/Fk/ChCKnvERjoG+neoURlvuFgzF3hnLOg5dTdANKOum7w58GrG0jQ==","signatures":[{"sig":"MEUCIC22WWIiO3UXJmMPUwbk9vuo+vownKFiE+Ui9AtqiaBrAiEAuiczvO+oIXO2KK1DRX4nixKsDMAG1q4gEWF/tMHZ0GU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIAPWzeaNna4X5vij7rSYDpyGFBblQP6LC7FznjVZfSE/AiEA/UI75zUeor6TwsKMyMvUcs5lhDp5ogaqc7nqqRs50Sg="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@henryqw%2fpi-memory@8.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":119520},"name":"@henryqw/pi-memory","type":"module","engines":{"node":">=22.19.0"},"gitHead":"b08a22894d141f45498f2191294ed13f25eb28d1","license":"MIT","scripts":{"test":"node --test test/*.test.ts","typecheck":"tsc --noEmit --allowImportingTsExtensions --target ES2022 --module NodeNext --moduleResolution NodeNext --skipLibCheck extensions/*.ts src/*.ts test/*.test.ts","pack:check":"npm pack --dry-run"},"version":"8.0.3","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"cc09059e-5b02-4f75-98af-694adb66bbbb"}},"homepage":"https://github.com/HenryQW/pi-harness#readme","keywords":["pi-package","pi","memory"],"repository":{"url":"git+https://github.com/HenryQW/pi-harness.git","type":"git","directory":"extensions/pi-memory"},"_npmVersion":"11.19.0","description":"Auto-managed markdown memory for Pi: capped MEMORY.md/USER.md entry stores with frozen session snapshots.","directories":{},"maintainers":[{"name":"henrywang","email":"hi@henry.wang"}],"_nodeVersion":"24.21.0","dependencies":{"proper-lockfile":"^4.1.2","@henryqw/pi-task-models":"^7.0.0","@henryqw/pi-ask-question":"^2.0.0","@henryqw/pi-config-store":"^2.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@earendil-works/pi-ai":"1.0.0","@earendil-works/pi-tui":"1.0.0","@types/proper-lockfile":"^4.1.4","@earendil-works/pi-coding-agent":"1.0.0"},"peerDependencies":{"typebox":"^1.3.15","@earendil-works/pi-ai":">=0.86.0 <0.100.0 || ^1.0.0","@earendil-works/pi-tui":">=0.86.0 <0.100.0 || ^1.0.0","@earendil-works/pi-coding-agent":">=0.86.0 <0.100.0 || ^1.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-memory_8.0.3_1790915025162_0.42932746584969683"}}},"time":{"created":"2026-08-23T14:30:15.835Z","modified":"2026-10-02T04:23:45.634Z","0.1.0":"2026-08-23T14:30:16.170Z","0.2.0":"2026-08-24T08:31:39.554Z","0.2.2":"2026-08-24T10:38:40.860Z","1.0.0":"2026-08-24T15:31:34.025Z","1.0.1":"2026-08-26T05:39:11.641Z","1.1.0":"2026-08-26T08:13:07.773Z","1.1.1":"2026-08-26T14:31:15.898Z","1.2.0":"2026-08-27T12:17:10.999Z","1.3.0":"2026-08-27T14:41:25.986Z","1.3.1":"2026-08-28T06:02:43.616Z","1.3.2":"2026-08-28T17:52:52.725Z","2.0.0":"2026-08-29T10:41:15.319Z","2.0.1":"2026-08-29T11:07:05.913Z","3.0.0":"2026-08-29T11:14:34.967Z","3.0.1":"2026-08-29T17:23:04.382Z","3.0.2":"2026-08-29T21:37:56.714Z","4.0.0":"2026-08-30T07:07:07.717Z","4.0.1":"2026-08-30T16:00:48.195Z","5.0.0":"2026-09-01T13:56:02.592Z","5.0.1":"2026-09-01T17:53:15.416Z","6.0.0":"2026-09-05T13:04:20.191Z","6.0.1":"2026-09-06T07:03:58.167Z","6.0.2":"2026-09-06T11:55:55.527Z","6.0.3":"2026-09-07T09:25:13.629Z","6.0.4":"2026-09-08T12:13:53.660Z","6.0.5":"2026-09-08T12:54:00.549Z","7.0.0":"2026-09-20T12:46:12.271Z","7.0.1":"2026-09-22T06:20:32.392Z","7.0.2":"2026-09-22T08:27:52.410Z","7.0.3":"2026-09-24T11:03:33.799Z","7.0.4":"2026-09-25T07:11:29.115Z","8.0.0":"2026-09-25T18:59:06.159Z","8.0.1":"2026-09-26T17:28:55.240Z","8.0.2":"2026-09-30T15:51:32.832Z","8.0.3":"2026-10-02T04:23:45.261Z"},"bugs":{"url":"https://github.com/HenryQW/pi-harness/issues"},"license":"MIT","homepage":"https://github.com/HenryQW/pi-harness#readme","keywords":["pi-package","pi","memory"],"repository":{"url":"git+https://github.com/HenryQW/pi-harness.git","type":"git","directory":"extensions/pi-memory"},"description":"Auto-managed markdown memory for Pi: capped MEMORY.md/USER.md entry stores with frozen session snapshots.","maintainers":[{"name":"henrywang","email":"hi@henry.wang"}],"readme":"# `@henryqw/pi-memory`\n\nKeep durable preferences and cross-project facts across Pi sessions, with a frozen snapshot in each session. Bounded Markdown controls prompt size without a hand-maintained knowledge tree.\n\nInspired by [Hermes Agent](https://github.com/NousResearch/hermes-agent) and its bounded `MEMORY.md`/`USER.md` cross-session memory pattern.\n\n## Install\n\n```bash\npi install npm:@henryqw/pi-ask-question\npi install npm:@henryqw/pi-task-models\npi install npm:@henryqw/pi-memory\n```\n\nRun `/task-models` and configure the `balanced` profile before adding memory. Open `/task-models` again and verify that `balanced` no longer says `not configured`.\n\n## Works with\n\n| Package | Relationship | Purpose |\n| --- | --- | --- |\n| [`@henryqw/pi-ask-question`](https://pi.henry.wang/extensions/pi-ask-question) | Required | Provides the validated conflict prompt. |\n| [`@henryqw/pi-herdr-btw`](https://pi.henry.wang/extensions/pi-herdr-btw) | Improves | Marks side-thread children, suppressing parent-only memory injection and dream advice. |\n| [`@henryqw/pi-task-models`](https://pi.henry.wang/extensions/pi-task-models) | Required | Provides candidate-review routes. |\n\n## Use\n\nRun `/remember I prefer concise release notes.` Pi proposes a suitable entry through a configured model task, then reviews the add. An unconflicted preference is saved in `USER.md`; a conflict asks you how to resolve it.\n\nRead `~/.pi/agent/config/pi-memory/memory/USER.md` (the default path; `directory` is configurable) to confirm the saved entry. Start a new session to use its frozen snapshot.\n\n| Surface | Type | Purpose |\n| --- | --- | --- |\n| `/remember <instruction>` | command | For humans: process an instruction into compact durable memory; semantic conflicts require user resolution; busy requests queue in FIFO order. |\n| `/dream` | command | For humans: promote invariant memory instructions into the agent-global `~/.pi/agent/SYSTEM.md`. |\n| `memory` | tool | For agents: add, replace, remove, or batch-edit entries across sessions. |\n| `pi-memory/reviewCandidate` | model task | Reviews memory additions. |\n| `pi-memory/prepareCandidate` | model task | Proposes a target and entry for `/remember`, or skips it. |\n| `pi-memory/promoteEntries` | model task | Proposes one guarded `/dream` promotion. |\n\n## Flow\n\n### Candidate review\n\nNew single adds and batches containing an `add` are independently reviewed by the local `pi-memory/reviewCandidate` Model Task. It defaults to the shared `balanced` profile.\n\n![pi-memory architecture showing reviewed writes and frozen session snapshots](./docs/memory-architecture.svg)\n\nCandidate review gives the configured model live snapshots of agent-global `SYSTEM.md`, `MEMORY.md`, and `USER.md`. An initially missing `SYSTEM.md` is empty. Unreadable, oversized, or over-cap sources fail closed.\n\nA SYSTEM file proven present during review cannot disappear later in that session. Restore it before the next add.\n\nIt resolves the configured Pi registry primary route, then fallback, through `/task-models`. It never substitutes the current session model. It accepts only verified bounded JSON evidence.\n\nA missing shared task-model config warns once at session start. Configure `pi-memory/reviewCandidate` with `/task-models` before adding memory.\n\nAn overlap or contradiction pauses through the shared `ask_question` UI. Choose **Merge with existing entries**, **Discard the new entry, keep current**, or **Replace current entry**; the UI also offers **Something else.** for a custom answer. The recommended choice comes first: merge for overlap, replace for contradiction, and discard for SYSTEM conflicts. pi-memory never edits SYSTEM.md.\n\nExact duplicate single adds and duplicate-only add batches are idempotent and skip model review. For a single add conflicting with exactly one entry in the same store, approved merge or replacement is re-reviewed against the other sources and written under the store lock only if those sources remain unchanged. Discard writes nothing. Custom answers, cross-target or ambiguous conflicts, batches, cancellation, and non-interactive UI leave the candidate unwritten. pi-memory cannot resolve a SYSTEM.md conflict.\n\n### `/remember`\n\n`/remember <instruction>` uses the bounded `pi-memory/prepareCandidate` Model Task to propose a target and exact entry or decline the request. It checks for source changes, then saves through the same reviewed memory tool. It does not dispatch an open-ended instruction to the session agent. The configured `balanced` task-model profile must be available.\n\nIf Pi is busy, it queues the trimmed instruction. Once the response settles, it drains queued requests in FIFO order while the session remains idle, reading live entries for each. If the session starts, shuts down, or changes model during review, `/remember` rejects the write even when Pi provides no idle cancellation signal; retry in the current session. Unsuitable project-specific, temporary, trivial, or otherwise unsuitable content is refused.\n\n### `/dream`\n\nPi recommends `/dream` when memory is non-empty and no previous dream is recorded. It also recommends it when memory is non-empty and the last dream was over 30 days ago.\n\nIt recommends `/dream` when either store is at least 70% full and the last dream was at least 7 days ago.\n\n`/dream` uses `pi-memory/promoteEntries` to propose one exact edit to the agent-global `~/.pi/agent/SYSTEM.md` and the whole entries represented by the result. It previews the proposal for approval in the interactive UI. After approval, it checks that SYSTEM and both memory stores are unchanged, writes SYSTEM first, then removes the selected entries. A failed SYSTEM write removes nothing. If removal fails after SYSTEM was updated, rerun `/dream` to reconcile; the timestamp is not advanced. Successful runs record their time in `~/.pi/agent/config/pi-memory/dream.json`.\n\nSYSTEM.md must already exist, be readable, and not be a symlink. Establish it deliberately and completely: a partial SYSTEM replaces Pi's default prompt. A SYSTEM edit takes effect in a new session, not the current frozen snapshot. `/dream` cannot run without an interactive UI or a configured `balanced` task-model route. If Pi supplies a cancellation signal, commands stop before writing when it is aborted; Pi may provide no signal while idle. Once a SYSTEM edit is saved, entry removal continues so the promotion can be reconciled on retry.\n\n### Per-turn memory check\n\nFinal memory qualification remains a current-session-agent workflow; `/remember` and `/dream` use Model Tasks for semantic proposals and extension code for writes.\n\nEach turn's shorter memory check asks the current agent to save newly learned durable user identity, preferences, or corrections to `target=user`, and stable cross-project environment or workflow facts to `target=memory`.\n\nUse the memory tool immediately only when something qualifies. Save inferred habits only after two independent signals from the conversation and/or existing profile. Skip project- or repository-specific facts, task-local behavior, progress, and temporary preferences.\n\n## Config\n\nPackage-owned: `~/.pi/agent/config/pi-memory/config.json`. You write this optional file; pi-memory reads it at session start and never creates or rewrites it. All fields are optional. A missing file uses defaults. Start a new session for config changes to take effect.\n\n| Name | Description | Values | Default |\n| --- | --- | --- | --- |\n| `directory` | Sets the folder for both memory stores. | Non-empty absolute path without control characters. | `~/.pi/agent/config/pi-memory/memory` |\n| `memoryCharLimit` | Caps `MEMORY.md` by character count. | Safe integer from 1 to 100000. | `8800` |\n| `userCharLimit` | Caps `USER.md` by character count. | Safe integer from 1 to 100000. | `5500` |\n\nMalformed JSON, invalid UTF-8, files over 64 KiB, non-object roots, unknown keys, or out-of-range values fail initialization with an error naming the problem; persistent memory is disabled for that session. Fix the file and start a new session. The file is never rewritten.\n\n## State and storage\n\n| Store | Scope | Default cap |\n| --- | --- | --- |\n| `MEMORY.md` | Global agent notes shared across all projects. Do not store project-specific facts here; they belong in the repository. | 8800 characters |\n| `USER.md` | User profile. | 5500 characters |\n\nEach file holds entries delimited by `§` and is size-capped. At session start, both stores are captured. Later edits do not alter injected memory.\n\nDuring a session, pi-memory remembers each store file proven to exist. This includes valid, invalid UTF-8, oversized, and symlinked files.\n\nIf a proven store disappears, writes stay blocked until you restore it. A path never confirmed present can be repaired and created normally. A new session starts new presence tracking.\n\nRead `<directory>/MEMORY.md` and `<directory>/USER.md` to inspect live state.\n\nBackups and the lock file live outside `directory`, under `~/.pi/agent/config/pi-memory/backups/`.\n\nPoint `directory` at an iCloud Drive or Obsidian-vault-synced folder. The synced vault only carries files. pi-memory owns the file format and treats the remote as opaque storage, so no merge logic runs on the Pi side.\n\n## Limits and recovery\n\nA configured cloud-synced directory can be read outside Pi. Review [`ADR 006 — pi-memory global store threat model`](https://github.com/HenryQW/pi-harness/blob/main/docs/adr/006-pi-memory-global-store-threat-model.md) before pointing it at a shared or cloud-synced path.\n\nWhen a write would exceed a store's cap, the tool rejects it and reports current usage.\n\nConsolidate with one batch that removes or shortens stale entries and adds the new entry together. A batch checks only the final size. A batch accepts at most 100 operations. A complete serialized mutation cannot exceed 1,000,000 UTF-8 bytes.\n\nBoth limits are checked before source loading or review. Calls over either limit do not write.\n\nAn external edit or sync can push an on-disk file over its cap. The session snapshot then omits the overflow and warns instead of injecting it.\n\nStartup lists at most three unexpected regular filenames in `directory`. It stops on the fourth and reports `at least four unexpected files`. Only `MEMORY.md` and `USER.md` are loaded; reconcile or remove the unexpected files.\n","readmeFilename":"README.md"}