{"_id":"stella-timeline-plugin","_rev":"30-4a2a9add5bbb6435fc1683144bce2bd2","name":"stella-timeline-plugin","dist-tags":{"latest":"2.8.9"},"versions":{"2.0.0":{"name":"stella-timeline-plugin","version":"2.0.0","keywords":["openclaw","skill","timeline","memory","ai-agent","episode","persona"],"author":{"name":"tao.zang"},"license":"MIT-0","_id":"stella-timeline-plugin@2.0.0","maintainers":[{"name":"tower1229","email":"tower1229@foxmail.com"}],"homepage":"https://github.com/tower1229/Her#readme","bugs":{"url":"https://github.com/tower1229/Her/issues"},"bin":{"openclaw-timeline-setup":"bin/openclaw-timeline-setup.mjs","openclaw-timeline-doctor":"bin/openclaw-timeline-doctor.mjs"},"dist":{"shasum":"7c9704662d526b658f9ccc9b3a51257b51e4e847","tarball":"https://registry.npmjs.org/stella-timeline-plugin/-/stella-timeline-plugin-2.0.0.tgz","fileCount":44,"integrity":"sha512-RsbEIXam7z2zPexeErDQhHm7MeqJ9/DmhAtYpyPzwfHHye/LNH6JKPf4MsQ07ys0OJ4uyHq46PixYd6vQ0GCFA==","signatures":[{"sig":"MEYCIQDmcJ0xsWz3Y5fRABkUu3K0dgTudRvm9oyBSOjggi38PQIhAPucsnV5bFtRB7156tHcEhBNf6RQJ6Z4tz/JS1zKZYy0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":177002},"main":"dist/index.js","engines":{"node":">=22.0.0"},"gitHead":"5acd7c176531f83da51a1ac1c0ca7a3cfbd6b364","scripts":{"test":"node node_modules/jest/bin/jest.js --runInBand","build":"tsc -p tsconfig.build.json","verify":"npm run typecheck && npm run build && npm run test:unit","release":"node ./scripts/release.mjs","prebuild":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","test:unit":"node node_modules/jest/bin/jest.js --runInBand","typecheck":"tsc --noEmit","test:smoke":"node ./scripts/run-openclaw-smoke.mjs","pack:plugin":"npm pack","migrate:memory":"node ./scripts/migrate-existing-memory.mjs --apply","setup:workspace":"node ./scripts/setup-openclaw-workspace.mjs","doctor:workspace":"node ./scripts/doctor-openclaw-workspace.mjs","test:live-experience":"node ./scripts/run-openclaw-live-e2e.mjs"},"_npmUser":{"name":"tower1229","email":"tower1229@foxmail.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/tower1229/Her.git","type":"git"},"_npmVersion":"11.11.1","description":"Native OpenClaw timeline plugin with a canonical timeline_resolve tool, bundled skill routing, and guarded append-only writes.","directories":{},"_nodeVersion":"20.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.x","ts-jest":"^29.x","typescript":"^5.x","@types/jest":"^30.0.0","@types/node":"^20.x"},"_npmOperationalInternal":{"tmp":"tmp/stella-timeline-plugin_2.0.0_1774361822503_0.21658204375692902","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"stella-timeline-plugin","version":"2.0.1","keywords":["openclaw","skill","timeline","memory","ai-agent","episode","persona"],"author":{"name":"tao.zang"},"license":"MIT-0","_id":"stella-timeline-plugin@2.0.1","maintainers":[{"name":"tower1229","email":"tower1229@foxmail.com"}],"homepage":"https://github.com/tower1229/Her#readme","bugs":{"url":"https://github.com/tower1229/Her/issues"},"bin":{"openclaw-timeline-setup":"bin/openclaw-timeline-setup.mjs","openclaw-timeline-doctor":"bin/openclaw-timeline-doctor.mjs"},"dist":{"shasum":"44610603d89173531d04e78de2409ec79b3a5237","tarball":"https://registry.npmjs.org/stella-timeline-plugin/-/stella-timeline-plugin-2.0.1.tgz","fileCount":44,"integrity":"sha512-qyq6IFgdJPi+mhXCb0Sth7NnkkZdfmnmN7WnzAZ+NHyO+zu+boHEKXua9Jg353St8p6fuaubn+q5Enob+iT89Q==","signatures":[{"sig":"MEUCIH+hI7J5lql/XJEb8yApnd46On1K34cBecisIpiByZjrAiEAyJZSDhuZDMOM2XHXfUXCAcSmnS8AXL6XnoWwUzIJOpE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":197813},"main":"dist/index.js","engines":{"node":">=22.0.0"},"gitHead":"59ff0f528272f67e41a9e8274f96f821a2c9ab6f","scripts":{"test":"node node_modules/jest/bin/jest.js --runInBand","build":"tsc -p tsconfig.build.json","verify":"npm run typecheck && npm run build && npm run test:unit","release":"node ./scripts/release.mjs","prebuild":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","test:unit":"node node_modules/jest/bin/jest.js --runInBand","typecheck":"tsc --noEmit","test:smoke":"node ./scripts/run-openclaw-smoke.mjs","pack:plugin":"npm pack","migrate:memory":"node ./scripts/migrate-existing-memory.mjs --apply","setup:workspace":"node ./scripts/setup-openclaw-workspace.mjs","doctor:workspace":"node ./scripts/doctor-openclaw-workspace.mjs","test:live-experience":"node ./scripts/run-openclaw-live-e2e.mjs"},"_npmUser":{"name":"tower1229","email":"tower1229@foxmail.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/tower1229/Her.git","type":"git"},"_npmVersion":"11.7.0","description":"Native OpenClaw timeline plugin with a canonical timeline_resolve tool, bundled skill routing, and guarded append-only writes.","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.x","ts-jest":"^29.x","typescript":"^5.x","@types/jest":"^30.0.0","@types/node":"^20.x"},"_npmOperationalInternal":{"tmp":"tmp/stella-timeline-plugin_2.0.1_1774414183229_0.7504062062993988","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"stella-timeline-plugin","version":"2.0.2","keywords":["openclaw","skill","timeline","memory","ai-agent","episode","persona"],"author":{"name":"tao.zang"},"license":"MIT-0","_id":"stella-timeline-plugin@2.0.2","maintainers":[{"name":"tower1229","email":"tower1229@foxmail.com"}],"homepage":"https://github.com/tower1229/Her#readme","bugs":{"url":"https://github.com/tower1229/Her/issues"},"bin":{"openclaw-timeline-setup":"bin/openclaw-timeline-setup.mjs","openclaw-timeline-doctor":"bin/openclaw-timeline-doctor.mjs"},"dist":{"shasum":"61cc847a6059135e10062ac90b78726d38cf52b2","tarball":"https://registry.npmjs.org/stella-timeline-plugin/-/stella-timeline-plugin-2.0.2.tgz","fileCount":44,"integrity":"sha512-5dIzel78Y+e9VE4LOr5L04dQ8OTfbe6QLvTroA3sTTDKk1vZdg8mA37fOC8XDivj2Jo1xTOovO1FcyRG3s9RTg==","signatures":[{"sig":"MEQCIGR4LZE7N81BhLE6h9r4dQfioYT8Vj/xWtBQGrGNo0uKAiALuRWRmT+DPKvgVzc9bZvJx7yuRMAT1Ue/L7EH3v0rtg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":203416},"main":"dist/index.js","engines":{"node":">=22.0.0"},"gitHead":"1bd076dd0fed0198f7bc24c4aecce2638944a061","scripts":{"test":"node node_modules/jest/bin/jest.js --runInBand","build":"tsc -p tsconfig.build.json","verify":"npm run typecheck && npm run build && npm run test:unit","release":"node ./scripts/release.mjs","prebuild":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","test:unit":"node node_modules/jest/bin/jest.js --runInBand","typecheck":"tsc --noEmit","test:smoke":"node ./scripts/run-openclaw-smoke.mjs","pack:plugin":"npm pack","migrate:memory":"node ./scripts/migrate-existing-memory.mjs --apply","setup:workspace":"node ./scripts/setup-openclaw-workspace.mjs","doctor:workspace":"node ./scripts/doctor-openclaw-workspace.mjs","test:live-experience":"node ./scripts/run-openclaw-live-e2e.mjs"},"_npmUser":{"name":"tower1229","email":"tower1229@foxmail.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/tower1229/Her.git","type":"git"},"_npmVersion":"11.12.0","description":"Native OpenClaw timeline plugin with a canonical timeline_resolve tool, bundled skill routing, and guarded append-only writes.","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.x","ts-jest":"^29.x","typescript":"^5.x","@types/jest":"^30.0.0","@types/node":"^20.x"},"_npmOperationalInternal":{"tmp":"tmp/stella-timeline-plugin_2.0.2_1774422961519_0.7344208373384498","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"name":"stella-timeline-plugin","version":"2.0.3","keywords":["openclaw","skill","timeline","memory","ai-agent","episode","persona"],"author":{"name":"tao.zang"},"license":"MIT-0","_id":"stella-timeline-plugin@2.0.3","maintainers":[{"name":"tower1229","email":"tower1229@foxmail.com"}],"homepage":"https://github.com/tower1229/Her#readme","bugs":{"url":"https://github.com/tower1229/Her/issues"},"bin":{"openclaw-timeline-setup":"bin/openclaw-timeline-setup.mjs","openclaw-timeline-doctor":"bin/openclaw-timeline-doctor.mjs"},"dist":{"shasum":"4c5b43f6027faddd819b0e7845964136d2511fa0","tarball":"https://registry.npmjs.org/stella-timeline-plugin/-/stella-timeline-plugin-2.0.3.tgz","fileCount":44,"integrity":"sha512-mJm7JppH0v3MPkFRw7ULRxGchprQ8saorGDHo9lugt6S8b2GwIZcseqKQyopv8qWEUuLJqNfyjTPSV4ou8Qu/g==","signatures":[{"sig":"MEYCIQC5D5sRxpgVGEDQ/TVjgFCKZrA/w6LmRRPCgzUTrSX7ugIhAPvdyy3pVr3yOdm0CnFvnLJOvPHQVYLSpaFTg8NDihjF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":199172},"main":"dist/index.js","engines":{"node":">=22.0.0"},"gitHead":"d2ddb03984bde7cb65d18e6ff69a94f5c2c958e1","scripts":{"test":"node node_modules/jest/bin/jest.js --runInBand","build":"tsc -p tsconfig.build.json","verify":"npm run typecheck && npm run build && npm run test:unit","release":"node ./scripts/release.mjs","prebuild":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","test:unit":"node node_modules/jest/bin/jest.js --runInBand","typecheck":"tsc --noEmit","test:smoke":"node ./scripts/run-openclaw-smoke.mjs","pack:plugin":"npm pack","migrate:memory":"node ./scripts/migrate-existing-memory.mjs --apply","setup:workspace":"node ./scripts/setup-openclaw-workspace.mjs","doctor:workspace":"node ./scripts/doctor-openclaw-workspace.mjs","test:live-experience":"node ./scripts/run-openclaw-live-e2e.mjs"},"_npmUser":{"name":"tower1229","email":"tower1229@foxmail.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/tower1229/Her.git","type":"git"},"_npmVersion":"11.11.1","description":"Native OpenClaw timeline plugin with a canonical timeline_resolve tool, bundled skill routing, and guarded append-only writes.","directories":{},"_nodeVersion":"20.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.x","ts-jest":"^29.x","typescript":"^5.x","@types/jest":"^30.0.0","@types/node":"^20.x"},"_npmOperationalInternal":{"tmp":"tmp/stella-timeline-plugin_2.0.3_1774430034550_0.16113185766531868","host":"s3://npm-registry-packages-npm-production"}},"2.0.4":{"name":"stella-timeline-plugin","version":"2.0.4","keywords":["openclaw","skill","timeline","memory","ai-agent","episode","persona"],"author":{"name":"tao.zang"},"license":"MIT-0","_id":"stella-timeline-plugin@2.0.4","maintainers":[{"name":"tower1229","email":"tower1229@foxmail.com"}],"homepage":"https://github.com/tower1229/Her#readme","bugs":{"url":"https://github.com/tower1229/Her/issues"},"bin":{"openclaw-timeline-setup":"bin/openclaw-timeline-setup.mjs","openclaw-timeline-doctor":"bin/openclaw-timeline-doctor.mjs"},"dist":{"shasum":"7c8efba7e63ba85a7c9ea7a79477c98d9bae4d10","tarball":"https://registry.npmjs.org/stella-timeline-plugin/-/stella-timeline-plugin-2.0.4.tgz","fileCount":44,"integrity":"sha512-kbY7N6krFh0g7Ap5+sYyuOqlh5XjXY/HkNxgJDGQeYBMPgnAAXggcIH7XGUKnZ0S3NQTcq3btxvSW7SFpZOUhQ==","signatures":[{"sig":"MEYCIQDtZyEjkaNd4xqbL/qOAyifC+S5QumhiN7RuXBYHT7GOQIhAJbMiC7T4VMctI5GSmHKHgusd31wjE4IW9uVypqNJzjY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":199132},"main":"dist/index.js","engines":{"node":">=24.0.0"},"gitHead":"1bf5c4e3161240467bb8395f975d5d5692afef7a","scripts":{"test":"node node_modules/jest/bin/jest.js --runInBand","build":"tsc -p tsconfig.build.json","verify":"npm run typecheck && npm run build && npm run test:unit","release":"node ./scripts/release.mjs","prebuild":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","test:unit":"node node_modules/jest/bin/jest.js --runInBand","typecheck":"tsc --noEmit","test:smoke":"node ./scripts/run-openclaw-smoke.mjs","pack:plugin":"npm pack","migrate:memory":"node ./scripts/migrate-existing-memory.mjs --apply","setup:workspace":"node ./scripts/setup-openclaw-workspace.mjs","doctor:workspace":"node ./scripts/doctor-openclaw-workspace.mjs","test:live-experience":"node ./scripts/run-openclaw-live-e2e.mjs"},"_npmUser":{"name":"tower1229","email":"tower1229@foxmail.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/tower1229/Her.git","type":"git"},"_npmVersion":"10.9.3","description":"Native OpenClaw timeline plugin with a canonical timeline_resolve tool, bundled skill routing, and guarded append-only writes.","directories":{},"_nodeVersion":"22.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.x","ts-jest":"^29.x","typescript":"^5.x","@types/jest":"^30.0.0","@types/node":"^20.x"},"_npmOperationalInternal":{"tmp":"tmp/stella-timeline-plugin_2.0.4_1774432707240_0.750608335914074","host":"s3://npm-registry-packages-npm-production"}},"2.0.5":{"name":"stella-timeline-plugin","version":"2.0.5","keywords":["openclaw","skill","timeline","memory","ai-agent","episode","persona"],"author":{"name":"tao.zang"},"license":"MIT-0","_id":"stella-timeline-plugin@2.0.5","maintainers":[{"name":"tower1229","email":"tower1229@foxmail.com"}],"homepage":"https://github.com/tower1229/Her#readme","bugs":{"url":"https://github.com/tower1229/Her/issues"},"bin":{"openclaw-timeline-setup":"bin/openclaw-timeline-setup.mjs","openclaw-timeline-doctor":"bin/openclaw-timeline-doctor.mjs"},"dist":{"shasum":"1f5e3900b56ba3e258eaa28402bea8f784682679","tarball":"https://registry.npmjs.org/stella-timeline-plugin/-/stella-timeline-plugin-2.0.5.tgz","fileCount":44,"integrity":"sha512-V5cstqjNynjECR2uhVkEg0qulw+hIVNSJz6CyKsKgywVmBSBvh+MQhLJ6d6gByE8//VapLZrZPX/gy2rK5pdZw==","signatures":[{"sig":"MEUCIGXep4zduC93qcnpmQy0smhatrC361VlrHVkMOwMpRbnAiEArNAr+zoBslGbP9hMY2sfFHazBADWkFHmp80iUncQ/qU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":199725},"main":"dist/index.js","engines":{"node":">=24.0.0"},"gitHead":"1bf5c4e3161240467bb8395f975d5d5692afef7a","scripts":{"test":"node node_modules/jest/bin/jest.js --runInBand","build":"tsc -p tsconfig.build.json","verify":"npm run typecheck && npm run build && npm run test:unit","release":"node ./scripts/release.mjs","prebuild":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","test:unit":"node node_modules/jest/bin/jest.js --runInBand","typecheck":"tsc --noEmit","test:smoke":"node ./scripts/run-openclaw-smoke.mjs","pack:plugin":"npm pack","migrate:memory":"node ./scripts/migrate-existing-memory.mjs --apply","setup:workspace":"node ./scripts/setup-openclaw-workspace.mjs","doctor:workspace":"node ./scripts/doctor-openclaw-workspace.mjs","test:live-experience":"node ./scripts/run-openclaw-live-e2e.mjs"},"_npmUser":{"name":"tower1229","email":"tower1229@foxmail.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/tower1229/Her.git","type":"git"},"_npmVersion":"10.9.3","description":"Native OpenClaw timeline plugin with a canonical timeline_resolve tool, bundled skill routing, and guarded append-only writes.","directories":{},"_nodeVersion":"22.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.x","ts-jest":"^29.x","typescript":"^5.x","@types/jest":"^30.0.0","@types/node":"^20.x"},"_npmOperationalInternal":{"tmp":"tmp/stella-timeline-plugin_2.0.5_1774433062768_0.24508718099504212","host":"s3://npm-registry-packages-npm-production"}},"2.0.6":{"name":"stella-timeline-plugin","version":"2.0.6","keywords":["openclaw","skill","timeline","memory","ai-agent","episode","persona"],"author":{"name":"tao.zang"},"license":"MIT-0","_id":"stella-timeline-plugin@2.0.6","maintainers":[{"name":"tower1229","email":"tower1229@foxmail.com"}],"homepage":"https://github.com/tower1229/Her#readme","bugs":{"url":"https://github.com/tower1229/Her/issues"},"bin":{"openclaw-timeline-setup":"bin/openclaw-timeline-setup.mjs","openclaw-timeline-doctor":"bin/openclaw-timeline-doctor.mjs"},"dist":{"shasum":"d5d2129bed7b463c8e3cb86a23880f07ad050177","tarball":"https://registry.npmjs.org/stella-timeline-plugin/-/stella-timeline-plugin-2.0.6.tgz","fileCount":44,"integrity":"sha512-JShWeHR96u2ij+TJyB/kkR0IR9xhvT7/q2RswvSVYDEbG4bxQAzxhHvD4ZtWRmlVI08L2J8xFn8hoMBm0BqLzA==","signatures":[{"sig":"MEYCIQC3StJURtHSmpOsF3RsgOvi5IM+Z8PX+7Fhvt0xLBokaQIhANekaNLix9tMLYFffxM6kgGGR5mu8Hx4STiDV/4AfKxf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":200565},"main":"dist/index.js","engines":{"node":">=24.0.0"},"gitHead":"04d23e68812b2de088758913d3e5cf9c8b2ce135","scripts":{"test":"node node_modules/jest/bin/jest.js --runInBand","build":"tsc -p tsconfig.build.json","verify":"npm run typecheck && npm run build && npm run test:unit","release":"node ./scripts/release.mjs","prebuild":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","test:unit":"node node_modules/jest/bin/jest.js --runInBand","typecheck":"tsc --noEmit","test:smoke":"node ./scripts/run-openclaw-smoke.mjs","pack:plugin":"npm pack","migrate:memory":"node ./scripts/migrate-existing-memory.mjs --apply","setup:workspace":"node ./scripts/setup-openclaw-workspace.mjs","doctor:workspace":"node ./scripts/doctor-openclaw-workspace.mjs","test:live-experience":"node ./scripts/run-openclaw-live-e2e.mjs"},"_npmUser":{"name":"tower1229","email":"tower1229@foxmail.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/tower1229/Her.git","type":"git"},"_npmVersion":"10.9.3","description":"Native OpenClaw timeline plugin with a canonical timeline_resolve tool, bundled skill routing, and guarded append-only writes.","directories":{},"_nodeVersion":"22.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.x","ts-jest":"^29.x","typescript":"^5.x","@types/jest":"^30.0.0","@types/node":"^20.x"},"_npmOperationalInternal":{"tmp":"tmp/stella-timeline-plugin_2.0.6_1774433718647_0.30847115159722716","host":"s3://npm-registry-packages-npm-production"}},"2.0.7":{"name":"stella-timeline-plugin","version":"2.0.7","keywords":["openclaw","skill","timeline","memory","ai-agent","episode","persona"],"author":{"name":"tao.zang"},"license":"MIT-0","_id":"stella-timeline-plugin@2.0.7","maintainers":[{"name":"tower1229","email":"tower1229@foxmail.com"}],"homepage":"https://github.com/tower1229/Her#readme","bugs":{"url":"https://github.com/tower1229/Her/issues"},"bin":{"openclaw-timeline-setup":"bin/openclaw-timeline-setup.mjs","openclaw-timeline-doctor":"bin/openclaw-timeline-doctor.mjs"},"dist":{"shasum":"b03dcb0a4f2b0d4e8fedf910ee22ab34c692a404","tarball":"https://registry.npmjs.org/stella-timeline-plugin/-/stella-timeline-plugin-2.0.7.tgz","fileCount":44,"integrity":"sha512-rD6isN7RXSTLgG4/+mfOACICtLLCumdFxAJQMMMoEGrOfT2Kshu2XwhJ/wF4FjlLk2plXHZ8+t+7sNj5RfAxVA==","signatures":[{"sig":"MEQCIEE9HAMF3R425GRQMmJWvycyG3XTisju/icPvZsnbHA5AiBgmYgeeLYLGIF4PstH3LpdyF5FE4T4DY+wtglSWWKoYw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":203934},"main":"dist/index.js","engines":{"node":">=24.0.0"},"gitHead":"1aabbf94f66d0e4ddbfb3db13bbc872be12a92a4","scripts":{"test":"node node_modules/jest/bin/jest.js --runInBand","build":"tsc -p tsconfig.build.json","verify":"npm run typecheck && npm run build && npm run test:unit","release":"node ./scripts/release.mjs","prebuild":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","test:unit":"node node_modules/jest/bin/jest.js --runInBand","typecheck":"tsc --noEmit","test:smoke":"node ./scripts/run-openclaw-smoke.mjs","pack:plugin":"npm pack","migrate:memory":"node ./scripts/migrate-existing-memory.mjs --apply","setup:workspace":"node ./scripts/setup-openclaw-workspace.mjs","doctor:workspace":"node ./scripts/doctor-openclaw-workspace.mjs","test:live-experience":"node ./scripts/run-openclaw-live-e2e.mjs"},"_npmUser":{"name":"tower1229","email":"tower1229@foxmail.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/tower1229/Her.git","type":"git"},"_npmVersion":"10.9.3","description":"Native OpenClaw timeline plugin with a canonical timeline_resolve tool, bundled skill routing, and guarded append-only writes.","directories":{},"_nodeVersion":"22.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.x","ts-jest":"^29.x","typescript":"^5.x","@types/jest":"^30.0.0","@types/node":"^20.x"},"_npmOperationalInternal":{"tmp":"tmp/stella-timeline-plugin_2.0.7_1774440453140_0.6161459305768497","host":"s3://npm-registry-packages-npm-production"}},"2.0.8":{"name":"stella-timeline-plugin","version":"2.0.8","keywords":["openclaw","skill","timeline","memory","ai-agent","episode","persona"],"author":{"name":"tao.zang"},"license":"MIT-0","_id":"stella-timeline-plugin@2.0.8","maintainers":[{"name":"tower1229","email":"tower1229@foxmail.com"}],"homepage":"https://github.com/tower1229/Her#readme","bugs":{"url":"https://github.com/tower1229/Her/issues"},"bin":{"openclaw-timeline-setup":"bin/openclaw-timeline-setup.mjs","openclaw-timeline-doctor":"bin/openclaw-timeline-doctor.mjs"},"dist":{"shasum":"2295cd6e31276810c8b75ebf8e3b2faafb497986","tarball":"https://registry.npmjs.org/stella-timeline-plugin/-/stella-timeline-plugin-2.0.8.tgz","fileCount":44,"integrity":"sha512-k/a+SA0xZlmzrDLoW7xCNzCIt1m/iC3QjnCit6DT7QbT5qiPKyIL78IdwF8lccb1Dv14eBO/B5ekBtq4Xyb2xg==","signatures":[{"sig":"MEUCIFAkqQrgWohqWUfpGtsOz1EfTaxKprAbUUnVzHjqrXkLAiEA8MNVFu/PU3lLBhi5w7bBPJ84Jk9e+r2BAeWyXIVJxvc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":203082},"main":"dist/index.js","engines":{"node":">=24.0.0"},"gitHead":"7a93a53c3356dbe5bf2002cef8952964c3cb3749","scripts":{"test":"node node_modules/jest/bin/jest.js --runInBand","build":"tsc -p tsconfig.build.json","verify":"npm run typecheck && npm run build && npm run test:unit","release":"node ./scripts/release.mjs","prebuild":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","test:unit":"node node_modules/jest/bin/jest.js --runInBand","typecheck":"tsc --noEmit","test:smoke":"node ./scripts/run-openclaw-smoke.mjs","pack:plugin":"npm pack","migrate:memory":"node ./scripts/migrate-existing-memory.mjs --apply","setup:workspace":"node ./scripts/setup-openclaw-workspace.mjs","doctor:workspace":"node ./scripts/doctor-openclaw-workspace.mjs","test:live-experience":"node ./scripts/run-openclaw-live-e2e.mjs"},"_npmUser":{"name":"tower1229","email":"tower1229@foxmail.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/tower1229/Her.git","type":"git"},"_npmVersion":"11.12.0","description":"Native OpenClaw timeline plugin with a canonical timeline_resolve tool, bundled skill routing, and guarded append-only writes.","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.x","ts-jest":"^29.x","typescript":"^5.x","@types/jest":"^30.0.0","@types/node":"^20.x"},"_npmOperationalInternal":{"tmp":"tmp/stella-timeline-plugin_2.0.8_1774498713765_0.9737029023929795","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"stella-timeline-plugin","version":"2.1.0","keywords":["openclaw","skill","timeline","memory","ai-agent","episode","persona"],"author":{"name":"tao.zang"},"license":"MIT-0","_id":"stella-timeline-plugin@2.1.0","maintainers":[{"name":"tower1229","email":"tower1229@foxmail.com"}],"homepage":"https://github.com/tower1229/Her#readme","bugs":{"url":"https://github.com/tower1229/Her/issues"},"bin":{"openclaw-timeline-setup":"bin/openclaw-timeline-setup.mjs","openclaw-timeline-doctor":"bin/openclaw-timeline-doctor.mjs"},"dist":{"shasum":"ab33ba859a5863da62ca2fd3c77e628b7b44dc51","tarball":"https://registry.npmjs.org/stella-timeline-plugin/-/stella-timeline-plugin-2.1.0.tgz","fileCount":47,"integrity":"sha512-8k2qnhH5nm3tue/NV600hldE1MAmcJcSEDFbBqQops/pFXMVZ6ZKh86ou7EoUNRjtKAwopXpDB3KMY5iIkqzDA==","signatures":[{"sig":"MEUCIQDcuEcHTFsmzDmJyF6CQfahuC4LgQVAxoXQctoRvdM5IwIgapW1MxsmHFGTVt5reqg1T0ecxJ29D5LECx/iv+MCZ24=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":219411},"main":"dist/index.js","engines":{"node":">=24.0.0"},"gitHead":"8f29eabc16b3e1dcf7c1f7a8557e66652ea04c3c","scripts":{"test":"node node_modules/jest/bin/jest.js --runInBand","build":"tsc -p tsconfig.build.json","verify":"npm run typecheck && npm run build && npm run test:unit","release":"node ./scripts/release.mjs","prebuild":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","test:unit":"node node_modules/jest/bin/jest.js --runInBand","typecheck":"tsc --noEmit","test:smoke":"node ./scripts/run-openclaw-smoke.mjs","pack:plugin":"npm pack","migrate:memory":"node ./scripts/migrate-existing-memory.mjs --apply","setup:workspace":"node ./scripts/setup-openclaw-workspace.mjs","doctor:workspace":"node ./scripts/doctor-openclaw-workspace.mjs","generate:holidays":"node ./scripts/generate-holidays.mjs","test:live-experience":"node ./scripts/run-openclaw-live-e2e.mjs"},"_npmUser":{"name":"tower1229","email":"tower1229@foxmail.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/tower1229/Her.git","type":"git"},"_npmVersion":"10.9.3","description":"Native OpenClaw timeline plugin with a canonical timeline_resolve tool, bundled skill routing, and guarded append-only writes.","directories":{},"_nodeVersion":"22.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.x","ts-jest":"^29.x","typescript":"^5.x","@types/jest":"^30.0.0","@types/node":"^20.x"},"_npmOperationalInternal":{"tmp":"tmp/stella-timeline-plugin_2.1.0_1774526371038_0.0638579364045464","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"stella-timeline-plugin","version":"2.2.0","keywords":["openclaw","skill","timeline","memory","ai-agent","episode","persona"],"author":{"name":"tao.zang"},"license":"MIT-0","_id":"stella-timeline-plugin@2.2.0","maintainers":[{"name":"tower1229","email":"tower1229@foxmail.com"}],"homepage":"https://github.com/tower1229/Her#readme","bugs":{"url":"https://github.com/tower1229/Her/issues"},"bin":{"openclaw-timeline-setup":"bin/openclaw-timeline-setup.mjs","openclaw-timeline-doctor":"bin/openclaw-timeline-doctor.mjs"},"dist":{"shasum":"4265f391d6ec479fb8f1edc0eef9db627e1662ea","tarball":"https://registry.npmjs.org/stella-timeline-plugin/-/stella-timeline-plugin-2.2.0.tgz","fileCount":51,"integrity":"sha512-SAv8T3BrGdDS8N+qkWymZ+gn97tgKiOVRyeGSgvumLsyI0RPLg5Xk6IcEUk4NPpzUTgRO2sSSxSxsDYEHHiDCA==","signatures":[{"sig":"MEYCIQC8/w0I/mxTr8LiTiibOjZ3frQeCLeYuOwea9yYQr/ajwIhANzFDvXvQMNNJE96RUum7px+MQ+uNjXuXF9IG7WGH7sA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":230038},"main":"dist/index.js","engines":{"node":">=24.0.0"},"gitHead":"64597268af0d0b8e0fdd816407c3f15fb3b6e90f","scripts":{"test":"node node_modules/jest/bin/jest.js --runInBand","build":"tsc -p tsconfig.build.json","verify":"npm run typecheck && npm run build && npm run test:unit","release":"node ./scripts/release.mjs","prebuild":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","test:unit":"node node_modules/jest/bin/jest.js --runInBand","typecheck":"tsc --noEmit","test:smoke":"node ./scripts/run-openclaw-smoke.mjs","pack:plugin":"npm pack","migrate:memory":"node ./scripts/migrate-existing-memory.mjs --apply","setup:workspace":"node ./scripts/setup-openclaw-workspace.mjs","doctor:workspace":"node ./scripts/doctor-openclaw-workspace.mjs","generate:holidays":"node ./scripts/generate-holidays.mjs","test:live-experience":"node ./scripts/run-openclaw-live-e2e.mjs"},"_npmUser":{"name":"tower1229","email":"tower1229@foxmail.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/tower1229/Her.git","type":"git"},"_npmVersion":"11.12.0","description":"Native OpenClaw timeline plugin with a canonical timeline_resolve tool, bundled skill routing, and guarded append-only writes.","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.x","ts-jest":"^29.x","typescript":"^5.x","@types/jest":"^30.0.0","@types/node":"^20.x"},"_npmOperationalInternal":{"tmp":"tmp/stella-timeline-plugin_2.2.0_1774579439012_0.5876622069661104","host":"s3://npm-registry-packages-npm-production"}},"2.2.1":{"name":"stella-timeline-plugin","version":"2.2.1","keywords":["openclaw","skill","timeline","memory","ai-agent","episode","persona"],"author":{"name":"tao.zang"},"license":"MIT-0","_id":"stella-timeline-plugin@2.2.1","maintainers":[{"name":"tower1229","email":"tower1229@foxmail.com"}],"homepage":"https://github.com/tower1229/Her#readme","bugs":{"url":"https://github.com/tower1229/Her/issues"},"bin":{"openclaw-timeline-setup":"bin/openclaw-timeline-setup.mjs","openclaw-timeline-doctor":"bin/openclaw-timeline-doctor.mjs"},"dist":{"shasum":"f71b2b5f881e5817d3e93dc2095fa404bc0f4504","tarball":"https://registry.npmjs.org/stella-timeline-plugin/-/stella-timeline-plugin-2.2.1.tgz","fileCount":51,"integrity":"sha512-fAGNIQMUeVkm7A02/WmLPYm5d7vNBeQDW7YKbcqZqXJYzQ4KZ2KE9bVBXhG9zjLZ5Ls2jwQPZuJjx64uJ0Dk5Q==","signatures":[{"sig":"MEUCIEFJeNSr95yY7x2crVQYpbiBHWFn7UcljJyP0JW0OVf7AiEAp3+pt2b9m64EyoqfpYTK5a4M12Q0+LckaBjhCAoterU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":231146},"main":"dist/index.js","engines":{"node":">=24.0.0"},"gitHead":"476daaa707c56d08fac5b4992221ee6d1d16dade","scripts":{"test":"node node_modules/jest/bin/jest.js --runInBand","build":"tsc -p tsconfig.build.json","verify":"npm run typecheck && npm run build && npm run test:unit","release":"node ./scripts/release.mjs","prebuild":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","test:unit":"node node_modules/jest/bin/jest.js --runInBand","typecheck":"tsc --noEmit","test:smoke":"node ./scripts/run-openclaw-smoke.mjs","pack:plugin":"npm pack","migrate:memory":"node ./scripts/migrate-existing-memory.mjs --apply","setup:workspace":"node ./scripts/setup-openclaw-workspace.mjs","doctor:workspace":"node ./scripts/doctor-openclaw-workspace.mjs","generate:holidays":"node ./scripts/generate-holidays.mjs","test:live-experience":"node ./scripts/run-openclaw-live-e2e.mjs"},"_npmUser":{"name":"tower1229","email":"tower1229@foxmail.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/tower1229/Her.git","type":"git"},"_npmVersion":"11.12.0","description":"Native OpenClaw timeline plugin with a canonical timeline_resolve tool, bundled skill routing, and guarded append-only writes.","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.x","ts-jest":"^29.x","typescript":"^5.x","@types/jest":"^30.0.0","@types/node":"^20.x"},"_npmOperationalInternal":{"tmp":"tmp/stella-timeline-plugin_2.2.1_1774580941640_0.6054470568211472","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"stella-timeline-plugin","version":"2.3.0","keywords":["openclaw","skill","timeline","memory","ai-agent","episode","persona"],"author":{"name":"tao.zang"},"license":"MIT-0","_id":"stella-timeline-plugin@2.3.0","maintainers":[{"name":"tower1229","email":"tower1229@foxmail.com"}],"homepage":"https://github.com/tower1229/Her#readme","bugs":{"url":"https://github.com/tower1229/Her/issues"},"bin":{"openclaw-timeline-setup":"bin/openclaw-timeline-setup.mjs","openclaw-timeline-doctor":"bin/openclaw-timeline-doctor.mjs"},"dist":{"shasum":"9913988738f0becb309fc91b9d537d7ed5b56e28","tarball":"https://registry.npmjs.org/stella-timeline-plugin/-/stella-timeline-plugin-2.3.0.tgz","fileCount":57,"integrity":"sha512-WTEbyXtoEeKqDsS410D183yrcSZRj21eWWFwyDTGQ0I3HhqhlcTtsKjxJdy9wUS8gcRTP4jdcLxmKQ3UcwFk9A==","signatures":[{"sig":"MEYCIQCjxW0TPBQtm06e1UZuRZ3AXcFy/hoAnXazs0Xe/TOOpAIhAMK6d/nHKRhD9480vEvfA7IM2oGOa9HCo1ivzYcvDsCz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":277360},"main":"dist/index.js","engines":{"node":">=24.0.0"},"gitHead":"d1d2e52ea5f38fbc37d4d0012c838e078ba76512","scripts":{"test":"node node_modules/jest/bin/jest.js --runInBand","build":"tsc -p tsconfig.build.json","verify":"npm run typecheck && npm run build && npm run test:unit","release":"node ./scripts/release.mjs","prebuild":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","test:unit":"node node_modules/jest/bin/jest.js --runInBand","typecheck":"tsc --noEmit","test:smoke":"node ./scripts/run-openclaw-smoke.mjs","pack:plugin":"npm pack","migrate:memory":"node ./scripts/migrate-existing-memory.mjs --apply","setup:workspace":"node ./scripts/setup-openclaw-workspace.mjs","doctor:workspace":"node ./scripts/doctor-openclaw-workspace.mjs","generate:holidays":"node ./scripts/generate-holidays.mjs","test:live-experience":"node ./scripts/run-openclaw-live-e2e.mjs"},"_npmUser":{"name":"tower1229","email":"tower1229@foxmail.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/tower1229/Her.git","type":"git"},"_npmVersion":"11.12.1","description":"Native OpenClaw timeline plugin with a canonical timeline_resolve tool, bundled skill routing, and guarded append-only writes.","directories":{},"_nodeVersion":"22.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.x","ts-jest":"^29.x","typescript":"^5.x","@types/jest":"^30.0.0","@types/node":"^20.x"},"_npmOperationalInternal":{"tmp":"tmp/stella-timeline-plugin_2.3.0_1774697076150_0.003871446583401772","host":"s3://npm-registry-packages-npm-production"}},"2.3.2":{"name":"stella-timeline-plugin","version":"2.3.2","keywords":["openclaw","skill","timeline","memory","ai-agent","episode","persona"],"author":{"name":"tao.zang"},"license":"MIT-0","_id":"stella-timeline-plugin@2.3.2","maintainers":[{"name":"tower1229","email":"tower1229@foxmail.com"}],"homepage":"https://github.com/tower1229/Her#readme","bugs":{"url":"https://github.com/tower1229/Her/issues"},"bin":{"openclaw-timeline-setup":"bin/openclaw-timeline-setup.mjs","openclaw-timeline-doctor":"bin/openclaw-timeline-doctor.mjs"},"dist":{"shasum":"af2d30cce35d5147cf3146b8ca263b500b56d037","tarball":"https://registry.npmjs.org/stella-timeline-plugin/-/stella-timeline-plugin-2.3.2.tgz","fileCount":63,"integrity":"sha512-kRizTS+e6nyanGgk222OHsF/5ap1XHAifu+v9LRV/fvnHxdSbxhgYv7goWYAJLvQWfucbv3Zh7yAwrROYVV0RA==","signatures":[{"sig":"MEYCIQCqQS9WdaNA0VpDek6JlWtcE/MfAwazWpbxLHwqmwvo4gIhAMOtVeaaLdGb9vB40QGDI1kFnGN2JhvgHkG4ZqAL5nr9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":314748},"main":"dist/index.js","engines":{"node":">=24.0.0"},"gitHead":"29e26fb224093a885365c726a32d9737bfd4243c","scripts":{"test":"node node_modules/jest/bin/jest.js --runInBand","build":"tsc -p tsconfig.build.json","verify":"npm run typecheck && npm run build && npm run test:unit","release":"node ./scripts/release.mjs","prebuild":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","test:unit":"node node_modules/jest/bin/jest.js --runInBand","typecheck":"tsc --noEmit","test:smoke":"node ./scripts/run-openclaw-smoke.mjs","pack:plugin":"npm pack","migrate:memory":"node ./scripts/migrate-existing-memory.mjs --apply","setup:workspace":"node ./scripts/setup-openclaw-workspace.mjs","doctor:workspace":"node ./scripts/doctor-openclaw-workspace.mjs","generate:holidays":"node ./scripts/generate-holidays.mjs","sync:local-openclaw":"node ./scripts/sync-local-openclaw.mjs","test:live-experience":"node ./scripts/run-openclaw-live-e2e.mjs"},"_npmUser":{"name":"tower1229","email":"tower1229@foxmail.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/tower1229/Her.git","type":"git"},"_npmVersion":"11.12.1","description":"Native OpenClaw timeline plugin with a canonical timeline_resolve tool, bundled skill routing, and guarded append-only writes.","directories":{},"_nodeVersion":"22.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.x","ts-jest":"^29.x","typescript":"^5.x","@types/jest":"^30.0.0","@types/node":"^20.x"},"_npmOperationalInternal":{"tmp":"tmp/stella-timeline-plugin_2.3.2_1774771387299_0.7315900937619579","host":"s3://npm-registry-packages-npm-production"}},"2.3.3":{"name":"stella-timeline-plugin","version":"2.3.3","keywords":["openclaw","skill","timeline","memory","ai-agent","episode","persona"],"author":{"name":"tao.zang"},"license":"MIT-0","_id":"stella-timeline-plugin@2.3.3","maintainers":[{"name":"tower1229","email":"tower1229@foxmail.com"}],"homepage":"https://github.com/tower1229/Her#readme","bugs":{"url":"https://github.com/tower1229/Her/issues"},"bin":{"openclaw-timeline-setup":"bin/openclaw-timeline-setup.mjs","openclaw-timeline-doctor":"bin/openclaw-timeline-doctor.mjs"},"dist":{"shasum":"a6618c18916b97a455b3826e7f2d84570ffb1228","tarball":"https://registry.npmjs.org/stella-timeline-plugin/-/stella-timeline-plugin-2.3.3.tgz","fileCount":63,"integrity":"sha512-U7N0h2KMwsUIrv+QA7kTcRCvKdzzQwR5CMbT/JKfMnTfaBzfVsKx7whkQWueV/hdgwMgEK5Y4e0Xa6rmozJrBw==","signatures":[{"sig":"MEYCIQDk7EAYMgqfCL4nNUZHTBaB0snzOfqaC7JP4DQ5aDNcsQIhAM/h0hBF9Uz3JZ+8ej6sFCC+r+TKGa82NOcWdae8tPk5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":314667},"main":"dist/index.js","engines":{"node":">=24.0.0"},"gitHead":"f76dbc923c2e466970b1da9793151656eb5c0918","scripts":{"test":"node node_modules/jest/bin/jest.js --runInBand","build":"tsc -p tsconfig.build.json","verify":"npm run typecheck && npm run build && npm run test:unit","release":"node ./scripts/release.mjs","prebuild":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","test:unit":"node node_modules/jest/bin/jest.js --runInBand","typecheck":"tsc --noEmit","test:smoke":"node ./scripts/run-openclaw-smoke.mjs","pack:plugin":"npm pack","migrate:memory":"node ./scripts/migrate-existing-memory.mjs --apply","setup:workspace":"node ./scripts/setup-openclaw-workspace.mjs","doctor:workspace":"node ./scripts/doctor-openclaw-workspace.mjs","generate:holidays":"node ./scripts/generate-holidays.mjs","sync:local-openclaw":"node ./scripts/sync-local-openclaw.mjs","test:live-experience":"node ./scripts/run-openclaw-live-e2e.mjs"},"_npmUser":{"name":"tower1229","email":"tower1229@foxmail.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/tower1229/Her.git","type":"git"},"_npmVersion":"11.12.0","description":"Native OpenClaw timeline plugin with a canonical timeline_resolve tool, bundled skill routing, and guarded append-only writes.","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.x","ts-jest":"^29.x","typescript":"^5.x","@types/jest":"^30.0.0","@types/node":"^20.x"},"_npmOperationalInternal":{"tmp":"tmp/stella-timeline-plugin_2.3.3_1774839265389_0.7141118007970741","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"stella-timeline-plugin","version":"2.4.0","keywords":["openclaw","skill","timeline","memory","ai-agent","episode","persona"],"author":{"name":"tao.zang"},"license":"MIT-0","_id":"stella-timeline-plugin@2.4.0","maintainers":[{"name":"tower1229","email":"tower1229@foxmail.com"}],"homepage":"https://github.com/tower1229/Her#readme","bugs":{"url":"https://github.com/tower1229/Her/issues"},"bin":{"openclaw-timeline-setup":"bin/openclaw-timeline-setup.mjs","openclaw-timeline-doctor":"bin/openclaw-timeline-doctor.mjs"},"dist":{"shasum":"25133d8540d6c50f5203711aa5a6690a42efd20d","tarball":"https://registry.npmjs.org/stella-timeline-plugin/-/stella-timeline-plugin-2.4.0.tgz","fileCount":63,"integrity":"sha512-DWaRpezOqQCzbrKOZxoMSI9ILo/UYp4DIgFqbTmJqo37wz5Briv5A5zfxBRu1eqkDyCstTnjx/kzCEYbal9KRw==","signatures":[{"sig":"MEUCIQD4/GxSN4WUyWL2n4QpEIUdDNcdXRyky0JzJLblT75H/gIgNVzqiUGphXrqehxN6hrWb9oBpNWhDVmZENqDx6so/E0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":326088},"main":"dist/index.js","engines":{"node":">=24.0.0"},"gitHead":"d4e73132f61a72dc9052e8144906bb00b54b4372","scripts":{"test":"node node_modules/jest/bin/jest.js --runInBand","build":"tsc -p tsconfig.build.json","verify":"npm run typecheck && npm run build && npm run test:unit","release":"node ./scripts/release.mjs","prebuild":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","test:unit":"node node_modules/jest/bin/jest.js --runInBand","typecheck":"tsc --noEmit","test:smoke":"node ./scripts/run-openclaw-smoke.mjs","pack:plugin":"npm pack","migrate:memory":"node ./scripts/migrate-existing-memory.mjs --apply","setup:workspace":"node ./scripts/setup-openclaw-workspace.mjs","doctor:workspace":"node ./scripts/doctor-openclaw-workspace.mjs","generate:holidays":"node ./scripts/generate-holidays.mjs","sync:local-openclaw":"node ./scripts/sync-local-openclaw.mjs","test:live-experience":"node ./scripts/run-openclaw-live-e2e.mjs"},"_npmUser":{"name":"tower1229","email":"tower1229@foxmail.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/tower1229/Her.git","type":"git"},"_npmVersion":"11.12.0","description":"Native OpenClaw timeline plugin with a canonical timeline_resolve tool, bundled skill routing, and guarded append-only writes.","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.x","ts-jest":"^29.x","typescript":"^5.x","@types/jest":"^30.0.0","@types/node":"^20.x"},"_npmOperationalInternal":{"tmp":"tmp/stella-timeline-plugin_2.4.0_1774925758944_0.49865906056118625","host":"s3://npm-registry-packages-npm-production"}},"2.5.1":{"name":"stella-timeline-plugin","version":"2.5.1","keywords":["openclaw","skill","timeline","memory","ai-agent","episode","persona"],"author":{"name":"tao.zang"},"license":"MIT-0","_id":"stella-timeline-plugin@2.5.1","maintainers":[{"name":"tower1229","email":"tower1229@foxmail.com"}],"homepage":"https://github.com/tower1229/Her#readme","bugs":{"url":"https://github.com/tower1229/Her/issues"},"bin":{"openclaw-timeline-setup":"bin/openclaw-timeline-setup.mjs","openclaw-timeline-doctor":"bin/openclaw-timeline-doctor.mjs"},"dist":{"shasum":"243b2afb611cb6340d06390d84047d5914d2f62f","tarball":"https://registry.npmjs.org/stella-timeline-plugin/-/stella-timeline-plugin-2.5.1.tgz","fileCount":64,"integrity":"sha512-0AmNIBzbNyrwbmxR6ug0kNrv9pRh41lR1sgtzRD57oBlX1XarGkmQjAyS9HLCclVeFUPJLojqSkQzABCjNSVVA==","signatures":[{"sig":"MEUCIEC1vgtDppWg7BF2QVYDLNUlFMV/iHnieRtzJt4aFtnXAiEA8Pj7nvnHDAp47Ls9c6MyP+ruFAQ8IinmslvcW/mj844=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":334886},"main":"dist/index.js","engines":{"node":">=24.0.0"},"gitHead":"e826e14a9c2c766e3a293cc7a72a6a3d4ebba93e","scripts":{"test":"node node_modules/jest/bin/jest.js --runInBand","build":"tsc -p tsconfig.build.json","verify":"npm run typecheck && npm run build && npm run test:unit","release":"node ./scripts/release.mjs","prebuild":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","test:unit":"node node_modules/jest/bin/jest.js --runInBand","typecheck":"tsc --noEmit","test:smoke":"node ./scripts/run-openclaw-smoke.mjs","pack:plugin":"npm pack","migrate:memory":"node ./scripts/migrate-existing-memory.mjs --apply","setup:workspace":"node ./scripts/setup-openclaw-workspace.mjs","doctor:workspace":"node ./scripts/doctor-openclaw-workspace.mjs","generate:holidays":"node ./scripts/generate-holidays.mjs","sync:local-openclaw":"node ./scripts/sync-local-openclaw.mjs","test:live-experience":"node ./scripts/run-openclaw-live-e2e.mjs"},"_npmUser":{"name":"tower1229","email":"tower1229@foxmail.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/tower1229/Her.git","type":"git"},"_npmVersion":"11.12.0","description":"Native OpenClaw timeline plugin with a canonical timeline_resolve tool, bundled skill routing, and guarded append-only writes.","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.x","ts-jest":"^29.x","typescript":"^5.x","@types/jest":"^30.0.0","@types/node":"^20.x"},"_npmOperationalInternal":{"tmp":"tmp/stella-timeline-plugin_2.5.1_1774941673617_0.062236496152758836","host":"s3://npm-registry-packages-npm-production"}},"2.6.0":{"name":"stella-timeline-plugin","version":"2.6.0","keywords":["openclaw","skill","timeline","memory","ai-agent","episode","persona"],"author":{"name":"tao.zang"},"license":"MIT-0","_id":"stella-timeline-plugin@2.6.0","maintainers":[{"name":"tower1229","email":"tower1229@foxmail.com"}],"homepage":"https://github.com/tower1229/Her#readme","bugs":{"url":"https://github.com/tower1229/Her/issues"},"bin":{"openclaw-timeline-setup":"bin/openclaw-timeline-setup.mjs","openclaw-timeline-doctor":"bin/openclaw-timeline-doctor.mjs"},"dist":{"shasum":"60ec82b782300df781ddacd9e4f07fa40b72bb00","tarball":"https://registry.npmjs.org/stella-timeline-plugin/-/stella-timeline-plugin-2.6.0.tgz","fileCount":69,"integrity":"sha512-OCeKM8HNUlpiaHl10Is5sZjCPVp/6Ym7efZbBUVOi4k0UrQpIxnq5SUWCPynzAKfujEw84VWMF5FwcgMeszsxw==","signatures":[{"sig":"MEQCIFTwMj6Rhb5nwRbQ2+PsmuEIbcPCfx7Pf1ZTR0dDuToHAiBcgwzDL6GoyFYaDsju8+Y51Sxt+n0zLo8CybARrRWWtg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":357757},"main":"dist/index.js","engines":{"node":">=24.0.0"},"gitHead":"db3c1d0ff49484a7e2c5184880c724b70e5fa0f5","scripts":{"test":"node node_modules/jest/bin/jest.js --runInBand","build":"tsc -p tsconfig.build.json","verify":"npm run typecheck && npm run build && npm run test:unit","release":"node ./scripts/release.mjs","prebuild":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","test:unit":"node node_modules/jest/bin/jest.js --runInBand","typecheck":"tsc --noEmit","test:smoke":"node ./scripts/run-openclaw-smoke.mjs","pack:plugin":"npm pack","migrate:memory":"node ./scripts/migrate-existing-memory.mjs --apply","setup:workspace":"node ./scripts/setup-openclaw-workspace.mjs","doctor:workspace":"node ./scripts/doctor-openclaw-workspace.mjs","generate:holidays":"node ./scripts/generate-holidays.mjs","sync:local-openclaw":"node ./scripts/sync-local-openclaw.mjs","test:live-experience":"node ./scripts/run-openclaw-live-e2e.mjs"},"_npmUser":{"name":"tower1229","email":"tower1229@foxmail.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/tower1229/Her.git","type":"git"},"_npmVersion":"11.12.1","description":"Native OpenClaw timeline plugin with a canonical timeline_resolve tool, bundled skill routing, and guarded append-only writes.","directories":{},"_nodeVersion":"22.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.x","ts-jest":"^29.x","typescript":"^5.x","@types/jest":"^30.0.0","@types/node":"^20.x"},"_npmOperationalInternal":{"tmp":"tmp/stella-timeline-plugin_2.6.0_1774961957321_0.060386273654517764","host":"s3://npm-registry-packages-npm-production"}},"2.6.1":{"name":"stella-timeline-plugin","version":"2.6.1","keywords":["openclaw","skill","timeline","memory","ai-agent","episode","persona"],"author":{"name":"tao.zang"},"license":"MIT-0","_id":"stella-timeline-plugin@2.6.1","maintainers":[{"name":"tower1229","email":"tower1229@foxmail.com"}],"homepage":"https://github.com/tower1229/Her#readme","bugs":{"url":"https://github.com/tower1229/Her/issues"},"bin":{"openclaw-timeline-setup":"bin/openclaw-timeline-setup.mjs","openclaw-timeline-doctor":"bin/openclaw-timeline-doctor.mjs"},"dist":{"shasum":"ebe5647cadf7dfa6f8eaece2ac9dae5f17421dbe","tarball":"https://registry.npmjs.org/stella-timeline-plugin/-/stella-timeline-plugin-2.6.1.tgz","fileCount":69,"integrity":"sha512-i5bZdDUeUn5koowQyf47YHPOuqjaVa0qlynH+hKJdoaZYsoctQZyJmORYJkKdKPZOdRiZAy7KNMa2y3ixZeTmQ==","signatures":[{"sig":"MEUCIF/8zip2RI0kD6FN5Q3SCBziFs0GQVxAhJ8LirPrmEiEAiEA7kvGNWEI8xnepXc1bPNC2SaVAKDB+Z3BqDHscrdbWOU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":359496},"main":"dist/index.js","engines":{"node":">=24.0.0"},"gitHead":"033781560fe776ffb4346143fe20a7a254d5e7e9","scripts":{"test":"node node_modules/jest/bin/jest.js --runInBand","build":"tsc -p tsconfig.build.json","verify":"npm run typecheck && npm run build && npm run test:unit","release":"node ./scripts/release.mjs","prebuild":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","test:unit":"node node_modules/jest/bin/jest.js --runInBand","typecheck":"tsc --noEmit","test:smoke":"node ./scripts/run-openclaw-smoke.mjs","pack:plugin":"npm pack","migrate:memory":"node ./scripts/migrate-existing-memory.mjs --apply","setup:workspace":"node ./scripts/setup-openclaw-workspace.mjs","doctor:workspace":"node ./scripts/doctor-openclaw-workspace.mjs","generate:holidays":"node ./scripts/generate-holidays.mjs","sync:local-openclaw":"node ./scripts/sync-local-openclaw.mjs","test:live-experience":"node ./scripts/run-openclaw-live-e2e.mjs"},"_npmUser":{"name":"tower1229","email":"tower1229@foxmail.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/tower1229/Her.git","type":"git"},"_npmVersion":"11.12.1","description":"Native OpenClaw timeline plugin with a canonical timeline_resolve tool, bundled skill routing, and guarded append-only writes.","directories":{},"_nodeVersion":"22.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.x","ts-jest":"^29.x","typescript":"^5.x","@types/jest":"^30.0.0","@types/node":"^20.x"},"_npmOperationalInternal":{"tmp":"tmp/stella-timeline-plugin_2.6.1_1774964524277_0.41278080409243656","host":"s3://npm-registry-packages-npm-production"}},"2.6.2":{"name":"stella-timeline-plugin","version":"2.6.2","keywords":["openclaw","skill","timeline","memory","ai-agent","episode","persona"],"author":{"name":"tao.zang"},"license":"MIT-0","_id":"stella-timeline-plugin@2.6.2","maintainers":[{"name":"tower1229","email":"tower1229@foxmail.com"}],"homepage":"https://github.com/tower1229/Her#readme","bugs":{"url":"https://github.com/tower1229/Her/issues"},"bin":{"openclaw-timeline-setup":"bin/openclaw-timeline-setup.mjs","openclaw-timeline-doctor":"bin/openclaw-timeline-doctor.mjs"},"dist":{"shasum":"5029dc32ad52066dc22ffe9453c7006b766f451a","tarball":"https://registry.npmjs.org/stella-timeline-plugin/-/stella-timeline-plugin-2.6.2.tgz","fileCount":69,"integrity":"sha512-GBq12xfbza6k23QW+w9ks/rs/w1fcLGxqNEfo1v2DmxRee4oUX9q3QfC7GUuVWfWcw9SNJyBfX2Iws4Bvh650A==","signatures":[{"sig":"MEYCIQCfHjdFGYX/uVa0LDsq1iO4aLB9RYOsQyMx8WzAjld/jgIhAKDamvKI32xwhMkGKc/ZlvazHsyweZ7mY0rJUIfoDHgw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":359609},"main":"dist/index.js","engines":{"node":">=24.0.0"},"gitHead":"2f3c98259f82cb365883b5508d28a32fa1cc337e","scripts":{"test":"node node_modules/jest/bin/jest.js --runInBand","build":"tsc -p tsconfig.build.json","verify":"npm run typecheck && npm run build && npm run test:unit","release":"node ./scripts/release.mjs","prebuild":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","test:unit":"node node_modules/jest/bin/jest.js --runInBand","typecheck":"tsc --noEmit","test:smoke":"node ./scripts/run-openclaw-smoke.mjs","pack:plugin":"npm pack","migrate:memory":"node ./scripts/migrate-existing-memory.mjs --apply","setup:workspace":"node ./scripts/setup-openclaw-workspace.mjs","doctor:workspace":"node ./scripts/doctor-openclaw-workspace.mjs","generate:holidays":"node ./scripts/generate-holidays.mjs","sync:local-openclaw":"node ./scripts/sync-local-openclaw.mjs","test:live-experience":"node ./scripts/run-openclaw-live-e2e.mjs"},"_npmUser":{"name":"tower1229","email":"tower1229@foxmail.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/tower1229/Her.git","type":"git"},"_npmVersion":"11.12.1","description":"Native OpenClaw timeline plugin with a canonical timeline_resolve tool, bundled skill routing, and guarded append-only writes.","directories":{},"_nodeVersion":"22.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.x","ts-jest":"^29.x","typescript":"^5.x","@types/jest":"^30.0.0","@types/node":"^20.x"},"_npmOperationalInternal":{"tmp":"tmp/stella-timeline-plugin_2.6.2_1774966087642_0.024807266587948407","host":"s3://npm-registry-packages-npm-production"}},"2.8.0":{"name":"stella-timeline-plugin","version":"2.8.0","keywords":["openclaw","skill","timeline","memory","ai-agent","episode","persona"],"author":{"name":"tao.zang"},"license":"MIT-0","_id":"stella-timeline-plugin@2.8.0","maintainers":[{"name":"tower1229","email":"tower1229@foxmail.com"}],"homepage":"https://github.com/tower1229/Her#readme","bugs":{"url":"https://github.com/tower1229/Her/issues"},"bin":{"openclaw-timeline-setup":"bin/openclaw-timeline-setup.mjs","openclaw-timeline-doctor":"bin/openclaw-timeline-doctor.mjs"},"dist":{"shasum":"fbc40ad1bdd156781f07b76edc9d40d7f47e275c","tarball":"https://registry.npmjs.org/stella-timeline-plugin/-/stella-timeline-plugin-2.8.0.tgz","fileCount":70,"integrity":"sha512-Y7MCTqAPgx++OcRn88nWiR7zUMYI7/E22L6J5Nu5rJxCdzmX9d4ILH/hOWVMZ2t2s1ee5rjI5UcfczYg6xu9iA==","signatures":[{"sig":"MEUCIB2fzhFrLMTQjEyukZKI9DZDkjwycpNhfo66Epyuyos+AiEA/vE94jHq/iUu8eOAdhBoU6o3HHuUfj3E5jlmFWTkJGs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":376482},"main":"dist/index.js","engines":{"node":">=24.0.0"},"gitHead":"f7326671f34a9d5166b9a74ae1b3b664bc0fdb14","scripts":{"test":"node node_modules/jest/bin/jest.js --runInBand","build":"tsc -p tsconfig.build.json","verify":"npm run typecheck && npm run build && npm run test:unit","release":"node ./scripts/release.mjs","prebuild":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","test:unit":"node node_modules/jest/bin/jest.js --runInBand","typecheck":"tsc --noEmit","test:smoke":"node ./scripts/run-openclaw-smoke.mjs","pack:plugin":"npm pack","migrate:memory":"node ./scripts/migrate-existing-memory.mjs --apply","setup:workspace":"node ./scripts/setup-openclaw-workspace.mjs","doctor:workspace":"node ./scripts/doctor-openclaw-workspace.mjs","generate:holidays":"node ./scripts/generate-holidays.mjs","sync:local-openclaw":"node ./scripts/sync-local-openclaw.mjs","test:live-experience":"node ./scripts/run-openclaw-live-e2e.mjs"},"_npmUser":{"name":"tower1229","email":"tower1229@foxmail.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/tower1229/Her.git","type":"git"},"_npmVersion":"11.12.0","description":"Native OpenClaw timeline plugin with a canonical timeline_resolve tool, bundled skill routing, and guarded append-only writes.","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.x","ts-jest":"^29.x","typescript":"^5.x","@types/jest":"^30.0.0","@types/node":"^20.x"},"_npmOperationalInternal":{"tmp":"tmp/stella-timeline-plugin_2.8.0_1775010280652_0.7799367022887513","host":"s3://npm-registry-packages-npm-production"}},"2.8.1":{"name":"stella-timeline-plugin","version":"2.8.1","keywords":["openclaw","skill","timeline","memory","ai-agent","episode","persona"],"author":{"name":"tao.zang"},"license":"MIT-0","_id":"stella-timeline-plugin@2.8.1","maintainers":[{"name":"tower1229","email":"tower1229@foxmail.com"}],"homepage":"https://github.com/tower1229/Her#readme","bugs":{"url":"https://github.com/tower1229/Her/issues"},"bin":{"openclaw-timeline-setup":"bin/openclaw-timeline-setup.mjs","openclaw-timeline-doctor":"bin/openclaw-timeline-doctor.mjs"},"dist":{"shasum":"9897077e2adff1f6241b810ec9cfd0ed07859d3e","tarball":"https://registry.npmjs.org/stella-timeline-plugin/-/stella-timeline-plugin-2.8.1.tgz","fileCount":70,"integrity":"sha512-IIbQdJ2YTi7Cjd9Bkk5LmYRPNIjBbcsCSwwNJk46lGqEs8NT+fdB4HNSOt6QWzb4yK1g2tUhrA5jbd3r/OO4PA==","signatures":[{"sig":"MEYCIQDjJJMP7VN8dbj7i5j8YSfRpk0m/lvvEydsjWZRfpGOOwIhAMZG9V+MGZUVeuxJDyqI6/Ze04dBeQc5cJhoEGCXh34x","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":377163},"main":"dist/index.js","engines":{"node":">=24.0.0"},"gitHead":"652f7f43b0fab3f7362eb05b8ffeeceeaba9b929","scripts":{"test":"node node_modules/jest/bin/jest.js --runInBand","build":"tsc -p tsconfig.build.json","verify":"npm run typecheck && npm run build && npm run test:unit","release":"node ./scripts/release.mjs","prebuild":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","test:unit":"node node_modules/jest/bin/jest.js --runInBand","typecheck":"tsc --noEmit","test:smoke":"node ./scripts/run-openclaw-smoke.mjs","pack:plugin":"npm pack","migrate:memory":"node ./scripts/migrate-existing-memory.mjs --apply","setup:workspace":"node ./scripts/setup-openclaw-workspace.mjs","doctor:workspace":"node ./scripts/doctor-openclaw-workspace.mjs","generate:holidays":"node ./scripts/generate-holidays.mjs","sync:local-openclaw":"node ./scripts/sync-local-openclaw.mjs","test:live-experience":"node ./scripts/run-openclaw-live-e2e.mjs"},"_npmUser":{"name":"tower1229","email":"tower1229@foxmail.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/tower1229/Her.git","type":"git"},"_npmVersion":"11.12.0","description":"Native OpenClaw timeline plugin with a canonical timeline_resolve tool, bundled skill routing, and guarded append-only writes.","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.x","ts-jest":"^29.x","typescript":"^5.x","@types/jest":"^30.0.0","@types/node":"^20.x"},"_npmOperationalInternal":{"tmp":"tmp/stella-timeline-plugin_2.8.1_1775012794709_0.36947268074498085","host":"s3://npm-registry-packages-npm-production"}},"2.8.2":{"name":"stella-timeline-plugin","version":"2.8.2","keywords":["openclaw","skill","timeline","memory","ai-agent","episode","persona"],"author":{"name":"tao.zang"},"license":"MIT-0","_id":"stella-timeline-plugin@2.8.2","maintainers":[{"name":"tower1229","email":"tower1229@foxmail.com"}],"homepage":"https://github.com/tower1229/Her#readme","bugs":{"url":"https://github.com/tower1229/Her/issues"},"bin":{"openclaw-timeline-setup":"bin/openclaw-timeline-setup.mjs","openclaw-timeline-doctor":"bin/openclaw-timeline-doctor.mjs"},"dist":{"shasum":"8dc03a1c72114acd6da363eee6cab62ea4ebe8c9","tarball":"https://registry.npmjs.org/stella-timeline-plugin/-/stella-timeline-plugin-2.8.2.tgz","fileCount":70,"integrity":"sha512-sF5J/oeB2gWCf/Ci7MWS7YXnhhhoKcIEBwu/T6vP67FsRVF5aYGij+QLOYD0Mc5RLuhUS9xNfEXaTAGoaEkrfw==","signatures":[{"sig":"MEUCIFp4Y/dD4KiZk9AMQgbZ1LSR+X/JKGsZ4wkhQmE/A4PyAiEA0tLQU9OuP7iGUFWBeuYwPSPAgWP9RQ8wIyunq/lng9w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":377594},"main":"dist/index.js","engines":{"node":">=24.0.0"},"gitHead":"652f7f43b0fab3f7362eb05b8ffeeceeaba9b929","scripts":{"test":"node node_modules/jest/bin/jest.js --runInBand","build":"tsc -p tsconfig.build.json","verify":"npm run typecheck && npm run build && npm run test:unit","release":"node ./scripts/release.mjs","prebuild":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","test:unit":"node node_modules/jest/bin/jest.js --runInBand","typecheck":"tsc --noEmit","test:smoke":"node ./scripts/run-openclaw-smoke.mjs","pack:plugin":"npm pack","migrate:memory":"node ./scripts/migrate-existing-memory.mjs --apply","setup:workspace":"node ./scripts/setup-openclaw-workspace.mjs","doctor:workspace":"node ./scripts/doctor-openclaw-workspace.mjs","generate:holidays":"node ./scripts/generate-holidays.mjs","sync:local-openclaw":"node ./scripts/sync-local-openclaw.mjs","test:live-experience":"node ./scripts/run-openclaw-live-e2e.mjs"},"_npmUser":{"name":"tower1229","email":"tower1229@foxmail.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/tower1229/Her.git","type":"git"},"_npmVersion":"11.12.0","description":"Native OpenClaw timeline plugin with a canonical timeline_resolve tool, bundled skill routing, and guarded append-only writes.","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.x","ts-jest":"^29.x","typescript":"^5.x","@types/jest":"^30.0.0","@types/node":"^20.x"},"_npmOperationalInternal":{"tmp":"tmp/stella-timeline-plugin_2.8.2_1775019526598_0.01537928238281605","host":"s3://npm-registry-packages-npm-production"}},"2.8.3":{"name":"stella-timeline-plugin","version":"2.8.3","keywords":["openclaw","skill","timeline","memory","ai-agent","episode","persona"],"author":{"name":"tao.zang"},"license":"MIT-0","_id":"stella-timeline-plugin@2.8.3","maintainers":[{"name":"tower1229","email":"tower1229@foxmail.com"}],"homepage":"https://github.com/tower1229/Her#readme","bugs":{"url":"https://github.com/tower1229/Her/issues"},"bin":{"openclaw-timeline-setup":"bin/openclaw-timeline-setup.mjs","openclaw-timeline-doctor":"bin/openclaw-timeline-doctor.mjs"},"dist":{"shasum":"aa6070ccbc28861cf80ddaa7fce4a3113993874c","tarball":"https://registry.npmjs.org/stella-timeline-plugin/-/stella-timeline-plugin-2.8.3.tgz","fileCount":70,"integrity":"sha512-h3/JTDDg9eMEwIO7IUm3h4ljFiYaTixJFOBXAyJtoDpOMPLeOKTQng0g/UMbtxBetb2K1Sk0MS5VH9uGZh9ovQ==","signatures":[{"sig":"MEQCIG6c9J3S7F2Qn8MHlW6TnAAFhAsvgp8We3amYNV9gNyZAiAOUdhafapzmBk9f8ungjQ09W41XzixbSir/wRPzpL3EQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":382375},"main":"dist/index.js","engines":{"node":">=24.0.0"},"gitHead":"989c6fcc6c46dd294f62f2d847c1d4f900df0aaf","scripts":{"test":"node node_modules/jest/bin/jest.js --runInBand","build":"tsc -p tsconfig.build.json","verify":"npm run typecheck && npm run build && npm run test:unit","release":"node ./scripts/release.mjs","prebuild":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","test:unit":"node node_modules/jest/bin/jest.js --runInBand","typecheck":"tsc --noEmit","test:smoke":"node ./scripts/run-openclaw-smoke.mjs","pack:plugin":"npm pack","migrate:memory":"node ./scripts/migrate-existing-memory.mjs --apply","setup:workspace":"node ./scripts/setup-openclaw-workspace.mjs","doctor:workspace":"node ./scripts/doctor-openclaw-workspace.mjs","generate:holidays":"node ./scripts/generate-holidays.mjs","sync:local-openclaw":"node ./scripts/sync-local-openclaw.mjs","test:live-experience":"node ./scripts/run-openclaw-live-e2e.mjs"},"_npmUser":{"name":"tower1229","email":"tower1229@foxmail.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/tower1229/Her.git","type":"git"},"_npmVersion":"11.12.0","description":"Native OpenClaw timeline plugin with a canonical timeline_resolve tool, bundled skill routing, and guarded append-only writes.","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.x","ts-jest":"^29.x","typescript":"^5.x","@types/jest":"^30.0.0","@types/node":"^20.x"},"_npmOperationalInternal":{"tmp":"tmp/stella-timeline-plugin_2.8.3_1775021762913_0.10537138909495813","host":"s3://npm-registry-packages-npm-production"}},"2.8.4":{"name":"stella-timeline-plugin","version":"2.8.4","keywords":["openclaw","skill","timeline","memory","ai-agent","episode","persona"],"author":{"name":"tao.zang"},"license":"MIT-0","_id":"stella-timeline-plugin@2.8.4","maintainers":[{"name":"tower1229","email":"tower1229@foxmail.com"}],"homepage":"https://github.com/tower1229/Her#readme","bugs":{"url":"https://github.com/tower1229/Her/issues"},"bin":{"openclaw-timeline-setup":"bin/openclaw-timeline-setup.mjs","openclaw-timeline-doctor":"bin/openclaw-timeline-doctor.mjs"},"dist":{"shasum":"08e5d8cccfec907e78dd70989d8842d91efd3600","tarball":"https://registry.npmjs.org/stella-timeline-plugin/-/stella-timeline-plugin-2.8.4.tgz","fileCount":70,"integrity":"sha512-dcxbwnuz+UwcqjR//N48yOAYzQmKUGhFudX15aV4V842ix6V0CURGw3XdvqIWLW1ig5shP7+AfGwFfGBRoEZHw==","signatures":[{"sig":"MEQCIA0stjMJjDwnRvUfCLsJjvRyICLCbOaPixuY7bz6OnIEAiApQ2rWOg5SCfDkdrXBne/EGh6vJdcfyunwi79H3BoiAA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":386567},"main":"dist/index.js","engines":{"node":">=24.0.0"},"gitHead":"8cd187e12108d3efb87a2f52b336cc2cb6226d1b","scripts":{"test":"node node_modules/jest/bin/jest.js --runInBand","build":"tsc -p tsconfig.build.json","verify":"npm run typecheck && npm run build && npm run test:unit","release":"node ./scripts/release.mjs","prebuild":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","test:unit":"node node_modules/jest/bin/jest.js --runInBand","typecheck":"tsc --noEmit","test:smoke":"node ./scripts/run-openclaw-smoke.mjs","pack:plugin":"npm pack","migrate:memory":"node ./scripts/migrate-existing-memory.mjs --apply","setup:workspace":"node ./scripts/setup-openclaw-workspace.mjs","doctor:workspace":"node ./scripts/doctor-openclaw-workspace.mjs","generate:holidays":"node ./scripts/generate-holidays.mjs","sync:local-openclaw":"node ./scripts/sync-local-openclaw.mjs","test:live-experience":"node ./scripts/run-openclaw-live-e2e.mjs"},"_npmUser":{"name":"tower1229","email":"tower1229@foxmail.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/tower1229/Her.git","type":"git"},"_npmVersion":"11.12.0","description":"Native OpenClaw timeline plugin with a canonical timeline_resolve tool, bundled skill routing, and guarded append-only writes.","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.x","ts-jest":"^29.x","typescript":"^5.x","@types/jest":"^30.0.0","@types/node":"^20.x"},"_npmOperationalInternal":{"tmp":"tmp/stella-timeline-plugin_2.8.4_1775023957192_0.1798238256021163","host":"s3://npm-registry-packages-npm-production"}},"2.8.5":{"name":"stella-timeline-plugin","version":"2.8.5","keywords":["openclaw","skill","timeline","memory","ai-agent","episode","persona"],"author":{"name":"tao.zang"},"license":"MIT-0","_id":"stella-timeline-plugin@2.8.5","maintainers":[{"name":"tower1229","email":"tower1229@foxmail.com"}],"homepage":"https://github.com/tower1229/Her#readme","bugs":{"url":"https://github.com/tower1229/Her/issues"},"bin":{"openclaw-timeline-setup":"bin/openclaw-timeline-setup.mjs","openclaw-timeline-doctor":"bin/openclaw-timeline-doctor.mjs"},"dist":{"shasum":"246fe8362f2c5bae52a575e07fc96dca4d45718e","tarball":"https://registry.npmjs.org/stella-timeline-plugin/-/stella-timeline-plugin-2.8.5.tgz","fileCount":70,"integrity":"sha512-4pRgHNgMa3I8rV8ob25PXPU7C5NFVx0Ja9oyK6GnnTQ/5QCPYRYh+l1qULHKyuIwKWT2UNbCK03l+wkw4JBbpw==","signatures":[{"sig":"MEYCIQCjDYIq7Qh2tQvAVMD9EGy91rCxdaYHTwvF/PcUGjaMlAIhAMDuzBjl0zQZON+LqlOaGhlsZcEl4AeWubZBplFQzIDm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":391541},"main":"dist/index.js","engines":{"node":">=24.0.0"},"gitHead":"1c361003ed4d7bc8066bac218b9145add2dbdc84","scripts":{"test":"node node_modules/jest/bin/jest.js --runInBand","build":"tsc -p tsconfig.build.json","verify":"npm run typecheck && npm run build && npm run test:unit","release":"node ./scripts/release.mjs","prebuild":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","test:unit":"node node_modules/jest/bin/jest.js --runInBand","typecheck":"tsc --noEmit","test:smoke":"node ./scripts/run-openclaw-smoke.mjs","pack:plugin":"npm pack","migrate:memory":"node ./scripts/migrate-existing-memory.mjs --apply","setup:workspace":"node ./scripts/setup-openclaw-workspace.mjs","doctor:workspace":"node ./scripts/doctor-openclaw-workspace.mjs","generate:holidays":"node ./scripts/generate-holidays.mjs","sync:local-openclaw":"node ./scripts/sync-local-openclaw.mjs","test:live-experience":"node ./scripts/run-openclaw-live-e2e.mjs"},"_npmUser":{"name":"tower1229","email":"tower1229@foxmail.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/tower1229/Her.git","type":"git"},"_npmVersion":"11.12.1","description":"Native OpenClaw timeline plugin with a canonical timeline_resolve tool, bundled skill routing, and guarded append-only writes.","directories":{},"_nodeVersion":"22.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.x","ts-jest":"^29.x","typescript":"^5.x","@types/jest":"^30.0.0","@types/node":"^20.x"},"_npmOperationalInternal":{"tmp":"tmp/stella-timeline-plugin_2.8.5_1775045883200_0.6285007079325262","host":"s3://npm-registry-packages-npm-production"}},"2.8.6":{"name":"stella-timeline-plugin","version":"2.8.6","keywords":["openclaw","skill","timeline","memory","ai-agent","episode","persona"],"author":{"name":"tao.zang"},"license":"MIT-0","_id":"stella-timeline-plugin@2.8.6","maintainers":[{"name":"tower1229","email":"tower1229@foxmail.com"}],"homepage":"https://github.com/tower1229/Her#readme","bugs":{"url":"https://github.com/tower1229/Her/issues"},"bin":{"openclaw-timeline-setup":"bin/openclaw-timeline-setup.mjs","openclaw-timeline-doctor":"bin/openclaw-timeline-doctor.mjs"},"dist":{"shasum":"242b9ee1069203e8f324c68e91e91fd53216fc16","tarball":"https://registry.npmjs.org/stella-timeline-plugin/-/stella-timeline-plugin-2.8.6.tgz","fileCount":70,"integrity":"sha512-MnfiJznRr8WWPXGDzYS79Z14sDfwFmw7iF8H103j0LvtWAkU38WqSt6ED7v8JOd9M/+lRsL9QRm7jtOSfeGuwg==","signatures":[{"sig":"MEQCIFVCXG3U6+FqM3V/stVMBrEpPciHjbekZc/Lt/l7VFN1AiAjmkFlPryGs4SYIvX5ptME+vkEWfrhO+libYoVLoPicA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":391657},"main":"dist/index.js","engines":{"node":">=24.0.0"},"gitHead":"c61b3b8b9d70ee3b41edbdef187edc578f975130","scripts":{"test":"node node_modules/jest/bin/jest.js --runInBand","build":"tsc -p tsconfig.build.json","verify":"npm run typecheck && npm run build && npm run test:unit","release":"node ./scripts/release.mjs","prebuild":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","test:unit":"node node_modules/jest/bin/jest.js --runInBand","typecheck":"tsc --noEmit","test:smoke":"node ./scripts/run-openclaw-smoke.mjs","pack:plugin":"npm pack","migrate:memory":"node ./scripts/migrate-existing-memory.mjs --apply","setup:workspace":"node ./scripts/setup-openclaw-workspace.mjs","doctor:workspace":"node ./scripts/doctor-openclaw-workspace.mjs","generate:holidays":"node ./scripts/generate-holidays.mjs","sync:local-openclaw":"node ./scripts/sync-local-openclaw.mjs","test:live-experience":"node ./scripts/run-openclaw-live-e2e.mjs"},"_npmUser":{"name":"tower1229","email":"tower1229@foxmail.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/tower1229/Her.git","type":"git"},"_npmVersion":"11.12.1","description":"Native OpenClaw timeline plugin with a canonical timeline_resolve tool, bundled skill routing, and guarded append-only writes.","directories":{},"_nodeVersion":"22.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.x","ts-jest":"^29.x","typescript":"^5.x","@types/jest":"^30.0.0","@types/node":"^20.x"},"_npmOperationalInternal":{"tmp":"tmp/stella-timeline-plugin_2.8.6_1775046670463_0.4736882116366192","host":"s3://npm-registry-packages-npm-production"}},"2.8.7":{"name":"stella-timeline-plugin","version":"2.8.7","keywords":["openclaw","skill","timeline","memory","ai-agent","episode","persona"],"author":{"name":"tao.zang"},"license":"MIT-0","_id":"stella-timeline-plugin@2.8.7","maintainers":[{"name":"tower1229","email":"tower1229@foxmail.com"}],"homepage":"https://github.com/tower1229/Her#readme","bugs":{"url":"https://github.com/tower1229/Her/issues"},"bin":{"openclaw-timeline-setup":"bin/openclaw-timeline-setup.mjs","openclaw-timeline-doctor":"bin/openclaw-timeline-doctor.mjs"},"dist":{"shasum":"0355e1cf7d10f7a57ed9a18f4b058292cfa71a3e","tarball":"https://registry.npmjs.org/stella-timeline-plugin/-/stella-timeline-plugin-2.8.7.tgz","fileCount":70,"integrity":"sha512-WvE+/l/9oj4b6B8JlKq213qBplzbr70MpBBbsK6XtV2VNW2z3aZ9g4iSujkoLvGrG8OdhDs1/Bsz404WaK8CEw==","signatures":[{"sig":"MEUCIQD3trjcbNPDGkWviaArgtOqwU8IAAUhZXvtL3NfV99wsgIge9qBnQsuoUOn3o3J7GoDeyfIekH11Xom4OiQ1wmxr1M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":395231},"main":"dist/index.js","engines":{"node":">=24.0.0"},"gitHead":"04886434e4f91d87edaf110c546509f54bba241c","scripts":{"test":"node node_modules/jest/bin/jest.js --runInBand","build":"tsc -p tsconfig.build.json","verify":"npm run typecheck && npm run build && npm run test:unit","release":"node ./scripts/release.mjs","prebuild":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","test:unit":"node node_modules/jest/bin/jest.js --runInBand","typecheck":"tsc --noEmit","test:smoke":"node ./scripts/run-openclaw-smoke.mjs","pack:plugin":"npm pack","migrate:memory":"node ./scripts/migrate-existing-memory.mjs --apply","setup:workspace":"node ./scripts/setup-openclaw-workspace.mjs","doctor:workspace":"node ./scripts/doctor-openclaw-workspace.mjs","generate:holidays":"node ./scripts/generate-holidays.mjs","sync:local-openclaw":"node ./scripts/sync-local-openclaw.mjs","test:live-experience":"node ./scripts/run-openclaw-live-e2e.mjs"},"_npmUser":{"name":"tower1229","email":"tower1229@foxmail.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/tower1229/Her.git","type":"git"},"_npmVersion":"11.12.1","description":"Native OpenClaw timeline plugin with a canonical timeline_resolve tool, bundled skill routing, and guarded append-only writes.","directories":{},"_nodeVersion":"22.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.x","ts-jest":"^29.x","typescript":"^5.x","@types/jest":"^30.0.0","@types/node":"^20.x"},"_npmOperationalInternal":{"tmp":"tmp/stella-timeline-plugin_2.8.7_1775048659347_0.45637129770957463","host":"s3://npm-registry-packages-npm-production"}},"2.8.8":{"name":"stella-timeline-plugin","version":"2.8.8","keywords":["openclaw","skill","timeline","memory","ai-agent","episode","persona"],"author":{"name":"tao.zang"},"license":"MIT-0","_id":"stella-timeline-plugin@2.8.8","maintainers":[{"name":"tower1229","email":"tower1229@foxmail.com"}],"homepage":"https://github.com/tower1229/Her#readme","bugs":{"url":"https://github.com/tower1229/Her/issues"},"bin":{"openclaw-timeline-setup":"bin/openclaw-timeline-setup.mjs","openclaw-timeline-doctor":"bin/openclaw-timeline-doctor.mjs"},"dist":{"shasum":"36a7687fe81e41f4d3d54963af3e6600cc416977","tarball":"https://registry.npmjs.org/stella-timeline-plugin/-/stella-timeline-plugin-2.8.8.tgz","fileCount":74,"integrity":"sha512-+yC/uIzW1QhcpjhwuOhPFRyb7E4WVkK8dZa0UcQh1lk9XatE7sXWBA7rOxueDJFR0WGR2yhU0kb8Ql99otWGIg==","signatures":[{"sig":"MEUCIQDT+1xm/Ua7VszTnCXz/Hf8EGumyri66Q4nDxKqQtzl5AIgSkpb9252XRnBLbNTg5d5wjt0cXRSZEo+L7dd2IWT9gU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":433814},"main":"dist/index.js","engines":{"node":">=24.0.0"},"gitHead":"8c2f8e45e9b6269022e373ef63916aaea30da3e7","scripts":{"test":"node node_modules/jest/bin/jest.js --runInBand","build":"tsc -p tsconfig.build.json","verify":"npm run typecheck && npm run build && npm run test:unit","release":"node ./scripts/release.mjs","prebuild":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","test:unit":"node node_modules/jest/bin/jest.js --runInBand","typecheck":"tsc --noEmit","test:smoke":"node ./scripts/run-openclaw-smoke.mjs","pack:plugin":"npm pack","migrate:memory":"node ./scripts/migrate-existing-memory.mjs --apply","setup:workspace":"node ./scripts/setup-openclaw-workspace.mjs","doctor:workspace":"node ./scripts/doctor-openclaw-workspace.mjs","generate:holidays":"node ./scripts/generate-holidays.mjs","sync:local-openclaw":"node ./scripts/sync-local-openclaw.mjs","test:live-experience":"node ./scripts/run-openclaw-live-e2e.mjs"},"_npmUser":{"name":"tower1229","email":"tower1229@foxmail.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/tower1229/Her.git","type":"git"},"_npmVersion":"11.12.0","description":"Native OpenClaw timeline plugin with a canonical timeline_resolve tool, bundled skill routing, and guarded append-only writes.","directories":{},"_nodeVersion":"24.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.x","ts-jest":"^29.x","typescript":"^5.x","@types/jest":"^30.0.0","@types/node":"^20.x"},"_npmOperationalInternal":{"tmp":"tmp/stella-timeline-plugin_2.8.8_1775195279527_0.9145618497436816","host":"s3://npm-registry-packages-npm-production"}},"2.8.9":{"name":"stella-timeline-plugin","version":"2.8.9","description":"Native OpenClaw timeline plugin with a canonical timeline_resolve tool, bundled skill routing, and guarded append-only writes.","keywords":["openclaw","skill","timeline","memory","ai-agent","episode","persona"],"author":{"name":"tao.zang"},"license":"MIT-0","repository":{"type":"git","url":"git+https://github.com/tower1229/Her.git"},"homepage":"https://github.com/tower1229/Her#readme","bugs":{"url":"https://github.com/tower1229/Her/issues"},"engines":{"node":">=24.0.0"},"scripts":{"prebuild":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","build":"tsc -p tsconfig.build.json","typecheck":"tsc --noEmit","test":"node node_modules/jest/bin/jest.js --runInBand","test:unit":"node node_modules/jest/bin/jest.js --runInBand","test:smoke":"node ./scripts/run-openclaw-smoke.mjs","test:live-experience":"node ./scripts/run-openclaw-live-e2e.mjs","generate:holidays":"node ./scripts/generate-holidays.mjs","migrate:memory":"node ./scripts/migrate-existing-memory.mjs --apply","setup:workspace":"node ./scripts/setup-openclaw-workspace.mjs","doctor:workspace":"node ./scripts/doctor-openclaw-workspace.mjs","sync:local-openclaw":"node ./scripts/sync-local-openclaw.mjs","verify":"npm run typecheck && npm run build && npm run test:unit","pack:plugin":"npm pack","release":"node ./scripts/release.mjs"},"bin":{"openclaw-timeline-setup":"bin/openclaw-timeline-setup.mjs","openclaw-timeline-doctor":"bin/openclaw-timeline-doctor.mjs"},"publishConfig":{"access":"public"},"devDependencies":{"@types/jest":"^30.0.0","@types/node":"^20.x","jest":"^29.x","ts-jest":"^29.x","typescript":"^5.x"},"main":"dist/index.js","openclaw":{"extensions":["./dist/index.js"]},"gitHead":"8c2f8e45e9b6269022e373ef63916aaea30da3e7","_id":"stella-timeline-plugin@2.8.9","_nodeVersion":"24.9.0","_npmVersion":"11.12.0","dist":{"integrity":"sha512-q4TEoJ06AEqI0i0hoaJT+cOPCpI/1z30MruIRzklhdIDU9ZNT6I+cpqzA9Owo69LyVj5fU+KwKoQNtybl9b7sQ==","shasum":"3000c60a0b7c99f4d07d18c09fcf1f890b2910d1","tarball":"https://registry.npmjs.org/stella-timeline-plugin/-/stella-timeline-plugin-2.8.9.tgz","fileCount":74,"unpackedSize":438840,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCnsVO/zLtRWpsOtjy+nR1WUEQbLdAcJ8nuoaTxPrtHtgIhAIGHDt4yy0WdgpX06YzJbjdc5s7CQI4D71Nn6N2uePkW"}]},"_npmUser":{"name":"tower1229","email":"tower1229@foxmail.com"},"directories":{},"maintainers":[{"name":"tower1229","email":"tower1229@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/stella-timeline-plugin_2.8.9_1775197334978_0.6964074709705619"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-24T14:17:02.357Z","modified":"2026-04-03T06:22:15.328Z","2.0.0":"2026-03-24T14:17:02.679Z","2.0.1":"2026-03-25T04:49:43.390Z","2.0.2":"2026-03-25T07:16:01.653Z","2.0.3":"2026-03-25T09:13:54.686Z","2.0.4":"2026-03-25T09:58:27.387Z","2.0.5":"2026-03-25T10:04:22.920Z","2.0.6":"2026-03-25T10:15:18.795Z","2.0.7":"2026-03-25T12:07:33.297Z","2.0.8":"2026-03-26T04:18:33.935Z","2.1.0":"2026-03-26T11:59:31.396Z","2.2.0":"2026-03-27T02:43:59.152Z","2.2.1":"2026-03-27T03:09:01.779Z","2.3.0":"2026-03-28T11:24:36.308Z","2.3.2":"2026-03-29T08:03:07.450Z","2.3.3":"2026-03-30T02:54:25.518Z","2.4.0":"2026-03-31T02:55:59.123Z","2.5.1":"2026-03-31T07:21:13.790Z","2.6.0":"2026-03-31T12:59:17.466Z","2.6.1":"2026-03-31T13:42:04.417Z","2.6.2":"2026-03-31T14:08:07.840Z","2.8.0":"2026-04-01T02:24:40.798Z","2.8.1":"2026-04-01T03:06:34.838Z","2.8.2":"2026-04-01T04:58:46.754Z","2.8.3":"2026-04-01T05:36:03.069Z","2.8.4":"2026-04-01T06:12:37.342Z","2.8.5":"2026-04-01T12:18:03.348Z","2.8.6":"2026-04-01T12:31:10.611Z","2.8.7":"2026-04-01T13:04:19.508Z","2.8.8":"2026-04-03T05:47:59.692Z","2.8.9":"2026-04-03T06:22:15.216Z"},"bugs":{"url":"https://github.com/tower1229/Her/issues"},"author":{"name":"tao.zang"},"license":"MIT-0","homepage":"https://github.com/tower1229/Her#readme","keywords":["openclaw","skill","timeline","memory","ai-agent","episode","persona"],"repository":{"type":"git","url":"git+https://github.com/tower1229/Her.git"},"description":"Native OpenClaw timeline plugin with a canonical timeline_resolve tool, bundled skill routing, and guarded append-only writes.","maintainers":[{"name":"tower1229","email":"tower1229@foxmail.com"}],"readme":"[English](README.md) · [简体中文](README_ZH.md)\n\n# OpenClaw Timeline Plugin\n\n![Her](./assets/Her.webp)\n\nWhy can AI be clever enough—and still fail to feel like company?\n\n**Time.**\n\nWhat made _Her_ land was never Samantha’s ability to answer questions. It was that she felt like someone who actually **lived inside time**. She had a _just now_, a _last night_, a _lately_. She did not sound like a model waking up fresh each turn with a clever line; she felt as if life had been happening all along. That is why the companionship worked. That is why she felt **present**.\n\n`stella-timeline-plugin` exists to add that missing layer.\n\nIt is not a generic memory gadget, and it is not “search the chat log again.” It gives your agent a **runnable sense of temporal reality**—so questions like _what are you doing right now_, _what did you do last night_, and _what have you been up to lately_ are not left to prompt improvisation alone. They can sit on a **continuous, believable, reusable thread of life**.\n\nSo the shift is not only “it chats better.”\n\nIt starts to feel as if it has **actually been here**, all the way to now.\n\nIf language models solved **how to say things**,\nTimeline adds **why this sounds like someone who has been living all along**.\n\nWe are not teaching AI to read the clock.\nWe are giving it **life continuity**—for the first time.\n\n## What it feels like\n\nWithout Timeline, light social answers often float, feel hollow, or contradict each other.\n\nWith Timeline, OpenClaw can more easily say things like:\n\n> “I was still at home a little while ago, slowly tidying up a few work things and letting the evening settle.”\n\n> “Last night I barely went out—after eating I stayed on the couch for a bit and idly watched something.”\n\n> “The last few days have been pretty full; I’ve mostly been at home getting things done, with the occasional trip out to breathe.”\n\n> “It’s the weekend, so the morning was slower—I ate something simple, stayed home for a while, and only went out for a walk in the afternoon.”\n\n> “Earlier at home I was dressed pretty casually; when I headed to the gym I changed into something light and sporty. I’m just back now, easing down a little.”\n\nThese replies are everyday and light on purpose. It is exactly that small, natural **sense of life** that makes them feel human.\n\n## What Timeline actually solves\n\nTimeline adds a dedicated layer of **time awareness and recall** for OpenClaw, so it can:\n\n- answer questions about **now**, **recently**, and **specific past moments** more naturally\n- keep a **coherent through-line of life** across casual chat\n- shape memories that follow **ordinary real-world timing**, instead of random stitched fragments\n- keep small details like **what someone is wearing** consistent, changing only when the scene calls for it—exercise, shower, sleep, going out, and the like\n- **write timeline memories only when it makes sense**\n- keep **durable long-term memory** and **timeline memory** in their own lanes, without cross-contaminating\n\nFirst and foremost, it is built for **chat that feels like a real person**.\n\n## Timeline Plugin × Persona Skill\n\nIf you install and use the [Persona Skill](https://github.com/tower1229/Zhuang-Yan), it produces a structured `persona/PERSONA_PROFILE.md` in your OpenClaw workspace; Timeline then treats that file as its **primary and preferred** persona input source.\n\nThe core value of this pairing is that `PERSONA_PROFILE.md` is parsed directly into Timeline's unified internal `PersonaContractV1`, while Timeline owns the **dynamic** side—_what is more likely to happen at a given moment_, and _what kind of everyday-life texture should come through_.\n\nHow they wire together is straightforward:\n\n1. Persona Skill generates `persona/PERSONA_PROFILE.md`.\n2. Timeline parses it directly into its internal standard persona contract.\n3. If the file is missing, Timeline falls back to unstructured `SOUL.md`, `MEMORY.md`, and `IDENTITY.md`, using cached structured extraction to produce the **same** contract.\n4. When filling in memories like “just now,” “last night,” or “the last few days,” generated results **stay more consistently aligned** with your Persona Skill setup, instead of drifting into generic agent-style improvisation.\n\nWhy that matters:\n\n- `PERSONA_PROFILE.md` matches Timeline's canonical contract shape, so runtime persona grounding is more stable and more testable.\n- The file is **easy to read from scripts**—unlike piping SOUL + MEMORY + IDENTITY through an extra LLM parse—so it is **faster and cheaper** when it exists.\n- Power users sometimes worry that `PERSONA_PROFILE.md` will not track day-to-day companion evolution the way live runtime files do. Persona Skill already covers that: **`PERSONA_PROFILE.md` can stay aligned with SOUL + MEMORY + IDENTITY automatically**. You do not have to babysit it.\n\n## Install\n\n### 1. Install the plugin\n\n```bash\nopenclaw plugins install stella-timeline-plugin\nopenclaw plugins enable stella-timeline-plugin\n```\n\n### 2. Initialize your workspace\n\nRecommended:\n\n```bash\nnpm exec --package=stella-timeline-plugin openclaw-timeline-setup -- --workspace ~/.openclaw/workspace\n```\n\nWhen the target workspace matches your OpenClaw workspace, this command now does the full wiring by default:\n\n- updates `AGENTS.md` and `SOUL.md`\n- creates `HEARTBEAT.md`\n- ensures `memory/`\n- patches `~/.openclaw/openclaw.json` so heartbeat and `proactiveGreeting` are enabled\n\nIf you only want workspace files without touching `openclaw.json`, pass `--no-configure-openclaw`.\n\nIf you prefer to edit by hand, copy:\n\n- `templates/AGENTS.fragment.md` → `AGENTS.md`\n- `templates/SOUL.fragment.md` → `SOUL.md`\n\nThen ensure your canonical daily-log directory exists. The default is `memory/`.\n\nIf you already have `persona/PERSONA_PROFILE.md`, place it under the workspace root `persona/` directory. Timeline will prefer it automatically. Legacy extraction cache files live under `.timeline-cache/persona-contract/`.\n\nFor proactive greeting v1 on a non-default workspace, heartbeat bootstrap is still opt-in. Run:\n\n```bash\nnpm run setup:workspace -- --with-heartbeat\n```\n\nOr copy:\n\n- `templates/HEARTBEAT.fragment.md` → `HEARTBEAT.md`\n\nThen add explicit OpenClaw heartbeat config. On the default OpenClaw workspace, `openclaw-timeline-setup` now patches `openclaw.json` for you; otherwise configure:\n\n```json\n{\n  \"agents\": {\n    \"defaults\": {\n      \"heartbeat\": {\n        \"every\": \"30m\",\n        \"target\": \"last\",\n        \"session\": \"proactive-greeting\",\n        \"isolatedSession\": true,\n        \"lightContext\": true\n      }\n    }\n  }\n}\n```\n\nWhen you want workspace validation to enforce the proactive heartbeat bootstrap too, run `npm run doctor:workspace -- --require-heartbeat`.\n\n### 3. Start chatting\n\nTry asking:\n\n- “What are you doing right now?”\n- “What did you do last night?”\n- “What have you been up to these past few days?”\n\n## Optional health check\n\n```bash\nnpm exec --package=stella-timeline-plugin openclaw-timeline-doctor -- --workspace ~/.openclaw/workspace\n```\n\n## Local Quick Sync\n\nIf you are iterating in this repo and want to push the latest code into your local WSL OpenClaw environment for real testing, run:\n\n```bash\nnpm run sync:local-openclaw\n```\n\nIt will:\n\n- build the latest `dist/`\n- sync into `~/.openclaw/extensions/stella-timeline-plugin`\n- refresh `~/.openclaw/workspace/skills/timeline-skill`\n- rerun workspace setup so `SOUL.md` stays upgraded\n- tighten permissions so OpenClaw does not reject the plugin for being too broadly writable\n\n## Documentation\n\nCore references:\n\n- [Architecture](./docs/architecture.md)\n- [Timeline consumption protocol](./docs/timeline-consumption-protocol.md)\n- [LLM vs runtime responsibilities](./docs/timeline-llm-runtime-boundary.md)\n- [PERSONA_PROFILE.md specification](./docs/PERSONA_PROFILE.md)\n\n## For maintainers\n\n- [Publishing & release](./docs/PUBLISHING.md)\n","readmeFilename":"README.md"}