{"_id":"@agent-diaries/core","_rev":"25-291f8dc4a37f426415222e99fa26a13c","name":"@agent-diaries/core","dist-tags":{"latest":"2.2.6"},"versions":{"0.1.0":{"name":"@agent-diaries/core","version":"0.1.0","keywords":["ai","agent","memory","diary","local"],"author":{"name":"swapwarick_n"},"license":"MIT","_id":"@agent-diaries/core@0.1.0","maintainers":[{"name":"swapwarick_n","email":"swapwarick@icloud.com"}],"homepage":"https://github.com/swapwarick/agent-diaries-sdk#readme","bugs":{"url":"https://github.com/swapwarick/agent-diaries-sdk/issues"},"dist":{"shasum":"606a9ebef269180962f4ffb1aaef76a54c9a0167","tarball":"https://registry.npmjs.org/@agent-diaries/core/-/core-0.1.0.tgz","fileCount":13,"integrity":"sha512-vdwy6ywTKj1RLOhq9wxsyGzIDXCNL7+eaAIjg3eh/kJI4Riw0UR1GfrimmWikNHDL41n4NIgwR46Q9CIG4xiew==","signatures":[{"sig":"MEYCIQCUwznWRrF9ZQ4ldy7e0V8jH5SvXWYnocLemuLO1yDGVAIhAPsikjsqnQc80Z9ZzGIVxwA2ZxJiY+7xiKq0SkvbcwAk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24036},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"5d7c6779df82327e271e23f09273ed570ceda128","scripts":{"test":"vitest run","build":"tsc","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"swapwarick_n","email":"swapwarick@icloud.com"},"repository":{"url":"git+https://github.com/swapwarick/agent-diaries-sdk.git","type":"git"},"_npmVersion":"10.9.0","description":"The lightweight, framework-agnostic memory layer for edge AI agents.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","proper-lockfile":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.5","ts-node":"^10.9.2","@types/pg":"^8.20.0","typescript":"^5.0.0","@types/node":"^20.0.0","@vitest/coverage-v8":"^4.1.5","@types/proper-lockfile":"^4.1.4"},"_npmOperationalInternal":{"tmp":"tmp/core_0.1.0_1777351580168_0.31453874559680783","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@agent-diaries/core","version":"0.1.1","keywords":["ai","agent","memory","diary","local"],"author":{"name":"swapwarick_n"},"license":"MIT","_id":"@agent-diaries/core@0.1.1","maintainers":[{"name":"swapwarick_n","email":"swapwarick@icloud.com"}],"homepage":"https://github.com/swapwarick/agent-diaries-core#readme","bugs":{"url":"https://github.com/swapwarick/agent-diaries-core/issues"},"dist":{"shasum":"3a89c2a3a4fea7af2f7966e35d75c6a54b71ac2b","tarball":"https://registry.npmjs.org/@agent-diaries/core/-/core-0.1.1.tgz","fileCount":13,"integrity":"sha512-05kRa1BJlGKrFQ9q+lxZKvVIXVi+6kYrhFR3AeUi3FAcH909tnclK8Sp1CHIpgXNBtlduNqLEFrlcmFh04615w==","signatures":[{"sig":"MEUCIEC5hDn2snKv4m77q8g5y2RCtAJAuzJ+oA5SQAt2qPt3AiEA8Uy8ppzZ7WcmqSLsdyuZFEUkbef/LlNRCUqZ17fZZrs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24039},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"e0f7a33215c6d2a123759bdb2464dd895f783885","scripts":{"test":"vitest run","build":"tsc","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"swapwarick_n","email":"swapwarick@icloud.com"},"repository":{"url":"git+https://github.com/swapwarick/agent-diaries-core.git","type":"git"},"_npmVersion":"10.9.0","description":"The lightweight, framework-agnostic memory layer for edge AI agents.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"pg":"^8.20.0","ioredis":"^5.10.1","proper-lockfile":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.5","ts-node":"^10.9.2","@types/pg":"^8.20.0","typescript":"^5.0.0","@types/node":"^20.0.0","@vitest/coverage-v8":"^4.1.5","@types/proper-lockfile":"^4.1.4"},"_npmOperationalInternal":{"tmp":"tmp/core_0.1.1_1777351742232_0.3617574109282644","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@agent-diaries/core","version":"0.1.2","keywords":["ai","agent","memory","diary","local"],"author":{"name":"swapwarick_n"},"license":"MIT","_id":"@agent-diaries/core@0.1.2","maintainers":[{"name":"swapwarick_n","email":"swapwarick@icloud.com"}],"homepage":"https://github.com/swapwarick/agent-diaries-core#readme","bugs":{"url":"https://github.com/swapwarick/agent-diaries-core/issues"},"dist":{"shasum":"935d3b56755af4d37d19c4b5e7e98dfba2ffa8a3","tarball":"https://registry.npmjs.org/@agent-diaries/core/-/core-0.1.2.tgz","fileCount":15,"integrity":"sha512-BQwIU+rYU/LRdXALyKXs+/KuvVuRh4bMDY+EWr+CF55zgm2BC5ytICrAY4aSkZGuX5RIu7b4saOD358eHun4MA==","signatures":[{"sig":"MEUCIHk3zsgw4VZ4r+I4IeM7BBl4McxuA9vEUyaSpxQobkkrAiEA+9wkpvyuTa6FNrlEzcisn+7vksCtfmjj6LVMYo7Ug30=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28428},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"0163f56376293c25faa7dba3d7881509877ff52d","scripts":{"test":"vitest run","build":"tsc","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"swapwarick_n","email":"swapwarick@icloud.com"},"repository":{"url":"git+https://github.com/swapwarick/agent-diaries-core.git","type":"git"},"_npmVersion":"10.9.0","description":"The lightweight, framework-agnostic memory layer for edge AI agents.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"dotenv":"^17.4.2","ioredis":"^5.10.1","mongodb":"^7.2.0","proper-lockfile":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.5","ts-node":"^10.9.2","typescript":"^5.0.0","@types/node":"^20.0.0","@types/dotenv":"^6.1.1","@vitest/coverage-v8":"^4.1.5","@types/proper-lockfile":"^4.1.4"},"_npmOperationalInternal":{"tmp":"tmp/core_0.1.2_1777357399724_0.3068017387480555","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@agent-diaries/core","version":"0.1.3","keywords":["ai","agent","memory","diary","local"],"author":{"name":"swapwarick_n"},"license":"MIT","_id":"@agent-diaries/core@0.1.3","maintainers":[{"name":"swapwarick_n","email":"swapwarick@icloud.com"}],"homepage":"https://github.com/swapwarick/agent-diaries-core#readme","bugs":{"url":"https://github.com/swapwarick/agent-diaries-core/issues"},"dist":{"shasum":"52627386071bedad6cc85cf706d815af5a7e4d23","tarball":"https://registry.npmjs.org/@agent-diaries/core/-/core-0.1.3.tgz","fileCount":15,"integrity":"sha512-FrRINMt9syNJKUop1tWhdfpIu8dnZmmVh9mZInuN6QiGQg1ibStJY+GRhAudt9oI97vG+1pxRuMNU2lDfpT45g==","signatures":[{"sig":"MEUCIQDEwO/82v9uK26sXljYh31oIS1Z3XE4sO7d+8H1wNWXrwIge1pqKNKjESdgusSGT2/ehwEkg50PbKq5bpbtZ1vxXiY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29381},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"8c11450df0d76300a1698022bb1a22f038ff90d7","scripts":{"test":"vitest run","build":"tsc","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"swapwarick_n","email":"swapwarick@icloud.com"},"repository":{"url":"git+https://github.com/swapwarick/agent-diaries-core.git","type":"git"},"_npmVersion":"10.9.0","description":"The lightweight, framework-agnostic memory layer for edge AI agents.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"dotenv":"^17.4.2","ioredis":"^5.10.1","mongodb":"^7.2.0","proper-lockfile":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.5","ts-node":"^10.9.2","typescript":"^5.0.0","@types/node":"^20.0.0","@types/dotenv":"^6.1.1","@vitest/coverage-v8":"^4.1.5","@types/proper-lockfile":"^4.1.4"},"_npmOperationalInternal":{"tmp":"tmp/core_0.1.3_1777359084361_0.16703735717511092","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@agent-diaries/core","version":"0.1.4","keywords":["ai-agent","agent-memory","deduplication","distributed-lock","redis","mongodb","serverless","idempotency","task-queue"],"author":{"name":"swapwarick_n"},"license":"MIT","_id":"@agent-diaries/core@0.1.4","maintainers":[{"name":"swapwarick_n","email":"swapwarick@icloud.com"}],"homepage":"https://github.com/swapwarick/agent-diaries-core#readme","bugs":{"url":"https://github.com/swapwarick/agent-diaries-core/issues"},"dist":{"shasum":"6ed1caad59685d1b19f27e6f6ce49cffa316fb0f","tarball":"https://registry.npmjs.org/@agent-diaries/core/-/core-0.1.4.tgz","fileCount":15,"integrity":"sha512-K/sGcS3PP4/Y3iV+z4YyAo75psJHORAk15toqYqcnyMYvsvReMiYa0obiGOkGiEXcehLadz61TwsUtnR6IzDWg==","signatures":[{"sig":"MEUCIH5kbw1dPe7D/nhsAV8MLhQZEwQk+78FBH9TPYRr3iooAiEAnHz5UgQw3M1gEV7JJvba/vH8sG9q8o5A1SOP3qlHVNU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31426},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"1f28fb8ea97de65d44cc73cfae28fb8e0729edd6","scripts":{"test":"vitest run","build":"tsc","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"swapwarick_n","email":"swapwarick@icloud.com"},"repository":{"url":"git+https://github.com/swapwarick/agent-diaries-core.git","type":"git"},"_npmVersion":"10.9.0","description":"The lightweight, framework-agnostic memory layer for edge AI agents.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"proper-lockfile":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"dotenv":"^17.4.2","vitest":"^4.1.5","ts-node":"^10.9.2","typescript":"^5.0.0","@types/node":"^20.0.0","@types/dotenv":"^6.1.1","@vitest/coverage-v8":"^4.1.5","@types/proper-lockfile":"^4.1.4"},"peerDependencies":{"ioredis":">=5","mongodb":">=6"},"peerDependenciesMeta":{"ioredis":{"optional":true},"mongodb":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/core_0.1.4_1777361530482_0.8202183943080081","host":"s3://npm-registry-packages-npm-production"}},"0.1.41":{"name":"@agent-diaries/core","version":"0.1.41","keywords":["ai-agent","agent-memory","deduplication","distributed-lock","redis","mongodb","serverless","idempotency","task-queue"],"author":{"name":"swapwarick_n"},"license":"MIT","_id":"@agent-diaries/core@0.1.41","maintainers":[{"name":"swapwarick_n","email":"swapwarick@icloud.com"}],"homepage":"https://github.com/swapwarick/agent-diaries-core#readme","bugs":{"url":"https://github.com/swapwarick/agent-diaries-core/issues"},"dist":{"shasum":"d6559e3f8553231651b11481147ee7f72656ddef","tarball":"https://registry.npmjs.org/@agent-diaries/core/-/core-0.1.41.tgz","fileCount":15,"integrity":"sha512-J3FOKAPgRhH11/vYvFkfARJ78KKWpiWz4SkT1REejrqeZGSBXz4UZ+zPUOWjj4OrRsEt3YwvQpUM++DwgFQHHQ==","signatures":[{"sig":"MEUCIE5Yis141VgUwvPe4RP+JejdyvLRY0FQoXNOdciuNkx8AiEAsHM14Sjtu40mrR7zy+PWLdIQwxss6FEvCSY/P78GVug=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32888},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"ae55b0a7792cf025e18b84f9a30a62407325f310","scripts":{"test":"vitest run","build":"tsc","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"swapwarick_n","email":"swapwarick@icloud.com"},"repository":{"url":"git+https://github.com/swapwarick/agent-diaries-core.git","type":"git"},"_npmVersion":"10.9.0","description":"The lightweight, framework-agnostic memory layer for edge AI agents.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"proper-lockfile":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"dotenv":"^17.4.2","vitest":"^4.1.5","ts-node":"^10.9.2","typescript":"^5.0.0","@types/node":"^20.0.0","@types/dotenv":"^6.1.1","@vitest/coverage-v8":"^4.1.5","@types/proper-lockfile":"^4.1.4"},"peerDependencies":{"ioredis":">=5","mongodb":">=6"},"peerDependenciesMeta":{"ioredis":{"optional":true},"mongodb":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/core_0.1.41_1777363228928_0.0734388185039836","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@agent-diaries/core","version":"1.0.0","keywords":["ai-agent","agent-memory","deduplication","distributed-lock","redis","mongodb","serverless","idempotency","task-queue"],"author":{"name":"swapwarick_n"},"license":"MIT","_id":"@agent-diaries/core@1.0.0","maintainers":[{"name":"swapwarick_n","email":"swapwarick@icloud.com"}],"homepage":"https://github.com/swapwarick/agent-diaries-core#readme","bugs":{"url":"https://github.com/swapwarick/agent-diaries-core/issues"},"dist":{"shasum":"bec254b7fdbbe893005c8f77a63eca5267c4dc74","tarball":"https://registry.npmjs.org/@agent-diaries/core/-/core-1.0.0.tgz","fileCount":15,"integrity":"sha512-56+zGfi6vjMp2T5t5sJtWExSfsCbS09UkX6L1FYnSSJATAIMA0RY/835V0BJpq78fCPW4sI/aBtALFsS6y0WOw==","signatures":[{"sig":"MEYCIQDBHx9M3sAYdSlIhtDjJI1a+JSp2/05gMr1SXKXnQFPSgIhAIs4NYpYKVap0PF3WBxZjLd2KnKUDIxPs+THLT0io5OV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32812},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"33124795a0e76b02fbf80ea4c2b40d28d0c8aefe","scripts":{"test":"vitest run","build":"tsc","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"swapwarick_n","email":"swapwarick@icloud.com"},"repository":{"url":"git+https://github.com/swapwarick/agent-diaries-core.git","type":"git"},"_npmVersion":"10.9.0","description":"The lightweight, framework-agnostic memory layer for edge AI agents.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"proper-lockfile":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"dotenv":"^17.4.2","vitest":"^4.1.5","ts-node":"^10.9.2","typescript":"^5.0.0","@types/node":"^20.0.0","@types/dotenv":"^6.1.1","@vitest/coverage-v8":"^4.1.5","@types/proper-lockfile":"^4.1.4"},"peerDependencies":{"ioredis":">=5","mongodb":">=6"},"peerDependenciesMeta":{"ioredis":{"optional":true},"mongodb":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/core_1.0.0_1777368514857_0.2534480074880736","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@agent-diaries/core","version":"1.1.0","keywords":["ai-agent","agent-memory","deduplication","distributed-lock","redis","mongodb","serverless","idempotency","task-queue"],"author":{"name":"swapwarick_n"},"license":"MIT","_id":"@agent-diaries/core@1.1.0","maintainers":[{"name":"swapwarick_n","email":"swapwarick@icloud.com"}],"homepage":"https://github.com/swapwarick/agent-diaries-core#readme","bugs":{"url":"https://github.com/swapwarick/agent-diaries-core/issues"},"dist":{"shasum":"e771b36bbac7c3f05cd5d7f193afd17db51a268b","tarball":"https://registry.npmjs.org/@agent-diaries/core/-/core-1.1.0.tgz","fileCount":17,"integrity":"sha512-+jW7qiJ0UyRabWYNDE9rA1tUorrptaE3J2a0dJl1qPgaojFIkquHlIwRoZwNmtfu6TmSvi2wrZsHOla/XWjD9Q==","signatures":[{"sig":"MEYCIQCcLUj/DgNYZxInBR2kBA2jNP+Aze3sN0jpFvy0Wy1z3QIhAPn4HxNin/IouzhN/PR0t5uUM+JLS4t1W4diCZZxcQx8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":39717},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"e9c0e7b02203af59cde117715a820da19bcb4442","scripts":{"test":"vitest run","build":"tsc","test:coverage":"vitest run --coverage.reporter=lcov --coverage.reporter=text","prepublishOnly":"npm run build"},"_npmUser":{"name":"swapwarick_n","email":"swapwarick@icloud.com"},"repository":{"url":"git+https://github.com/swapwarick/agent-diaries-core.git","type":"git"},"_npmVersion":"10.9.0","description":"The lightweight, framework-agnostic memory layer for edge AI agents.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"mempalace-agent":"^1.0.0","proper-lockfile":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"dotenv":"^17.4.2","vitest":"^4.1.5","ioredis":"^5.5.0","mongodb":"^6.13.0","ts-node":"^10.9.2","typescript":"^5.0.0","@types/node":"^20.0.0","@types/dotenv":"^6.1.1","@vitest/coverage-v8":"^4.1.5","@types/better-sqlite3":"^7.6.11","@types/proper-lockfile":"^4.1.4"},"peerDependencies":{"ioredis":">=5","mongodb":">=6","better-sqlite3":">=9 || >=10 || >=11"},"peerDependenciesMeta":{"ioredis":{"optional":true},"mongodb":{"optional":true},"better-sqlite3":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/core_1.1.0_1779351377140_0.621942110562455","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@agent-diaries/core","version":"1.1.1","keywords":["ai-agent","agent-memory","deduplication","distributed-lock","redis","mongodb","serverless","idempotency","task-queue"],"author":{"name":"swapwarick_n"},"license":"MIT","_id":"@agent-diaries/core@1.1.1","maintainers":[{"name":"swapwarick_n","email":"swapwarick@icloud.com"}],"homepage":"https://github.com/swapwarick/agent-diaries-core#readme","bugs":{"url":"https://github.com/swapwarick/agent-diaries-core/issues"},"dist":{"shasum":"7e2b9c33270bc755f757e36a08e0030850043b20","tarball":"https://registry.npmjs.org/@agent-diaries/core/-/core-1.1.1.tgz","fileCount":17,"integrity":"sha512-VSpJCA5k9XlDL/tMz464MIf3yZ67nd8afVBScF1XOwKj9jlCY85CmNO61aT+QVy8ktRBHFyJHzsRYQFnszbxYQ==","signatures":[{"sig":"MEQCIFVfWgbEaVTbPzuhS+i1uD9JpGgXbvdsUBZUvhevPYMLAiBtjPBmt/0xtePWcPnNz4uVdaoA3NZe5tyhTduhMReqkg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":39683},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"678eea9355f01099a3a257aa4a86678285f262de","scripts":{"test":"vitest run","build":"tsc","test:coverage":"vitest run --coverage.reporter=lcov --coverage.reporter=text","prepublishOnly":"npm run build"},"_npmUser":{"name":"swapwarick_n","email":"swapwarick@icloud.com"},"repository":{"url":"git+https://github.com/swapwarick/agent-diaries-core.git","type":"git"},"_npmVersion":"10.9.0","description":"The lightweight, framework-agnostic memory layer for edge AI agents.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"proper-lockfile":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"dotenv":"^17.4.2","vitest":"^4.1.5","ioredis":"^5.5.0","mongodb":"^6.13.0","ts-node":"^10.9.2","typescript":"^5.0.0","@types/node":"^20.0.0","@types/dotenv":"^6.1.1","@vitest/coverage-v8":"^4.1.5","@types/better-sqlite3":"^7.6.11","@types/proper-lockfile":"^4.1.4"},"peerDependencies":{"ioredis":">=5","mongodb":">=6","better-sqlite3":">=9 || >=10 || >=11"},"peerDependenciesMeta":{"ioredis":{"optional":true},"mongodb":{"optional":true},"better-sqlite3":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/core_1.1.1_1779604972056_0.04125522860800013","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@agent-diaries/core","version":"1.1.2","keywords":["ai-agent","agent-memory","deduplication","distributed-lock","redis","mongodb","serverless","idempotency","task-queue"],"author":{"name":"swapwarick_n"},"license":"MIT","_id":"@agent-diaries/core@1.1.2","maintainers":[{"name":"swapwarick_n","email":"swapwarick@icloud.com"}],"homepage":"https://github.com/swapwarick/agent-diaries-core#readme","bugs":{"url":"https://github.com/swapwarick/agent-diaries-core/issues"},"dist":{"shasum":"cf293254947be22d6a54f3dfa5ed1fd3c2c45a82","tarball":"https://registry.npmjs.org/@agent-diaries/core/-/core-1.1.2.tgz","fileCount":29,"integrity":"sha512-BKMXKdRWBKiIiE/1trxblgEQPfvcj9oH6eIX05TDDRLs2aqUwEJ5bgWBURUuIYke/nz5uPxSZT/XAgtWw3LWmA==","signatures":[{"sig":"MEQCIEnDji/YNpB3zVe+h3be0GLbpVJRA4Ht9443NbPiUocPAiBkbZQebyEqvkq2aSnsCD8cbNcXjcmy8wtkv9Kejllvkg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61910},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"678eea9355f01099a3a257aa4a86678285f262de","scripts":{"test":"vitest run","build":"tsc","test:coverage":"vitest run --coverage.reporter=lcov --coverage.reporter=text","prepublishOnly":"npm run build"},"_npmUser":{"name":"swapwarick_n","email":"swapwarick@icloud.com"},"repository":{"url":"git+https://github.com/swapwarick/agent-diaries-core.git","type":"git"},"_npmVersion":"10.9.0","description":"The lightweight, framework-agnostic memory layer for edge AI agents.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"proper-lockfile":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"dotenv":"^17.4.2","vitest":"^4.1.7","ioredis":"^5.10.1","mongodb":"^7.2.0","ts-node":"^10.9.2","typescript":"^6.0.3","@types/node":"^25.9.1","@vitest/coverage-v8":"^4.1.7","@types/better-sqlite3":"^7.6.13","@types/proper-lockfile":"^4.1.4"},"peerDependencies":{"ioredis":">=5","mongodb":">=6","better-sqlite3":">=9 || >=10 || >=11"},"peerDependenciesMeta":{"ioredis":{"optional":true},"mongodb":{"optional":true},"better-sqlite3":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/core_1.1.2_1779605891209_0.2034468873390769","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@agent-diaries/core","version":"1.1.3","keywords":["ai-agent","agent-memory","deduplication","distributed-lock","redis","mongodb","serverless","idempotency","task-queue"],"author":{"name":"swapwarick_n"},"license":"MIT","_id":"@agent-diaries/core@1.1.3","maintainers":[{"name":"swapwarick_n","email":"swapwarick@icloud.com"}],"homepage":"https://github.com/swapwarick/agent-diaries-core#readme","bugs":{"url":"https://github.com/swapwarick/agent-diaries-core/issues"},"dist":{"shasum":"75b2b6d22f94c31b9d19c04ac44990a1d804762b","tarball":"https://registry.npmjs.org/@agent-diaries/core/-/core-1.1.3.tgz","fileCount":29,"integrity":"sha512-GTw6BnDVOPXyH7gp/S3Lmd9oquwwQPhj3wFMgSZMibiO+sHz6l0fOBmO8VvVGHKHSEhU083ujD8CMbmZyEM9sg==","signatures":[{"sig":"MEUCIQC3gGzb+gR6nnjdLsaH+XAYNhp1l/kO5HTsascQRdzXvwIgC+4W0DOZOOPLB+S12ZExwZ9CSlmL2LptoJ1KnVnasVA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61883},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"678eea9355f01099a3a257aa4a86678285f262de","scripts":{"test":"vitest run","build":"tsc","test:coverage":"vitest run --coverage.reporter=lcov --coverage.reporter=text","prepublishOnly":"npm run build"},"_npmUser":{"name":"swapwarick_n","email":"swapwarick@icloud.com"},"repository":{"url":"git+https://github.com/swapwarick/agent-diaries-core.git","type":"git"},"_npmVersion":"10.9.0","description":"The lightweight, framework-agnostic memory layer for edge AI agents.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"proper-lockfile":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"dotenv":"^17.4.2","vitest":"^4.1.7","ioredis":"^5.10.1","mongodb":"^7.2.0","typescript":"^6.0.3","@types/node":"^25.9.1","@vitest/coverage-v8":"^4.1.7","@types/better-sqlite3":"^7.6.13","@types/proper-lockfile":"^4.1.4"},"peerDependencies":{"ioredis":">=5","mongodb":">=6","better-sqlite3":">=9 || >=10 || >=11"},"peerDependenciesMeta":{"ioredis":{"optional":true},"mongodb":{"optional":true},"better-sqlite3":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/core_1.1.3_1779616271075_0.6593385118337522","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"@agent-diaries/core","version":"1.1.4","keywords":["ai-agent","agent-memory","deduplication","distributed-lock","redis","mongodb","serverless","idempotency","task-queue"],"author":{"name":"swapwarick_n"},"license":"MIT","_id":"@agent-diaries/core@1.1.4","maintainers":[{"name":"swapwarick_n","email":"swapwarick@icloud.com"}],"homepage":"https://github.com/swapwarick/agent-diaries-core#readme","bugs":{"url":"https://github.com/swapwarick/agent-diaries-core/issues"},"dist":{"shasum":"ecd30c836c38be71a7256d7bb4a7e3a657610740","tarball":"https://registry.npmjs.org/@agent-diaries/core/-/core-1.1.4.tgz","fileCount":29,"integrity":"sha512-MSAbV3xSULfOJC0LBSGIuEEgf3yCYYkARg0G0X90rVyQOLXJK1sSfc2IFz1Faq5I/JMZ59mpeBjOPqXkDOMzFw==","signatures":[{"sig":"MEYCIQDhdYDeEMTnrlIpULzQnLkKaOqIhH9U7j3F+8l38MK0AwIhAORlA7bmuGnY/QcD17F4DgPnZdgrYw/ZgyK0SPVwyQRx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62323},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"678eea9355f01099a3a257aa4a86678285f262de","scripts":{"lint":"eslint . --ext .ts","test":"vitest run","build":"tsc","format":"prettier --write .","test:coverage":"vitest run --coverage.reporter=lcov --coverage.reporter=text","prepublishOnly":"npm run build"},"_npmUser":{"name":"swapwarick_n","email":"swapwarick@icloud.com"},"repository":{"url":"git+https://github.com/swapwarick/agent-diaries-core.git","type":"git"},"_npmVersion":"10.9.0","description":"The lightweight, framework-agnostic memory layer for edge AI agents.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"proper-lockfile":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"dotenv":"^17.4.2","eslint":"^9.39.4","vitest":"^4.1.7","ioredis":"^5.10.1","mongodb":"^7.2.0","prettier":"^3.8.3","typescript":"^6.0.3","@types/node":"^25.9.1","@vitest/coverage-v8":"^4.1.7","@types/better-sqlite3":"^7.6.13","@types/proper-lockfile":"^4.1.4","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@typescript-eslint/parser":"^8.61.0","@typescript-eslint/eslint-plugin":"^8.61.0"},"peerDependencies":{"ioredis":">=5","mongodb":">=6","better-sqlite3":">=9 || >=10 || >=11"},"peerDependenciesMeta":{"ioredis":{"optional":true},"mongodb":{"optional":true},"better-sqlite3":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/core_1.1.4_1780993293118_0.08123768296902578","host":"s3://npm-registry-packages-npm-production"}},"1.1.5":{"name":"@agent-diaries/core","version":"1.1.5","keywords":["ai-agent","agent-memory","deduplication","distributed-lock","redis","mongodb","serverless","idempotency","task-queue"],"author":{"name":"swapwarick_n"},"license":"MIT","_id":"@agent-diaries/core@1.1.5","maintainers":[{"name":"swapwarick_n","email":"swapwarick@icloud.com"}],"homepage":"https://github.com/swapwarick/agent-diaries-core#readme","bugs":{"url":"https://github.com/swapwarick/agent-diaries-core/issues"},"dist":{"shasum":"d13389afa6c1f4638c3ebd3b89e8bc1c29896544","tarball":"https://registry.npmjs.org/@agent-diaries/core/-/core-1.1.5.tgz","fileCount":30,"integrity":"sha512-QYp3hgRGpVFbB62uv3PI7QF5YiFNeUVeCRlaF2KE4R8HA4gkPSO4vyWOibsSHqcHEUxunj5mSS3RDhfFx4z5iA==","signatures":[{"sig":"MEUCIF05tAxwJVpIG1xInYmmlQFij923jHEK5hmbJyCZQCjqAiEAuV6RAQZlZsgLlaiD6btRAJZPY1cf5fMSzIYB8mCU1zQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71560},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"e66dc837efa9b80737c1cea62d46617ee588af22","scripts":{"lint":"eslint . --ext .ts","test":"vitest run","build":"tsc","format":"prettier --write .","test:coverage":"vitest run --coverage.reporter=lcov --coverage.reporter=text","prepublishOnly":"npm run build"},"_npmUser":{"name":"swapwarick_n","email":"swapwarick@icloud.com"},"repository":{"url":"git+https://github.com/swapwarick/agent-diaries-core.git","type":"git"},"_npmVersion":"10.9.0","description":"The lightweight, framework-agnostic memory layer for edge AI agents.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"proper-lockfile":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"dotenv":"^17.4.2","eslint":"^9.39.4","vitest":"^4.1.7","ioredis":"^5.10.1","mongodb":"^7.2.0","prettier":"^3.8.3","typescript":"^6.0.3","@types/node":"^25.9.1","typescript-eslint":"^8.61.0","@vitest/coverage-v8":"^4.1.7","@types/better-sqlite3":"^7.6.13","@types/proper-lockfile":"^4.1.4","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@typescript-eslint/parser":"^8.61.0","@typescript-eslint/eslint-plugin":"^8.61.0"},"peerDependencies":{"ioredis":">=5","mongodb":">=6","better-sqlite3":">=9 || >=10 || >=11"},"peerDependenciesMeta":{"ioredis":{"optional":true},"mongodb":{"optional":true},"better-sqlite3":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/core_1.1.5_1781070318778_0.20342836227345873","host":"s3://npm-registry-packages-npm-production"}},"1.1.6":{"name":"@agent-diaries/core","version":"1.1.6","keywords":["ai-agent","agent-memory","deduplication","distributed-lock","redis","mongodb","serverless","idempotency","task-queue"],"author":{"name":"swapwarick_n"},"license":"MIT","_id":"@agent-diaries/core@1.1.6","maintainers":[{"name":"swapwarick_n","email":"swapwarick@icloud.com"}],"homepage":"https://github.com/swapwarick/agent-diaries-core#readme","bugs":{"url":"https://github.com/swapwarick/agent-diaries-core/issues"},"dist":{"shasum":"7510098186c3dcbe1756def51ae0c65ad4191a04","tarball":"https://registry.npmjs.org/@agent-diaries/core/-/core-1.1.6.tgz","fileCount":30,"integrity":"sha512-vQpMGCST0eZuGzGL6oBBW6KzoPD8AFOJnUgR4D4y0G0nei2MNcEFTUa5lNzDL5mLoCOPoeD12wa+76QBQ3lE+Q==","signatures":[{"sig":"MEUCIQD3mblXe3fBnXMu0/xLcZWpOYEn5keksnrNErkbtK7DoQIgahh2NbCzIYt1uUiFRjRu475kLJVAtYznieej5qvvEHY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72027},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"50e2d36890395776bf75346a737ce2bc3ac26e0c","scripts":{"lint":"eslint . --ext .ts","test":"vitest run","build":"tsc","format":"prettier --write .","test:coverage":"vitest run --coverage.reporter=lcov --coverage.reporter=text","prepublishOnly":"npm run build"},"_npmUser":{"name":"swapwarick_n","email":"swapwarick@icloud.com"},"repository":{"url":"git+https://github.com/swapwarick/agent-diaries-core.git","type":"git"},"_npmVersion":"10.9.0","description":"The lightweight, framework-agnostic memory layer for edge AI agents.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"proper-lockfile":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"dotenv":"^17.4.2","eslint":"^9.39.4","vitest":"^4.1.7","ioredis":"^5.10.1","mongodb":"^7.2.0","prettier":"^3.8.3","typescript":"^6.0.3","@types/node":"^25.9.1","typescript-eslint":"^8.61.0","@vitest/coverage-v8":"^4.1.7","@types/better-sqlite3":"^7.6.13","@types/proper-lockfile":"^4.1.4","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@typescript-eslint/parser":"^8.61.0","@typescript-eslint/eslint-plugin":"^8.61.0"},"peerDependencies":{"ioredis":">=5","mongodb":">=6","better-sqlite3":">=9 || >=10 || >=11"},"peerDependenciesMeta":{"ioredis":{"optional":true},"mongodb":{"optional":true},"better-sqlite3":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/core_1.1.6_1781071580319_0.30040810356293934","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@agent-diaries/core","version":"1.2.0","keywords":["ai-agent","agent-memory","deduplication","distributed-lock","redis","mongodb","serverless","idempotency","task-queue"],"author":{"name":"swapwarick_n"},"license":"MIT","_id":"@agent-diaries/core@1.2.0","maintainers":[{"name":"swapwarick_n","email":"swapwarick@icloud.com"}],"homepage":"https://github.com/swapwarick/agent-diaries-core#readme","bugs":{"url":"https://github.com/swapwarick/agent-diaries-core/issues"},"dist":{"shasum":"85ce398418814b982afab44240ef8215a8995a19","tarball":"https://registry.npmjs.org/@agent-diaries/core/-/core-1.2.0.tgz","fileCount":30,"integrity":"sha512-LmXYo1u5jBMRlek3baiGjsvg8hqYRubJJpPfE4b9Sj1kGPuLY7NIU8J82T1EmHW+hC2NPTQ0Vt3sXgRK2Fvemw==","signatures":[{"sig":"MEYCIQCW3U67rCRSCoXtlTLeDXbWsXL57U3Py8C/zEmXSEN0DAIhAOsOJuAFfeHJZueIJpghSswMnm/nnKsTDTIPtAXumfJm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101718},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"50e2d36890395776bf75346a737ce2bc3ac26e0c","scripts":{"lint":"eslint . --ext .ts","test":"vitest run","build":"tsc","format":"prettier --write .","test:coverage":"vitest run --coverage.reporter=lcov --coverage.reporter=text","prepublishOnly":"npm run build"},"_npmUser":{"name":"swapwarick_n","email":"swapwarick@icloud.com"},"repository":{"url":"git+https://github.com/swapwarick/agent-diaries-core.git","type":"git"},"_npmVersion":"10.9.0","description":"The lightweight, framework-agnostic memory layer for edge AI agents.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"proper-lockfile":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.22.0","dotenv":"^17.4.2","eslint":"^9.39.4","vitest":"^4.1.7","ioredis":"^5.10.1","mongodb":"^7.2.0","prettier":"^3.8.3","@types/pg":"^8.20.0","typescript":"^6.0.3","@types/node":"^25.9.1","typescript-eslint":"^8.61.0","@vitest/coverage-v8":"^4.1.7","@types/better-sqlite3":"^7.6.13","@types/proper-lockfile":"^4.1.4","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@typescript-eslint/parser":"^8.61.0","@typescript-eslint/eslint-plugin":"^8.61.0"},"peerDependencies":{"pg":">=8","ioredis":">=5","mongodb":">=6","better-sqlite3":">=9 || >=10 || >=11"},"peerDependenciesMeta":{"pg":{"optional":true},"ioredis":{"optional":true},"mongodb":{"optional":true},"better-sqlite3":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/core_1.2.0_1782453663398_0.4575055192114761","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@agent-diaries/core","version":"1.3.0","keywords":["ai-agent","agent-memory","deduplication","distributed-lock","redis","mongodb","serverless","idempotency","task-queue"],"author":{"name":"swapwarick_n"},"license":"MIT","_id":"@agent-diaries/core@1.3.0","maintainers":[{"name":"swapwarick_n","email":"swapwarick@icloud.com"}],"homepage":"https://github.com/swapwarick/agent-diaries-core#readme","bugs":{"url":"https://github.com/swapwarick/agent-diaries-core/issues"},"dist":{"shasum":"0a9147eadd40bb90cd64f7e7956be350305f7ca8","tarball":"https://registry.npmjs.org/@agent-diaries/core/-/core-1.3.0.tgz","fileCount":30,"integrity":"sha512-hia6tK05WatmABQmWbzmQ8lEKhJjgtDDxtfUEW0EYKUQui0cFCz3vF1IdD0sTgaTXi6c3RQfi5xDSakD0BGS5A==","signatures":[{"sig":"MEYCIQCOfPRXheY1HA9/QDYRPXoLTNC4QUYGwVwy/wkWTcsrpQIhAP12osYINSNnjz11hCfTbRzw1G8haLXO0djkOlcH+SRu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":107306},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"735acdf780340034734bc65b82d4db3d18969746","scripts":{"lint":"eslint . --ext .ts","test":"vitest run","build":"tsc","format":"prettier --write .","test:coverage":"vitest run --coverage.reporter=lcov --coverage.reporter=text","prepublishOnly":"npm run build"},"_npmUser":{"name":"swapwarick_n","email":"swapwarick@icloud.com"},"repository":{"url":"git+https://github.com/swapwarick/agent-diaries-core.git","type":"git"},"_npmVersion":"10.9.0","description":"The lightweight, framework-agnostic memory layer for edge AI agents.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"proper-lockfile":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.22.0","dotenv":"^17.4.2","eslint":"^9.39.4","vitest":"^4.1.7","ioredis":"^5.10.1","mongodb":"^7.2.0","prettier":"^3.8.3","@types/pg":"^8.20.0","typescript":"^6.0.3","@types/node":"^25.9.1","typescript-eslint":"^8.61.0","@vitest/coverage-v8":"^4.1.7","@types/better-sqlite3":"^7.6.13","@types/proper-lockfile":"^4.1.4","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@typescript-eslint/parser":"^8.61.0","@typescript-eslint/eslint-plugin":"^8.61.0"},"peerDependencies":{"pg":">=8","ioredis":">=5","mongodb":">=6","better-sqlite3":">=9 || >=10 || >=11"},"peerDependenciesMeta":{"pg":{"optional":true},"ioredis":{"optional":true},"mongodb":{"optional":true},"better-sqlite3":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/core_1.3.0_1784267560634_0.9080713800381044","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@agent-diaries/core","version":"2.0.0","keywords":["ai-agent","agent-memory","workflow-orchestration","deduplication","distributed-lock","state-machine","redis","mongodb","serverless","idempotency","task-queue"],"author":{"name":"swapwarick_n"},"license":"MIT","_id":"@agent-diaries/core@2.0.0","maintainers":[{"name":"swapwarick_n","email":"swapwarick@icloud.com"}],"homepage":"https://github.com/swapwarick/agent-diaries-core#readme","bugs":{"url":"https://github.com/swapwarick/agent-diaries-core/issues"},"dist":{"shasum":"4b654b96aeca0ae92e62a0859338530f69c18bc5","tarball":"https://registry.npmjs.org/@agent-diaries/core/-/core-2.0.0.tgz","fileCount":77,"integrity":"sha512-c3394YjG/LFIviI1/JHFaPG87ixQ7NKykdhWlwfuKh8nlXqjiBCVEyjHec82mUdxZQ42y7oVUsuuOgvLerzgtw==","signatures":[{"sig":"MEYCIQDywM4UFNStx9TmMhfA9gD+IH1FwSGGU+eg7ZAe7dllPwIhAMEgmxedilL74RpAucWXVpUxKqsGWQGLYTD71feXswmM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":164179},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","require":"./dist/core/index.js"},"./diary":{"types":"./dist/diary.d.ts","import":"./dist/diary.js","require":"./dist/diary.js"},"./redis":{"types":"./dist/redis/index.d.ts","import":"./dist/redis/index.js","require":"./dist/redis/index.js"},"./memory":{"types":"./dist/memory/index.d.ts","import":"./dist/memory/index.js","require":"./dist/memory/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.js"},"./storage":{"types":"./dist/storage.d.ts","import":"./dist/storage.js","require":"./dist/storage.js"},"./postgres":{"types":"./dist/postgres/index.d.ts","import":"./dist/postgres/index.js","require":"./dist/postgres/index.js"},"./adapters/*":{"types":"./dist/adapters/*.d.ts","import":"./dist/adapters/*.js","require":"./dist/adapters/*.js"}},"scripts":{"lint":"eslint . --ext .ts","test":"vitest run","build":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\" && tsc","format":"prettier --write .","docs:generate":"typedoc","test:coverage":"vitest run --coverage.reporter=lcov --coverage.reporter=text","prepublishOnly":"npm run build"},"_npmUser":{"name":"swapwarick_n","email":"swapwarick@icloud.com"},"repository":{"url":"git+https://github.com/swapwarick/agent-diaries-core.git","type":"git"},"_npmVersion":"10.9.0","description":"The lightweight, framework-agnostic memory layer and workflow orchestration platform for edge AI agents.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"proper-lockfile":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.22.0","dotenv":"^17.4.2","eslint":"^9.39.4","vitest":"^4.1.7","ioredis":"^5.10.1","mongodb":"^7.2.0","typedoc":"^0.28.20","prettier":"^3.8.3","@types/pg":"^8.20.0","typescript":"^6.0.3","@types/node":"^25.9.1","better-sqlite3":"^12.11.1","typescript-eslint":"^8.61.0","@vitest/coverage-v8":"^4.1.7","@types/better-sqlite3":"^7.6.13","@types/proper-lockfile":"^4.1.4","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@typescript-eslint/parser":"^8.61.0","@typescript-eslint/eslint-plugin":"^8.61.0"},"peerDependencies":{"pg":">=8","ioredis":">=5","mongodb":">=6","better-sqlite3":">=9 || >=10 || >=11"},"peerDependenciesMeta":{"pg":{"optional":true},"ioredis":{"optional":true},"mongodb":{"optional":true},"better-sqlite3":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/core_2.0.0_1784369378294_0.7827177275348824","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@agent-diaries/core","version":"2.1.0","keywords":["ai-agent","agent-memory","workflow-orchestration","deduplication","distributed-lock","state-machine","redis","mongodb","serverless","idempotency","task-queue"],"author":{"name":"swapwarick_n"},"license":"MIT","_id":"@agent-diaries/core@2.1.0","maintainers":[{"name":"swapwarick_n","email":"swapwarick@icloud.com"}],"homepage":"https://github.com/swapwarick/agent-diaries-core#readme","bugs":{"url":"https://github.com/swapwarick/agent-diaries-core/issues"},"dist":{"shasum":"9aae0386e2b8c26163b11284d293778533e501b8","tarball":"https://registry.npmjs.org/@agent-diaries/core/-/core-2.1.0.tgz","fileCount":115,"integrity":"sha512-8AMXL6Z2p6vvl2t0aZc7eC47vyCTG3n658bCYM6j2Z3azq4rk8DF2O2cvrOPPtNWvTge3Mhhf0Lt9wcoTxTfCQ==","signatures":[{"sig":"MEQCIDzzyTgVsYW55tzEjk4qRcSwAZJjwLrVO7A782pwScXbAiBL18rHrAZm13tr6J91Pcs5tHBurAx6bhjxLLqu42EcwA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":334350},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","require":"./dist/core/index.js"},"./diary":{"types":"./dist/diary.d.ts","import":"./dist/diary.js","require":"./dist/diary.js"},"./redis":{"types":"./dist/redis/index.d.ts","import":"./dist/redis/index.js","require":"./dist/redis/index.js"},"./tools":{"types":"./dist/tools/index.d.ts","import":"./dist/tools/index.js","require":"./dist/tools/index.js"},"./agents":{"types":"./dist/agents/index.d.ts","import":"./dist/agents/index.js","require":"./dist/agents/index.js"},"./memory":{"types":"./dist/memory/index.d.ts","import":"./dist/memory/index.js","require":"./dist/memory/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.js"},"./runtime":{"types":"./dist/runtime/index.d.ts","import":"./dist/runtime/index.js","require":"./dist/runtime/index.js"},"./storage":{"types":"./dist/storage.d.ts","import":"./dist/storage.js","require":"./dist/storage.js"},"./postgres":{"types":"./dist/postgres/index.d.ts","import":"./dist/postgres/index.js","require":"./dist/postgres/index.js"},"./adapters/*":{"types":"./dist/adapters/*.d.ts","import":"./dist/adapters/*.js","require":"./dist/adapters/*.js"},"./runtime/distributed":{"types":"./dist/runtime/distributed/contracts.d.ts","import":"./dist/runtime/distributed/contracts.js","require":"./dist/runtime/distributed/contracts.js"}},"gitHead":"9595c2e998ed6c17302490141c9fb224652c06d8","scripts":{"lint":"eslint . --ext .ts","test":"vitest run","build":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\" && tsc","format":"prettier --write .","docs:generate":"typedoc","test:coverage":"vitest run --coverage.reporter=lcov --coverage.reporter=text","prepublishOnly":"npm run build"},"_npmUser":{"name":"swapwarick_n","email":"swapwarick@icloud.com"},"repository":{"url":"git+https://github.com/swapwarick/agent-diaries-core.git","type":"git"},"_npmVersion":"10.9.0","description":"The lightweight, framework-agnostic memory layer and workflow orchestration platform for edge AI agents.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"proper-lockfile":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.22.0","dotenv":"^17.4.2","eslint":"^9.39.4","vitest":"^4.1.7","ioredis":"^5.10.1","mongodb":"^7.2.0","typedoc":"^0.28.20","prettier":"^3.8.3","@types/pg":"^8.20.0","typescript":"^6.0.3","@types/node":"^25.9.1","better-sqlite3":"^12.11.1","typescript-eslint":"^8.61.0","@vitest/coverage-v8":"^4.1.7","@types/better-sqlite3":"^7.6.13","@types/proper-lockfile":"^4.1.4","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@typescript-eslint/parser":"^8.61.0","@typescript-eslint/eslint-plugin":"^8.61.0"},"peerDependencies":{"pg":">=8","ioredis":">=5","mongodb":">=6","better-sqlite3":">=9 || >=10 || >=11"},"peerDependenciesMeta":{"pg":{"optional":true},"ioredis":{"optional":true},"mongodb":{"optional":true},"better-sqlite3":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/core_2.1.0_1785224724220_0.8490302755201684","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"@agent-diaries/core","version":"2.1.1","keywords":["ai-agent","agent-memory","workflow-orchestration","deduplication","distributed-lock","state-machine","redis","mongodb","serverless","idempotency","task-queue"],"author":{"name":"swapwarick_n"},"license":"MIT","_id":"@agent-diaries/core@2.1.1","maintainers":[{"name":"swapwarick_n","email":"swapwarick@icloud.com"}],"homepage":"https://github.com/swapwarick/agent-diaries-core#readme","bugs":{"url":"https://github.com/swapwarick/agent-diaries-core/issues"},"dist":{"shasum":"b300476c2808a6f60f1d0bcf7f22f3e23dd10e9e","tarball":"https://registry.npmjs.org/@agent-diaries/core/-/core-2.1.1.tgz","fileCount":115,"integrity":"sha512-VVEnGe8hOLa1Qcp2p+ggTS7adO6Mik9r9keH4BJC7Cezw8qYLQYMxo4SmqQTUzrKiLtyuOHcUGzyYViTkF4EpA==","signatures":[{"sig":"MEUCIQDHltx9ae96wzfgJXNo38GfomMwefyCFJYDb938vwMykgIgOdfdxdyyr6nhuyrNzBMROLCIFKYpOrHTvmNrTyDC9KI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":337957},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","require":"./dist/core/index.js"},"./diary":{"types":"./dist/diary.d.ts","import":"./dist/diary.js","require":"./dist/diary.js"},"./redis":{"types":"./dist/redis/index.d.ts","import":"./dist/redis/index.js","require":"./dist/redis/index.js"},"./tools":{"types":"./dist/tools/index.d.ts","import":"./dist/tools/index.js","require":"./dist/tools/index.js"},"./agents":{"types":"./dist/agents/index.d.ts","import":"./dist/agents/index.js","require":"./dist/agents/index.js"},"./memory":{"types":"./dist/memory/index.d.ts","import":"./dist/memory/index.js","require":"./dist/memory/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.js"},"./runtime":{"types":"./dist/runtime/index.d.ts","import":"./dist/runtime/index.js","require":"./dist/runtime/index.js"},"./storage":{"types":"./dist/storage.d.ts","import":"./dist/storage.js","require":"./dist/storage.js"},"./postgres":{"types":"./dist/postgres/index.d.ts","import":"./dist/postgres/index.js","require":"./dist/postgres/index.js"},"./adapters/*":{"types":"./dist/adapters/*.d.ts","import":"./dist/adapters/*.js","require":"./dist/adapters/*.js"},"./runtime/distributed":{"types":"./dist/runtime/distributed/contracts.d.ts","import":"./dist/runtime/distributed/contracts.js","require":"./dist/runtime/distributed/contracts.js"}},"gitHead":"a44d35d11de7082b33333beb64db0c1f9e282d08","scripts":{"lint":"eslint . --ext .ts","test":"vitest run","build":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\" && tsc","format":"prettier --write .","docs:generate":"typedoc","test:coverage":"vitest run --coverage.reporter=lcov --coverage.reporter=text","prepublishOnly":"npm run build"},"_npmUser":{"name":"swapwarick_n","email":"swapwarick@icloud.com"},"repository":{"url":"git+https://github.com/swapwarick/agent-diaries-core.git","type":"git"},"_npmVersion":"10.9.0","description":"The lightweight, framework-agnostic memory layer and workflow orchestration platform for edge AI agents.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"proper-lockfile":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.22.0","dotenv":"^17.4.2","eslint":"^9.39.4","vitest":"^4.1.7","ioredis":"^5.10.1","mongodb":"^7.2.0","typedoc":"^0.28.20","prettier":"^3.8.3","@types/pg":"^8.20.0","typescript":"^6.0.3","@types/node":"^25.9.1","better-sqlite3":"^12.11.1","typescript-eslint":"^8.61.0","@vitest/coverage-v8":"^4.1.7","@types/better-sqlite3":"^7.6.13","@types/proper-lockfile":"^4.1.4","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@typescript-eslint/parser":"^8.61.0","@typescript-eslint/eslint-plugin":"^8.61.0"},"peerDependencies":{"pg":">=8","ioredis":">=5","mongodb":">=6","better-sqlite3":">=9 || >=10 || >=11"},"peerDependenciesMeta":{"pg":{"optional":true},"ioredis":{"optional":true},"mongodb":{"optional":true},"better-sqlite3":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/core_2.1.1_1785759257951_0.1876386311601541","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"@agent-diaries/core","version":"2.2.0","keywords":["ai-agent","agent-memory","workflow-orchestration","deduplication","distributed-lock","state-machine","redis","mongodb","serverless","idempotency","task-queue"],"author":{"name":"swapwarick_n"},"license":"MIT","_id":"@agent-diaries/core@2.2.0","maintainers":[{"name":"swapwarick_n","email":"swapwarick@icloud.com"}],"homepage":"https://github.com/swapwarick/agent-diaries-core#readme","bugs":{"url":"https://github.com/swapwarick/agent-diaries-core/issues"},"dist":{"shasum":"69ebd0e9ede569810ca70b75f121f506c1e0d6d6","tarball":"https://registry.npmjs.org/@agent-diaries/core/-/core-2.2.0.tgz","fileCount":115,"integrity":"sha512-N+op6gA6AoKa5rgeAy/cNLxONkn/dAF6fBUxoYEd+4V0+PQ4GWD5M307MY4IvOnAJBzg5IQFUY4YJPTTBq1AwA==","signatures":[{"sig":"MEYCIQDJtN1wqt6ZNfTVZbL8wLpSdluKb+O3LbpgaVgIYkyrzQIhAN+RTnhG3k1wZHChD7pbLqd9uvHOgjrfhuz51NsY9cOy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":325626},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","require":"./dist/core/index.js"},"./diary":{"types":"./dist/diary.d.ts","import":"./dist/diary.js","require":"./dist/diary.js"},"./redis":{"types":"./dist/redis/index.d.ts","import":"./dist/redis/index.js","require":"./dist/redis/index.js"},"./tools":{"types":"./dist/tools/index.d.ts","import":"./dist/tools/index.js","require":"./dist/tools/index.js"},"./agents":{"types":"./dist/agents/index.d.ts","import":"./dist/agents/index.js","require":"./dist/agents/index.js"},"./memory":{"types":"./dist/memory/index.d.ts","import":"./dist/memory/index.js","require":"./dist/memory/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.js"},"./runtime":{"types":"./dist/runtime/index.d.ts","import":"./dist/runtime/index.js","require":"./dist/runtime/index.js"},"./storage":{"types":"./dist/storage.d.ts","import":"./dist/storage.js","require":"./dist/storage.js"},"./postgres":{"types":"./dist/postgres/index.d.ts","import":"./dist/postgres/index.js","require":"./dist/postgres/index.js"},"./adapters/*":{"types":"./dist/adapters/*.d.ts","import":"./dist/adapters/*.js","require":"./dist/adapters/*.js"},"./runtime/distributed":{"types":"./dist/runtime/distributed/contracts.d.ts","import":"./dist/runtime/distributed/contracts.js","require":"./dist/runtime/distributed/contracts.js"}},"gitHead":"6a20d478de7bed0efaa6a1c2fc0a500c1a38871d","scripts":{"lint":"eslint . --ext .ts","test":"vitest run","build":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\" && tsc","format":"prettier --write .","docs:generate":"typedoc","test:coverage":"vitest run --coverage.reporter=lcov --coverage.reporter=text","prepublishOnly":"npm run build"},"_npmUser":{"name":"swapwarick_n","email":"swapwarick@icloud.com"},"repository":{"url":"git+https://github.com/swapwarick/agent-diaries-core.git","type":"git"},"_npmVersion":"10.9.0","description":"Stop your AI agents from doing the same work twice. Exactly-once execution, deduplication, and distributed coordination for multi-agent systems.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"proper-lockfile":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.22.0","dotenv":"^17.4.2","eslint":"^9.39.4","vitest":"^4.1.7","ioredis":"^5.10.1","mongodb":"^7.2.0","typedoc":"^0.28.20","prettier":"^3.8.3","@types/pg":"^8.20.0","typescript":"^6.0.3","@types/node":"^25.9.1","better-sqlite3":"^12.11.1","typescript-eslint":"^8.61.0","@vitest/coverage-v8":"^4.1.7","@types/better-sqlite3":"^7.6.13","@types/proper-lockfile":"^4.1.4","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@typescript-eslint/parser":"^8.61.0","@typescript-eslint/eslint-plugin":"^8.61.0"},"peerDependencies":{"pg":">=8","ioredis":">=5","mongodb":">=6","better-sqlite3":">=9 || >=10 || >=11"},"peerDependenciesMeta":{"pg":{"optional":true},"ioredis":{"optional":true},"mongodb":{"optional":true},"better-sqlite3":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/core_2.2.0_1785760311890_0.6065378542635373","host":"s3://npm-registry-packages-npm-production"}},"2.2.1":{"name":"@agent-diaries/core","version":"2.2.1","keywords":["ai-agent","agent-memory","workflow-orchestration","deduplication","distributed-lock","state-machine","redis","mongodb","serverless","idempotency","task-queue"],"author":{"name":"swapwarick_n"},"license":"MIT","_id":"@agent-diaries/core@2.2.1","maintainers":[{"name":"swapwarick_n","email":"swapwarick@icloud.com"}],"homepage":"https://github.com/swapwarick/agent-diaries-core#readme","bugs":{"url":"https://github.com/swapwarick/agent-diaries-core/issues"},"dist":{"shasum":"c837a3a6e1886d8a8ab165043bd13737dc9ec133","tarball":"https://registry.npmjs.org/@agent-diaries/core/-/core-2.2.1.tgz","fileCount":115,"integrity":"sha512-BYS9+9LBx6zGrzdlGmx9dtPgtkIeZbbBy12dalLNXJeIJ8SbsKh+bqKkKSqxgam2VvnYkZ4oVpITR7rZVJ1EvQ==","signatures":[{"sig":"MEYCIQDQ185zh/Bj0ok+/2T+Osyi5HdTNOS/YUFe1bJYohmongIhAP7JvDpFzh1oR04iUDhN/X4hIW47cnkcDn4Lkl3i7LAp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":325514},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","require":"./dist/core/index.js"},"./diary":{"types":"./dist/diary.d.ts","import":"./dist/diary.js","require":"./dist/diary.js"},"./redis":{"types":"./dist/redis/index.d.ts","import":"./dist/redis/index.js","require":"./dist/redis/index.js"},"./tools":{"types":"./dist/tools/index.d.ts","import":"./dist/tools/index.js","require":"./dist/tools/index.js"},"./agents":{"types":"./dist/agents/index.d.ts","import":"./dist/agents/index.js","require":"./dist/agents/index.js"},"./memory":{"types":"./dist/memory/index.d.ts","import":"./dist/memory/index.js","require":"./dist/memory/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.js"},"./runtime":{"types":"./dist/runtime/index.d.ts","import":"./dist/runtime/index.js","require":"./dist/runtime/index.js"},"./storage":{"types":"./dist/storage.d.ts","import":"./dist/storage.js","require":"./dist/storage.js"},"./postgres":{"types":"./dist/postgres/index.d.ts","import":"./dist/postgres/index.js","require":"./dist/postgres/index.js"},"./adapters/*":{"types":"./dist/adapters/*.d.ts","import":"./dist/adapters/*.js","require":"./dist/adapters/*.js"},"./runtime/distributed":{"types":"./dist/runtime/distributed/contracts.d.ts","import":"./dist/runtime/distributed/contracts.js","require":"./dist/runtime/distributed/contracts.js"}},"gitHead":"72ba737ba9d5c5d559c58f7fefdf65af69c8dfb6","scripts":{"lint":"eslint . --ext .ts","test":"vitest run","build":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\" && tsc","format":"prettier --write .","docs:generate":"typedoc","test:coverage":"vitest run --coverage.reporter=lcov --coverage.reporter=text","prepublishOnly":"npm run build"},"_npmUser":{"name":"swapwarick_n","email":"swapwarick@icloud.com"},"repository":{"url":"git+https://github.com/swapwarick/agent-diaries-core.git","type":"git"},"_npmVersion":"10.9.0","description":"Stop your AI agents from doing the same work twice. Exactly-once execution, deduplication, and distributed coordination for multi-agent systems.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"proper-lockfile":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.22.0","dotenv":"^17.4.2","eslint":"^9.39.4","vitest":"^4.1.7","ioredis":"^5.10.1","mongodb":"^7.2.0","postcss":"^8.5.25","typedoc":"^0.28.20","prettier":"^3.8.3","@types/pg":"^8.20.0","typescript":"^6.0.3","@types/node":"^25.9.1","better-sqlite3":"^12.11.1","typescript-eslint":"^8.61.0","@vitest/coverage-v8":"^4.1.7","@types/better-sqlite3":"^7.6.13","@types/proper-lockfile":"^4.1.4","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@typescript-eslint/parser":"^8.61.0","@typescript-eslint/eslint-plugin":"^8.61.0"},"peerDependencies":{"pg":">=8","ioredis":">=5","mongodb":">=6","better-sqlite3":">=9 || >=10 || >=11"},"peerDependenciesMeta":{"pg":{"optional":true},"ioredis":{"optional":true},"mongodb":{"optional":true},"better-sqlite3":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/core_2.2.1_1785848160473_0.8016153434716604","host":"s3://npm-registry-packages-npm-production"}},"2.2.2":{"name":"@agent-diaries/core","version":"2.2.2","keywords":["ai-agent","agent-memory","workflow-orchestration","deduplication","distributed-lock","state-machine","redis","mongodb","serverless","idempotency","task-queue"],"author":{"name":"swapwarick_n"},"license":"MIT","_id":"@agent-diaries/core@2.2.2","maintainers":[{"name":"swapwarick_n","email":"swapwarick@icloud.com"}],"homepage":"https://github.com/swapwarick/agent-diaries-core#readme","bugs":{"url":"https://github.com/swapwarick/agent-diaries-core/issues"},"dist":{"shasum":"d97d0afbd9eddaeeb0ca9010e4744d4b97b3c113","tarball":"https://registry.npmjs.org/@agent-diaries/core/-/core-2.2.2.tgz","fileCount":115,"integrity":"sha512-deo25YlRNXib05+sc5ATmHXQxYlmLc4duGYevtvu+POUhwWfFvwVNGf68DSEoz/o+tGDHPY2JCcjQ+mYpRm2eg==","signatures":[{"sig":"MEUCIQCMdbgm+Btt818M7yw0N5rSawdN9qbb78CiKSVFK3L9LgIgVQffyXX7vvr0Mycy49a2M3Ljyh90abI5AtQZ9NnnY50=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":325566},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","require":"./dist/core/index.js"},"./diary":{"types":"./dist/diary.d.ts","import":"./dist/diary.js","require":"./dist/diary.js"},"./redis":{"types":"./dist/redis/index.d.ts","import":"./dist/redis/index.js","require":"./dist/redis/index.js"},"./tools":{"types":"./dist/tools/index.d.ts","import":"./dist/tools/index.js","require":"./dist/tools/index.js"},"./agents":{"types":"./dist/agents/index.d.ts","import":"./dist/agents/index.js","require":"./dist/agents/index.js"},"./memory":{"types":"./dist/memory/index.d.ts","import":"./dist/memory/index.js","require":"./dist/memory/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.js"},"./runtime":{"types":"./dist/runtime/index.d.ts","import":"./dist/runtime/index.js","require":"./dist/runtime/index.js"},"./storage":{"types":"./dist/storage.d.ts","import":"./dist/storage.js","require":"./dist/storage.js"},"./postgres":{"types":"./dist/postgres/index.d.ts","import":"./dist/postgres/index.js","require":"./dist/postgres/index.js"},"./adapters/*":{"types":"./dist/adapters/*.d.ts","import":"./dist/adapters/*.js","require":"./dist/adapters/*.js"},"./runtime/distributed":{"types":"./dist/runtime/distributed/contracts.d.ts","import":"./dist/runtime/distributed/contracts.js","require":"./dist/runtime/distributed/contracts.js"}},"gitHead":"2bfec13f2bc5b3f66bb11372768bd7d6d32be8eb","scripts":{"lint":"eslint . --ext .ts","test":"vitest run","build":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\" && tsc","format":"prettier --write .","docs:generate":"typedoc","test:coverage":"vitest run --coverage.reporter=lcov --coverage.reporter=text","prepublishOnly":"npm run build"},"_npmUser":{"name":"swapwarick_n","email":"swapwarick@icloud.com"},"repository":{"url":"git+https://github.com/swapwarick/agent-diaries-core.git","type":"git"},"_npmVersion":"10.9.0","description":"Stop your AI agents from doing the same work twice. Exactly-once execution, deduplication, and distributed coordination for multi-agent systems.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"proper-lockfile":"^4.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.22.0","dotenv":"^17.4.2","eslint":"^9.39.4","vitest":"^4.1.7","ioredis":"^5.10.1","mongodb":"^7.2.0","postcss":"^8.5.25","typedoc":"^0.28.20","prettier":"^3.8.3","@types/pg":"^8.20.0","typescript":"^6.0.3","@types/node":"^25.9.1","better-sqlite3":"^12.11.1","typescript-eslint":"^8.61.0","@vitest/coverage-v8":"^4.1.7","@types/better-sqlite3":"^7.6.13","@types/proper-lockfile":"^4.1.4","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@typescript-eslint/parser":"^8.61.0","@typescript-eslint/eslint-plugin":"^8.61.0"},"peerDependencies":{"pg":">=8","ioredis":">=5","mongodb":">=6","better-sqlite3":">=9 || >=10 || >=11"},"peerDependenciesMeta":{"pg":{"optional":true},"ioredis":{"optional":true},"mongodb":{"optional":true},"better-sqlite3":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/core_2.2.2_1785849011599_0.41031548971910925","host":"s3://npm-registry-packages-npm-production"}},"2.2.3":{"name":"@agent-diaries/core","version":"2.2.3","keywords":["ai-agent","agent-memory","workflow-orchestration","deduplication","distributed-lock","state-machine","redis","mongodb","serverless","idempotency","task-queue"],"author":{"name":"swapwarick_n"},"license":"MIT","_id":"@agent-diaries/core@2.2.3","maintainers":[{"name":"swapwarick_n","email":"swapwarick@icloud.com"}],"homepage":"https://github.com/swapwarick/agent-diaries-core#readme","bugs":{"url":"https://github.com/swapwarick/agent-diaries-core/issues"},"dist":{"shasum":"95df5722b88b5ada58d0498d06017b0a6c8b1914","tarball":"https://registry.npmjs.org/@agent-diaries/core/-/core-2.2.3.tgz","fileCount":115,"integrity":"sha512-gKYoH0QvkFheX8f8q8rCYJ5vXHnXRjlCmcoTv9gTnfTRu2++lcouxDlr6MQxrMMZvAwrm4xp5Qx61sp1IXYUcA==","signatures":[{"sig":"MEUCIQDp/bcvrQlNSkxvzKGSYgTirWdYRSfpZf57YCxOmFnMAgIga6rJOpBg/jj9HU7qbub0F4jTLAafE75JV+QuIzmDRVY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":325405},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","require":"./dist/core/index.js"},"./diary":{"types":"./dist/diary.d.ts","import":"./dist/diary.js","require":"./dist/diary.js"},"./redis":{"types":"./dist/redis/index.d.ts","import":"./dist/redis/index.js","require":"./dist/redis/index.js"},"./tools":{"types":"./dist/tools/index.d.ts","import":"./dist/tools/index.js","require":"./dist/tools/index.js"},"./agents":{"types":"./dist/agents/index.d.ts","import":"./dist/agents/index.js","require":"./dist/agents/index.js"},"./memory":{"types":"./dist/memory/index.d.ts","import":"./dist/memory/index.js","require":"./dist/memory/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.js"},"./runtime":{"types":"./dist/runtime/index.d.ts","import":"./dist/runtime/index.js","require":"./dist/runtime/index.js"},"./storage":{"types":"./dist/storage.d.ts","import":"./dist/storage.js","require":"./dist/storage.js"},"./postgres":{"types":"./dist/postgres/index.d.ts","import":"./dist/postgres/index.js","require":"./dist/postgres/index.js"},"./adapters/*":{"types":"./dist/adapters/*.d.ts","import":"./dist/adapters/*.js","require":"./dist/adapters/*.js"},"./runtime/distributed":{"types":"./dist/runtime/distributed/contracts.d.ts","import":"./dist/runtime/distributed/contracts.js","require":"./dist/runtime/distributed/contracts.js"}},"gitHead":"3c9ce2412fd2c6ba43292c9d6591cf7c63fcd0b7","scripts":{"lint":"eslint . --ext .ts","test":"vitest run","build":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\" && tsc","format":"prettier --write .","docs:generate":"typedoc","test:coverage":"vitest run --coverage.reporter=lcov --coverage.reporter=text","prepublishOnly":"npm run build"},"_npmUser":{"name":"swapwarick_n","email":"swapwarick@icloud.com"},"repository":{"url":"git+https://github.com/swapwarick/agent-diaries-core.git","type":"git"},"_npmVersion":"10.9.8","description":"Stop your AI agents from doing the same work twice. Exactly-once execution, deduplication, and distributed coordination for multi-agent systems.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"proper-lockfile":"^4.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.22.0","dotenv":"^17.4.2","eslint":"^9.39.4","vitest":"^4.1.7","ioredis":"^5.10.1","mongodb":"^7.2.0","postcss":"^8.5.25","typedoc":"^0.28.20","prettier":"^3.8.3","@types/pg":"^8.20.0","typescript":"^6.0.3","@types/node":"^25.9.1","better-sqlite3":"^12.11.1","typescript-eslint":"^8.61.0","@vitest/coverage-v8":"^4.1.7","@types/better-sqlite3":"^7.6.13","@types/proper-lockfile":"^4.1.4","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@typescript-eslint/parser":"^8.61.0","@typescript-eslint/eslint-plugin":"^8.61.0"},"peerDependencies":{"pg":">=8","ioredis":">=5","mongodb":">=6","better-sqlite3":">=9 || >=10 || >=11"},"peerDependenciesMeta":{"pg":{"optional":true},"ioredis":{"optional":true},"mongodb":{"optional":true},"better-sqlite3":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/core_2.2.3_1786025454692_0.4392211474586529","host":"s3://npm-registry-packages-npm-production"}},"2.2.5":{"name":"@agent-diaries/core","version":"2.2.5","keywords":["ai-agent","agent-memory","workflow-orchestration","deduplication","distributed-lock","state-machine","redis","mongodb","serverless","idempotency","task-queue"],"author":{"name":"swapwarick_n"},"license":"MIT","_id":"@agent-diaries/core@2.2.5","maintainers":[{"name":"swapwarick_n","email":"swapwarick@icloud.com"}],"homepage":"https://github.com/swapwarick/agent-diaries-core#readme","bugs":{"url":"https://github.com/swapwarick/agent-diaries-core/issues"},"dist":{"shasum":"3129bbcf7b59f6fa23896569cd88dcb1879e2248","tarball":"https://registry.npmjs.org/@agent-diaries/core/-/core-2.2.5.tgz","fileCount":115,"integrity":"sha512-loZO812LFAHCwqdU5e/GHIOZEokAgo9tXUWQ+ln/3rCIEILbSeZnDQnCzGN7MMU5u99bIC13YObgeVmP4yJ8pQ==","signatures":[{"sig":"MEQCIAc2+NvB/FwxW3n0o4IfcYc54n+iiwat2Paf7nZTVUvEAiB201QFWXjVsDebRioiKCYxEgP+RhCNdV4fEHhAZcGO5w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":325593},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","require":"./dist/core/index.js"},"./diary":{"types":"./dist/diary.d.ts","import":"./dist/diary.js","require":"./dist/diary.js"},"./redis":{"types":"./dist/redis/index.d.ts","import":"./dist/redis/index.js","require":"./dist/redis/index.js"},"./tools":{"types":"./dist/tools/index.d.ts","import":"./dist/tools/index.js","require":"./dist/tools/index.js"},"./agents":{"types":"./dist/agents/index.d.ts","import":"./dist/agents/index.js","require":"./dist/agents/index.js"},"./memory":{"types":"./dist/memory/index.d.ts","import":"./dist/memory/index.js","require":"./dist/memory/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.js","require":"./dist/shared/index.js"},"./runtime":{"types":"./dist/runtime/index.d.ts","import":"./dist/runtime/index.js","require":"./dist/runtime/index.js"},"./storage":{"types":"./dist/storage.d.ts","import":"./dist/storage.js","require":"./dist/storage.js"},"./postgres":{"types":"./dist/postgres/index.d.ts","import":"./dist/postgres/index.js","require":"./dist/postgres/index.js"},"./adapters/*":{"types":"./dist/adapters/*.d.ts","import":"./dist/adapters/*.js","require":"./dist/adapters/*.js"},"./runtime/distributed":{"types":"./dist/runtime/distributed/contracts.d.ts","import":"./dist/runtime/distributed/contracts.js","require":"./dist/runtime/distributed/contracts.js"}},"gitHead":"62d878571a48660a92f1b85ce7b7000e160a7cdf","scripts":{"lint":"eslint . --ext .ts","test":"vitest run","build":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\" && tsc","format":"prettier --write .","docs:generate":"typedoc","release:major":"node scripts/release.mjs major","release:minor":"node scripts/release.mjs minor","release:patch":"node scripts/release.mjs patch","test:coverage":"vitest run --coverage.reporter=lcov --coverage.reporter=text","prepublishOnly":"npm run build"},"_npmUser":{"name":"swapwarick_n","email":"swapwarick@icloud.com"},"repository":{"url":"git+https://github.com/swapwarick/agent-diaries-core.git","type":"git"},"_npmVersion":"10.9.0","description":"Stop your AI agents from doing the same work twice. Exactly-once execution, deduplication, and distributed coordination for multi-agent systems.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"proper-lockfile":"^4.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.22.0","tsx":"^4.23.9","dotenv":"^17.4.2","eslint":"^9.39.4","vitest":"^4.1.7","ioredis":"^5.10.1","mongodb":"^7.2.0","postcss":"^8.5.25","typedoc":"^0.28.20","prettier":"^3.8.3","@types/pg":"^8.20.0","typescript":"^6.0.3","@types/node":"^25.9.1","better-sqlite3":"^12.11.1","typescript-eslint":"^8.61.0","@vitest/coverage-v8":"^4.1.7","@types/better-sqlite3":"^7.6.13","@types/proper-lockfile":"^4.1.4","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@typescript-eslint/parser":"^8.61.0","@typescript-eslint/eslint-plugin":"^8.61.0"},"peerDependencies":{"pg":">=8","ioredis":">=5","mongodb":">=6","better-sqlite3":">=9 || >=10 || >=11"},"peerDependenciesMeta":{"pg":{"optional":true},"ioredis":{"optional":true},"mongodb":{"optional":true},"better-sqlite3":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/core_2.2.5_1786094143186_0.4800336757709862","host":"s3://npm-registry-packages-npm-production"}},"2.2.6":{"_id":"@agent-diaries/core@2.2.6","bugs":{"url":"https://github.com/swapwarick/agent-diaries-core/issues"},"dist":{"shasum":"b2bd122f992ab4aec2abf1a6a96103e2beb4538e","tarball":"https://registry.npmjs.org/@agent-diaries/core/-/core-2.2.6.tgz","fileCount":357,"integrity":"sha512-G5TsWuW0v4GlTgEPGgHtfwVr+2/+yfn6xVw4tEDJz3aeJJkYe9TiiuHBFAex5B0jG8zLw6diTC4ovYU6Rrvz9A==","signatures":[{"sig":"MEUCIBMMUitYc7YwCCRL0x2Jjb48N3NbdcvZRr3MZNxHcnCcAiEApNr5A6Slg3X3gARbIeQWRhbn+WarKcrxnDA5g8dCfUA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD7zbW3MtWmESSELNV3ZSZQfxMtTQlDmIbP/jwWj5gcBgIhAMWN7cwSTcaHHO8+R+ZBdWb0I6uMioGMAvhXo4XOogQp"}],"unpackedSize":3424286},"main":"dist/index.js","name":"@agent-diaries/core","types":"dist/index.d.ts","author":{"name":"swapwarick_n"},"module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.mjs","require":"./dist/core/index.js"},"./diary":{"types":"./dist/diary.d.ts","import":"./dist/diary.mjs","require":"./dist/diary.js"},"./redis":{"types":"./dist/redis/index.d.ts","import":"./dist/redis/index.mjs","require":"./dist/redis/index.js"},"./tools":{"types":"./dist/tools/index.d.ts","import":"./dist/tools/index.mjs","require":"./dist/tools/index.js"},"./agents":{"types":"./dist/agents/index.d.ts","import":"./dist/agents/index.mjs","require":"./dist/agents/index.js"},"./memory":{"types":"./dist/memory/index.d.ts","import":"./dist/memory/index.mjs","require":"./dist/memory/index.js"},"./shared":{"types":"./dist/shared/index.d.ts","import":"./dist/shared/index.mjs","require":"./dist/shared/index.js"},"./runtime":{"types":"./dist/runtime/index.d.ts","import":"./dist/runtime/index.mjs","require":"./dist/runtime/index.js"},"./storage":{"types":"./dist/storage.d.ts","import":"./dist/storage.mjs","require":"./dist/storage.js"},"./postgres":{"types":"./dist/postgres/index.d.ts","import":"./dist/postgres/index.mjs","require":"./dist/postgres/index.js"},"./adapters/*":{"types":"./dist/adapters/*.d.ts","import":"./dist/adapters/*.mjs","require":"./dist/adapters/*.js"},"./runtime/distributed":{"types":"./dist/runtime/distributed/contracts.d.ts","import":"./dist/runtime/distributed/contracts.mjs","require":"./dist/runtime/distributed/contracts.js"}},"gitHead":"7c2226e6d04c7ff14c6572de99bcfbc7e1dc5bc5","license":"MIT","scripts":{"lint":"eslint . --ext .ts","test":"vitest run","build":"tsup","format":"prettier --write .","prepare":"npm run build","docs:generate":"typedoc","release:major":"node scripts/release.mjs major","release:minor":"node scripts/release.mjs minor","release:patch":"node scripts/release.mjs patch","test:coverage":"vitest run --coverage.reporter=lcov --coverage.reporter=text","prepublishOnly":"npm run build"},"version":"2.2.6","_npmUser":{"name":"swapwarick_n","email":"swapwarick@icloud.com"},"homepage":"https://github.com/swapwarick/agent-diaries-core#readme","keywords":["ai-agent","agent-memory","workflow-orchestration","deduplication","distributed-lock","state-machine","redis","mongodb","serverless","idempotency","task-queue"],"repository":{"url":"git+https://github.com/swapwarick/agent-diaries-core.git","type":"git"},"_npmVersion":"10.9.0","description":"Stop your AI agents from doing the same work twice. Exactly-once execution, deduplication, and distributed coordination for multi-agent systems.","directories":{},"maintainers":[{"name":"swapwarick_n","email":"swapwarick@icloud.com"}],"_nodeVersion":"22.12.0","dependencies":{"lru-cache":"^10.2.0","prom-client":"^15.1.0","msgpack-lite":"^0.1.26","proper-lockfile":"^4.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"pg":"^8.22.0","tsx":"^4.23.9","tsup":"^8.5.1","dotenv":"^17.4.2","eslint":"^9.39.4","vitest":"^4.1.7","ioredis":"^5.10.1","mongodb":"^7.2.0","postcss":"^8.5.25","typedoc":"^0.28.20","prettier":"^3.8.3","@types/pg":"^8.20.0","typescript":"^6.0.3","@types/node":"^25.9.1","better-sqlite3":"^12.11.1","typescript-eslint":"^8.61.0","@vitest/coverage-v8":"^4.1.7","@types/better-sqlite3":"^7.6.13","@types/proper-lockfile":"^4.1.4","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@typescript-eslint/parser":"^8.61.0","@typescript-eslint/eslint-plugin":"^8.61.0"},"peerDependencies":{"pg":">=8","ioredis":">=5","mongodb":">=6","better-sqlite3":">=9 || >=10 || >=11"},"peerDependenciesMeta":{"pg":{"optional":true},"ioredis":{"optional":true},"mongodb":{"optional":true},"better-sqlite3":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/core_2.2.6_1787555452479_0.9619312581623636"}}},"time":{"created":"2026-04-28T04:46:20.015Z","modified":"2026-08-24T07:10:52.959Z","0.1.0":"2026-04-28T04:46:20.339Z","0.1.1":"2026-04-28T04:49:02.402Z","0.1.2":"2026-04-28T06:23:19.867Z","0.1.3":"2026-04-28T06:51:24.477Z","0.1.4":"2026-04-28T07:32:10.706Z","0.1.41":"2026-04-28T08:00:29.089Z","1.0.0":"2026-04-28T09:28:34.991Z","1.1.0":"2026-05-21T08:16:17.281Z","1.1.1":"2026-05-24T06:42:52.206Z","1.1.2":"2026-05-24T06:58:11.343Z","1.1.3":"2026-05-24T09:51:11.218Z","1.1.4":"2026-06-09T08:21:33.252Z","1.1.5":"2026-06-10T05:45:18.899Z","1.1.6":"2026-06-10T06:06:20.468Z","1.2.0":"2026-06-26T06:01:03.528Z","1.3.0":"2026-07-17T05:52:40.778Z","2.0.0":"2026-07-18T10:09:38.455Z","2.1.0":"2026-07-28T07:45:24.360Z","2.1.1":"2026-08-03T12:14:18.119Z","2.2.0":"2026-08-03T12:31:52.053Z","2.2.1":"2026-08-04T12:56:00.616Z","2.2.2":"2026-08-04T13:10:11.747Z","2.2.3":"2026-08-06T14:10:54.829Z","2.2.5":"2026-08-07T09:15:43.319Z","2.2.6":"2026-08-24T07:10:52.666Z"},"bugs":{"url":"https://github.com/swapwarick/agent-diaries-core/issues"},"author":{"name":"swapwarick_n"},"license":"MIT","homepage":"https://github.com/swapwarick/agent-diaries-core#readme","keywords":["ai-agent","agent-memory","workflow-orchestration","deduplication","distributed-lock","state-machine","redis","mongodb","serverless","idempotency","task-queue"],"repository":{"url":"git+https://github.com/swapwarick/agent-diaries-core.git","type":"git"},"description":"Stop your AI agents from doing the same work twice. Exactly-once execution, deduplication, and distributed coordination for multi-agent systems.","maintainers":[{"name":"swapwarick_n","email":"swapwarick@icloud.com"}],"readme":"<div align=\"center\">\n  <h1>🧠 Agent Diaries Core</h1>\n  <p><strong>Stop AI agents from doing the same work twice.</strong></p>\n  <p>One function call. Any agent framework. Exactly-once execution across your entire swarm.</p>\n\n[![NPM Version](https://img.shields.io/npm/v/@agent-diaries/core?style=for-the-badge&logo=npm&color=CB3837)](https://www.npmjs.com/package/@agent-diaries/core)\n[![NPM Downloads](https://img.shields.io/npm/dm/@agent-diaries/core?style=for-the-badge&logo=npm&color=44CC11)](https://www.npmjs.com/package/@agent-diaries/core)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=for-the-badge)](https://opensource.org/licenses/MIT)\n[![TypeScript](https://img.shields.io/badge/TypeScript-3178C6?style=for-the-badge&logo=typescript&logoColor=white)](https://www.typescriptlang.org/)\n[![Tests](https://img.shields.io/badge/Tests-191%2F191%20Passing-brightgreen?style=for-the-badge&logo=vitest&logoColor=white)](https://github.com/swapwarick/agent-diaries-core/actions)\n\n</div>\n\n---\n\n## 🛑 The Problem\n\nAutonomous agents duplicate work when scaling up.\n\nWhen 50 agents run concurrently, they repeatedly fetch identical web pages, execute redundant LLM reasoning, and trigger duplicate API calls.\n\n- **Token & API Bloat:** You pay 50× the cost for 1× the result.\n- **Swarm Race Conditions:** Multiple agents attempt to process or mutate the same task at once.\n- **Memory Growth & OOM Risk:** Unbounded in-memory caches grow indefinitely as swarms run 24/7.\n- **Framework Blindness:** Frameworks like LangChain, AutoGen, CrewAI, or LlamaIndex lack cross-process coordination out of the box.\n\n---\n\n## ⚡ The Solution\n\n**Agent Diaries** is a lightweight, framework-agnostic coordination layer that guarantees **exactly-once execution** for your AI agents.\n\n### Core Benefits\n\n- 🎯 **Exactly-Once Execution:** Guarantee tasks execute only once, no matter how many agents attempt them concurrently.\n- 🌐 **Distributed Coordination:** Safely coordinate agents across processes, worker nodes, or serverless functions with zero-polling FIFO mutexes.\n- 🚫 **Duplicate Prevention:** Intercept and deduplicate identical LLM calls, web scrapes, and API requests before they happen.\n- 🚀 **Multi-Tiered LRU Caching:** Automatic bounded in-memory L1 cache with configurable eviction prevents memory bloat and delivers sub-millisecond lookups.\n- 📦 **Binary Serialization:** Built-in MessagePack encoding for compact network transmission and fast disk/DB persistence.\n- 💾 **Persistent History:** Store execution records in-memory, Redis, PostgreSQL, MongoDB, or SQLite so past work survives restarts.\n\n---\n\n## 🚀 30-Second Quick Start\n\n### Installation\n\n```bash\nnpm install @agent-diaries/core\n```\n\nZero required setup or external database drivers. Works in-memory out of the box.\n\n---\n\n## 💡 One Memorable Code Example\n\nWrap any expensive agent operation in `executeOnce()`.\n\n```typescript\nimport { AgentDiary } from \"@agent-diaries/core\";\n\nconst diary = new AgentDiary({ agentId: \"research-agent\" });\n\n// 100 agents call executeOnce() concurrently.\n// Exactly 1 agent executes the LLM call. The remaining 99 reuse the cached result instantly.\nconst summary = await diary.executeOnce(\"research:openai-q4-2024\", async () => {\n  const page = await fetchWebPage(\"https://openai.com/blog/q4-2024\");\n  return await summarizeWithLLM(page);\n});\n```\n\n> `executeOnce` — if this task already ran, returns the cached result. If another agent is running it right now, waits, then returns their result. If it's new, runs your function exactly once.\n\n---\n\n## ⚡ Performance & Scalability Upgrades\n\nAgent Diaries is engineered for high-throughput multi-agent swarms:\n\n| Feature / Metric | Without Agent Diaries | With Agent Diaries | Performance Impact |\n|---|---|---|---|\n| **Hot Key Read Latency** | Direct Database / Network Roundtrip | In-Memory `O(1)` L1 Cache Hit | **< 1 ms (Sub-millisecond)** |\n| **Memory Footprint** | Unbounded growth (OOM leak risk) | Strictly bounded LRU eviction | **Guaranteed constant max memory** |\n| **Payload Size (Traces/State)** | Verbose UTF-8 JSON strings | Binary MessagePack buffers | **30–60% reduction in byte size** |\n| **Concurrency Locking** | Spinlocks / Polling loops (`sleep`) | Chained-Promise FIFO Mutex | **Zero CPU spin & zero lock-theft races** |\n| **Concurrent Redundant Calls** | 50× redundant LLM/API invocations | Deduplicated down to 1 call | **Up to 98% token & cost savings** |\n\n---\n\n## 🌍 Real-World Use Cases\n\n| Use Case | How Agent Diaries Solves It |\n|---|---|\n| 🌐 **Browser Agents** | Playwright/Puppeteer swarms deduplicate URL visits so identical web pages are never scraped twice. |\n| 🔬 **Research Agents** | Multi-agent swarms researching 100 topics execute exactly 1 LLM call per topic, preventing redundant synthesis. |\n| 🛡️ **GitHub Security Scanning** | 200 security bots scanning 50 repos execute exactly 50 scans, skipping 9,950 duplicate calls and saving $150+ in LLM tokens. |\n| 🔌 **MCP Server Swarms** | Model Context Protocol tools coordinate execution across agents without repeating expensive tool calls. |\n| 📚 **Multi-Agent RAG** | Vector retrieval and document embedding pipelines prevent duplicate index queries and chunk processing across workers. |\n\n---\n\n## ❓ Why Not Redis?\n\n> \"Can't I just build this with Redis?\"\n\nBuilding coordination yourself requires writing distributed locks, Lua scripts, expiration handling, crash recovery, and result serialization.\n\n| Outcome | DIY with Redis | Agent Diaries |\n|---|---|---|\n| **Atomic Task Ownership** | Complex Lua scripts + `SET NX` | `diary.executeOnce()` |\n| **Crash-Safe Locks** | Manual dead-letter queue + cron cleanup | Built-in |\n| **Execution History** | Custom key schemas & TTL management | Built-in |\n| **Duplicate Interception** | Manual checks before every LLM call | Automatic |\n| **Zero Infrastructure Setup** | ❌ Requires Redis running | ✅ Works in-memory out of the box |\n| **Distributed Scale** | Manual backend wiring | 1 line to enable Redis / Postgres |\n\n---\n\n## 📖 API Reference & Examples\n\n### Primary API (Start Here)\n\n`executeOnce()` handles claiming, executing, error handling, result saving, and cache lookup in a single call:\n\n```typescript\nconst result = await diary.executeOnce(taskId, async () => {\n  return await expensiveFunction();\n});\n```\n\n---\n\n### Bounded Memory Caching with `LruMemoryProvider`\n\nWrap any cache provider with an LRU layer to enforce strict memory bounds:\n\n```typescript\nimport { StorageManager, MemoryCacheProvider } from \"@agent-diaries/core\";\nimport { LruMemoryProvider } from \"@agent-diaries/core/memory\";\n\n// Initialize with a maximum capacity (or configure via AG_DIARIES_CACHE_SIZE env var)\nconst boundedCache = new LruMemoryProvider(new MemoryCacheProvider(), 1000);\n\nconst storage = new StorageManager({\n  cache: boundedCache,\n});\n\n// Cache writes support optional TTL (in milliseconds)\nawait boundedCache.set(\"agent:context:101\", { state: \"active\" }, 60_000);\n```\n\n---\n\n### Binary MessagePack Serialization (`codec`)\n\nFor high-frequency telemetry, binary persistence, or network streaming of complex agent records:\n\n```typescript\nimport { encode, decode } from \"@agent-diaries/core\";\n\n// Fast binary encoding to Uint8Array\nconst tracePayload = {\n  workflowId: \"wf-9812\",\n  agentId: \"summarizer\",\n  timestamp: Date.now(),\n  metadata: { tokensUsed: 1420, model: \"gemini-2.5-flash\" },\n};\n\nconst binaryData: Uint8Array = encode(tracePayload);\n\n// Binary decoding back to typed object\nconst decoded = decode<typeof tracePayload>(binaryData);\nconsole.log(decoded.workflowId); // \"wf-9812\"\n```\n\n---\n\n### Advanced Manual Lifecycle Control\n\nWhen you need granular control over the lifecycle:\n\n```typescript\n// 1. Manually claim task\nconst claimed = await diary.claimTask(\"task-id\");\n\nif (claimed) {\n  try {\n    const result = await doWork();\n    // 2. Complete task & store result\n    await diary.writeTaskResult(\"task-id\", result);\n  } catch (err) {\n    await diary.failTask(\"task-id\", err.message);\n  }\n} else {\n  // 3. Retrieve existing result from winning agent\n  const cached = await diary.getTaskResult(\"task-id\");\n}\n```\n\n---\n\n### Batch Operations\n\n```typescript\nconst newTasks     = await diary.filterNewTasks(taskList);\nconst claimedList  = await diary.batchClaimTasks(taskTitles);\n```\n\n---\n\n### Distributed Backends (Redis, PostgreSQL, MongoDB, SQLite)\n\nSwitch from in-memory to Redis or PostgreSQL when scaling to distributed nodes:\n\n```typescript\nimport { StorageManager } from \"@agent-diaries/core\";\nimport { RedisCacheProvider, RedisLockProvider } from \"@agent-diaries/core/redis\";\n\nconst storageManager = new StorageManager({\n  cache: new RedisCacheProvider(redisClient),\n  lock: new RedisLockProvider(redisClient),\n});\n\nconst diary = new AgentDiary({ agentId: \"distributed-agent\", storageManager });\n```\n\n---\n\n## 📊 Performance Metrics & Monitoring\n\nThe library ships with a lightweight **MetricsEngine** that records key operational counters (workflow successes/failures, cache hits/misses, etc.). You can plug any metrics exporter (Prometheus, StatsD, OpenTelemetry) by subscribing to the `MetricsEngine` events.\n\n### Example: Exporting to Prometheus\n\n```ts\nimport { MetricsEngine } from \"@agent-diaries/core\";\nimport client from \"prom-client\";\n\nconst register = new client.Registry();\nconst workflowSuccess = new client.Counter({\n  name: \"agent_diaries_workflow_success_total\",\n  help: \"Total successful workflow executions\",\n});\nregister.registerMetric(workflowSuccess);\n\nconst metricsEngine = new MetricsEngine(/* repository instance */);\n\nmetricsEngine.on(\"recorded\", ({ name, value }) => {\n  if (name === \"workflow_success_count\") workflowSuccess.inc(value);\n  if (name === \"workflow_failure_count\") workflowFailure.inc(value);\n  if (name === \"cache_hit_count\") cacheHit.inc(value);\n  if (name === \"cache_miss_count\") cacheMiss.inc(value);\n});\n\n// expose HTTP endpoint\nimport http from \"http\";\nhttp.createServer(async (_, res) => {\n  res.setHeader(\"Content-Type\", register.contentType);\n  res.end(await register.metrics());\n}).listen(9464);\n```\n\n> **Tip:** The `MetricsEngine` emits a generic `recorded` event for every metric you record, letting you map names to your own monitoring schema.\n\n---\n\n## 📚 Advanced Documentation\n\n- [Architecture & Design](./docs/architecture.md) — How in-memory locks, distributed mutexes, and storage facades work\n- [Workflow Coordinator](./docs/advanced.md) — Enterprise multi-step pipeline orchestration\n- [Distributed Tracing](./docs/tracing.md) — OpenTelemetry-style span tracking and metrics\n- [Plugin Framework](./docs/plugins.md) — Custom storage adapters and middleware\n- [Benchmarks & Performance](./BENCHMARKS.md) — Comprehensive latency and throughput methodology\n\n---\n\n## 📄 License\n\nMIT © [swapwarick_n](https://github.com/swapwarick)\n","readmeFilename":"README.md"}