{"_id":"@cool-ai/beach-missives-mastra-adapter","_rev":"9-cd145be19b2fde2b6a2715606f13e6e3","name":"@cool-ai/beach-missives-mastra-adapter","dist-tags":{"latest":"0.1.8"},"versions":{"0.1.0":{"name":"@cool-ai/beach-missives-mastra-adapter","version":"0.1.0","license":"Apache-2.0","_id":"@cool-ai/beach-missives-mastra-adapter@0.1.0","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"homepage":"https://cool-ai.org","bugs":{"url":"https://gitlab.com/johncandrew/beach/-/issues"},"dist":{"shasum":"29a5433623b262a6ddb1f5c786a8281486f03840","tarball":"https://registry.npmjs.org/@cool-ai/beach-missives-mastra-adapter/-/beach-missives-mastra-adapter-0.1.0.tgz","fileCount":15,"integrity":"sha512-beto+WOiLOhNffOl7dkBgYggOM9at6w2Lbfb9gRcffYc+R+oleN+BG17y1ryX08U+tkZMMmDTzYSVRFm/TOXvQ==","signatures":[{"sig":"MEQCIHKtOL+h/ga8LQIperix3l4VtosjL4BZV/TzgQgENO0fAiBlrtZCXotPwQPdPAPMmmnhyJiB58kMQKin9R2ijeJjCw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":57054},"type":"module","_from":"file:cool-ai-beach-missives-mastra-adapter-0.1.0.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --project tsconfig.json --watch","test":"vitest run","build":"tsc --project tsconfig.json","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"_resolved":"/tmp/8d9c3eacbd14bb7f82ee8d10bbedc132/cool-ai-beach-missives-mastra-adapter-0.1.0.tgz","_integrity":"sha512-beto+WOiLOhNffOl7dkBgYggOM9at6w2Lbfb9gRcffYc+R+oleN+BG17y1ryX08U+tkZMMmDTzYSVRFm/TOXvQ==","repository":{"url":"git+https://gitlab.com/johncandrew/beach.git","type":"git","directory":"packages/missives-mastra-adapter"},"_npmVersion":"10.9.7","description":"Mastra storage adapter for Beach's MissiveStore — wraps any @mastra/<store> package so its persistence backs the missive log.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@cool-ai/beach-missives":"0.0.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0"},"peerDependencies":{"@mastra/core":"^0.10.0"},"peerDependenciesMeta":{"@mastra/core":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/beach-missives-mastra-adapter_0.1.0_1777636026884_0.42228588316286","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@cool-ai/beach-missives-mastra-adapter","version":"0.1.1","license":"Apache-2.0","_id":"@cool-ai/beach-missives-mastra-adapter@0.1.1","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"homepage":"https://cool-ai.org","bugs":{"url":"https://gitlab.com/johncandrew/beach/-/issues"},"dist":{"shasum":"fbf20bd9f607459bf25c994d7a9dcaec18061c69","tarball":"https://registry.npmjs.org/@cool-ai/beach-missives-mastra-adapter/-/beach-missives-mastra-adapter-0.1.1.tgz","fileCount":15,"integrity":"sha512-AUsXH49eQVSRRE6i1Zuw+QiBtn1aha75zgvzQX9lkqT4ErPKsnVCtQoMEFAFRgq2PICmiP2e15JCUby52id0ZA==","signatures":[{"sig":"MEUCIQCS6GiIXTQh4xQzZZhNvsZ0v4lYBC0bCxfl4ny2px9LUwIgN2QJLwlC2Z2tFkhVoFZhPoU3s9cPzi/ouHgLkFKMTNM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59825},"type":"module","_from":"file:cool-ai-beach-missives-mastra-adapter-0.1.1.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --project tsconfig.json --watch","test":"vitest run","build":"tsc --project tsconfig.json","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"_resolved":"/tmp/167a93eb20bb775715bc666eed5999ec/cool-ai-beach-missives-mastra-adapter-0.1.1.tgz","_integrity":"sha512-AUsXH49eQVSRRE6i1Zuw+QiBtn1aha75zgvzQX9lkqT4ErPKsnVCtQoMEFAFRgq2PICmiP2e15JCUby52id0ZA==","repository":{"url":"git+https://gitlab.com/johncandrew/beach.git","type":"git","directory":"packages/missives-mastra-adapter"},"_npmVersion":"10.9.7","description":"Mastra storage adapter for Beach's MissiveStore — wraps any @mastra/<store> package so its persistence backs the missive log.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@cool-ai/beach-missives":"0.0.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0"},"peerDependencies":{"@mastra/core":"^0.10.0"},"peerDependenciesMeta":{"@mastra/core":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/beach-missives-mastra-adapter_0.1.1_1778003255083_0.8250496714025151","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@cool-ai/beach-missives-mastra-adapter","version":"0.1.2","license":"Apache-2.0","_id":"@cool-ai/beach-missives-mastra-adapter@0.1.2","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"homepage":"https://cool-ai.org","bugs":{"url":"https://gitlab.com/johncandrew/beach/-/issues"},"dist":{"shasum":"651ea7b67311d4b19949d2716bd9d64d4725ad88","tarball":"https://registry.npmjs.org/@cool-ai/beach-missives-mastra-adapter/-/beach-missives-mastra-adapter-0.1.2.tgz","fileCount":11,"integrity":"sha512-qxfl53LmgHF7zGcfz4DMpoBHtwMvYMuMgQE5Yo5ga5SJJq5z9ArcfuIvWyObtAYoSS1IFQUgwsQ0dLN9l+XSqg==","signatures":[{"sig":"MEYCIQDba411ddaC9M4LE7GGa/rfd8fP7XT7pmG/04epcNFgrgIhAPyBwGR+vyxj2iA2Z7IDYPZfzy7ZyuLpad0CZJCRvZsy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37248},"type":"module","_from":"file:cool-ai-beach-missives-mastra-adapter-0.1.2.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --project tsconfig.json --watch","test":"vitest run","build":"tsc --project tsconfig.json","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"_resolved":"/tmp/3df1ea99c7cc3b701ca91c51fca43ef4/cool-ai-beach-missives-mastra-adapter-0.1.2.tgz","_integrity":"sha512-qxfl53LmgHF7zGcfz4DMpoBHtwMvYMuMgQE5Yo5ga5SJJq5z9ArcfuIvWyObtAYoSS1IFQUgwsQ0dLN9l+XSqg==","repository":{"url":"git+https://gitlab.com/johncandrew/beach.git","type":"git","directory":"packages/missives-mastra-adapter"},"_npmVersion":"10.9.7","description":"Mastra storage adapter for Beach's MissiveStore — wraps any @mastra/<store> package so its persistence backs the missive log.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@cool-ai/beach-missives":"0.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0"},"peerDependencies":{"@mastra/core":"^0.10.0"},"peerDependenciesMeta":{"@mastra/core":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/beach-missives-mastra-adapter_0.1.2_1778186302220_0.9388006204237842","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@cool-ai/beach-missives-mastra-adapter","version":"0.1.3","license":"Apache-2.0","_id":"@cool-ai/beach-missives-mastra-adapter@0.1.3","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"homepage":"https://cool-ai.org","bugs":{"url":"https://gitlab.com/johncandrew/beach/-/issues"},"dist":{"shasum":"08e38e7e3f1f7b97f8a27ab25ecad35dfb569962","tarball":"https://registry.npmjs.org/@cool-ai/beach-missives-mastra-adapter/-/beach-missives-mastra-adapter-0.1.3.tgz","fileCount":11,"integrity":"sha512-/eN5YpzQmGIp5nQJDhRHMl4MvkkW+Wq2QVm/mqOF88672GArjRfohyU8jzcvxm1VOIhVYPljJ7UM0ANKWdJP6g==","signatures":[{"sig":"MEUCICuc1PvYroHotJmtI2Zkzm+J4jTXWNQ+q83LNDCrthlMAiEApR7mBrGxjTmYlOuylxLxnCngezGC1fW+QBW2H3LDz18=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37289},"type":"module","_from":"file:cool-ai-beach-missives-mastra-adapter-0.1.3.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --project tsconfig.json --watch","test":"vitest run","build":"tsc --project tsconfig.json","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"_resolved":"/tmp/772975cbab1a649681d98dcd0c1099de/cool-ai-beach-missives-mastra-adapter-0.1.3.tgz","_integrity":"sha512-/eN5YpzQmGIp5nQJDhRHMl4MvkkW+Wq2QVm/mqOF88672GArjRfohyU8jzcvxm1VOIhVYPljJ7UM0ANKWdJP6g==","repository":{"url":"git+https://gitlab.com/johncandrew/beach.git","type":"git","directory":"packages/missives-mastra-adapter"},"_npmVersion":"10.9.7","description":"Mastra storage adapter for Beach's MissiveStore — wraps any @mastra/<store> package so its persistence backs the missive log.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@cool-ai/beach-missives":"0.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0"},"peerDependencies":{"@mastra/core":"^0.10.0"},"peerDependenciesMeta":{"@mastra/core":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/beach-missives-mastra-adapter_0.1.3_1778191676776_0.25654651261478856","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@cool-ai/beach-missives-mastra-adapter","version":"0.1.4","license":"Apache-2.0","_id":"@cool-ai/beach-missives-mastra-adapter@0.1.4","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"homepage":"https://cool-ai.org","bugs":{"url":"https://gitlab.com/johncandrew/beach/-/issues"},"dist":{"shasum":"0f1d37068b58f1742321e3e73b8e4efbd2c67ad3","tarball":"https://registry.npmjs.org/@cool-ai/beach-missives-mastra-adapter/-/beach-missives-mastra-adapter-0.1.4.tgz","fileCount":11,"integrity":"sha512-J+ckM/01pX0pK/mOtLNEAXazaTZe8/DW0y1r7AjD2+6GcdhsvKDn7F+X2R6kiE8OyyBCwZzP6LyB2tkcnB5kOw==","signatures":[{"sig":"MEYCIQD7nRIKHs7h1PTz1Y5FPiRVKtIWNRJPQ+2aBjUNp2jw8QIhAND79Qs/POEuZyKp+Yx5NFMH4aSi2Ql2bhrK8EfoJuZH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":38048},"type":"module","_from":"file:cool-ai-beach-missives-mastra-adapter-0.1.4.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --project tsconfig.json --watch","test":"vitest run","build":"tsc --project tsconfig.json","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"_resolved":"/tmp/094beb28d4c15660a746c03077845e8d/cool-ai-beach-missives-mastra-adapter-0.1.4.tgz","_integrity":"sha512-J+ckM/01pX0pK/mOtLNEAXazaTZe8/DW0y1r7AjD2+6GcdhsvKDn7F+X2R6kiE8OyyBCwZzP6LyB2tkcnB5kOw==","repository":{"url":"git+https://gitlab.com/johncandrew/beach.git","type":"git","directory":"packages/missives-mastra-adapter"},"_npmVersion":"10.9.7","description":"Mastra storage adapter for Beach's MissiveStore — wraps any @mastra/<store> package so its persistence backs the missive log.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@cool-ai/beach-missives":"0.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0","@mastra/libsql":"0.10.3"},"peerDependencies":{"@mastra/core":"^0.10.0"},"peerDependenciesMeta":{"@mastra/core":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/beach-missives-mastra-adapter_0.1.4_1778232815523_0.23476323502222884","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@cool-ai/beach-missives-mastra-adapter","version":"0.1.5","license":"Apache-2.0","_id":"@cool-ai/beach-missives-mastra-adapter@0.1.5","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"homepage":"https://cool-ai.org","bugs":{"url":"https://gitlab.com/johncandrew/beach/-/issues"},"dist":{"shasum":"c18e67a8db0016be466e9fb14b3110fcb37219cc","tarball":"https://registry.npmjs.org/@cool-ai/beach-missives-mastra-adapter/-/beach-missives-mastra-adapter-0.1.5.tgz","fileCount":11,"integrity":"sha512-jVKnoh2gdFMMJGUYMGD3If58oCA0hTePTBrMhpdmSIE/2enFGpsB45iEw36XJBN2iHZEvl6tq+gwXBGqt+Z3Rg==","signatures":[{"sig":"MEQCICKR+b36vL/vXhOB2iA3Lu9O9cjmfFdHxbYtTWEQBLqZAiA0PbvcSa5Ckt6ntc2smYJ5fpYt02jTB9i4IXHbp7GthQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":39666},"type":"module","_from":"file:cool-ai-beach-missives-mastra-adapter-0.1.5.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --project tsconfig.json --watch","test":"vitest run","build":"tsc --project tsconfig.json","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"_resolved":"/tmp/1f5e9fc9112ebcd86178ca77e2f5cb34/cool-ai-beach-missives-mastra-adapter-0.1.5.tgz","_integrity":"sha512-jVKnoh2gdFMMJGUYMGD3If58oCA0hTePTBrMhpdmSIE/2enFGpsB45iEw36XJBN2iHZEvl6tq+gwXBGqt+Z3Rg==","repository":{"url":"git+https://gitlab.com/johncandrew/beach.git","type":"git","directory":"packages/missives-mastra-adapter"},"_npmVersion":"10.9.7","description":"Mastra storage adapter for Beach's MissiveStore — wraps any @mastra/<store> package so its persistence backs the missive log.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@cool-ai/beach-missives":"0.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0","@mastra/libsql":"0.10.3"},"peerDependencies":{"@mastra/core":"^0.10.0"},"peerDependenciesMeta":{"@mastra/core":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/beach-missives-mastra-adapter_0.1.5_1778240509613_0.9981487301337473","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@cool-ai/beach-missives-mastra-adapter","version":"0.1.6","license":"Apache-2.0","_id":"@cool-ai/beach-missives-mastra-adapter@0.1.6","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"homepage":"https://cool-ai.org","bugs":{"url":"https://gitlab.com/johncandrew/beach/-/issues"},"dist":{"shasum":"23c8070bd9883e3e8af6945a3b282ae7026a7f2b","tarball":"https://registry.npmjs.org/@cool-ai/beach-missives-mastra-adapter/-/beach-missives-mastra-adapter-0.1.6.tgz","fileCount":11,"integrity":"sha512-6vJSOOMvpkvlxOKZNvYG1Zw+gXGBHB20pwv5Pf0pK2S2QYashxXVlD5vqrPi9yhkwCaYcM0WEy8y/oB98+blRQ==","signatures":[{"sig":"MEUCIQD7dcgvyA3BOz2DKE8nUdxdrxPIfbz1HRXVNUmf7a+UHQIgG56BQT5YDAbf14lFiQb2AUea78K1xl27/RNmZ03ijMM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":39837},"type":"module","_from":"file:cool-ai-beach-missives-mastra-adapter-0.1.6.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --project tsconfig.json --watch","test":"vitest run","build":"tsc --project tsconfig.json","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"_resolved":"/tmp/f39f7e6bd6bfcb4b27fc4644810527ff/cool-ai-beach-missives-mastra-adapter-0.1.6.tgz","_integrity":"sha512-6vJSOOMvpkvlxOKZNvYG1Zw+gXGBHB20pwv5Pf0pK2S2QYashxXVlD5vqrPi9yhkwCaYcM0WEy8y/oB98+blRQ==","repository":{"url":"git+https://gitlab.com/johncandrew/beach.git","type":"git","directory":"packages/missives-mastra-adapter"},"_npmVersion":"10.9.7","description":"Mastra storage adapter for Beach's MissiveStore — wraps any @mastra/<store> package so its persistence backs the missive log.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@cool-ai/beach-missives":"0.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0","@mastra/libsql":"0.10.3"},"peerDependencies":{"@mastra/core":"^0.10.0"},"peerDependenciesMeta":{"@mastra/core":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/beach-missives-mastra-adapter_0.1.6_1778459526105_0.5137871996286218","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@cool-ai/beach-missives-mastra-adapter","version":"0.1.7","license":"Apache-2.0","_id":"@cool-ai/beach-missives-mastra-adapter@0.1.7","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"homepage":"https://cool-ai.org","bugs":{"url":"https://gitlab.com/johncandrew/beach/-/issues"},"dist":{"shasum":"3e9c0acaa6c46618a4351332257ab7a834633927","tarball":"https://registry.npmjs.org/@cool-ai/beach-missives-mastra-adapter/-/beach-missives-mastra-adapter-0.1.7.tgz","fileCount":11,"integrity":"sha512-gMWy95+ROF0OufEl/h5tQVeSPGlT2ZsKYNsY3W9k0iq4Rr1pcvqzZGGS6VUjaXWscfQOqO4ltqcGVkIlWswSaQ==","signatures":[{"sig":"MEUCIQDI+v8WAl8khWwwVyN7M3mWSrVLbaqf4guS5yVa1lumbQIgGMlxAzedlPkjZchhSKcMp/MXPXV7fKWQWAEcECtNOjE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":39896},"type":"module","_from":"file:cool-ai-beach-missives-mastra-adapter-0.1.7.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsc --project tsconfig.json --watch","test":"vitest run","build":"tsc --project tsconfig.json","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"_resolved":"/tmp/9987884f028744bf689ea3080cc5b8d6/cool-ai-beach-missives-mastra-adapter-0.1.7.tgz","_integrity":"sha512-gMWy95+ROF0OufEl/h5tQVeSPGlT2ZsKYNsY3W9k0iq4Rr1pcvqzZGGS6VUjaXWscfQOqO4ltqcGVkIlWswSaQ==","repository":{"url":"git+https://gitlab.com/johncandrew/beach.git","type":"git","directory":"packages/missives-mastra-adapter"},"_npmVersion":"10.9.7","description":"Mastra storage adapter for Beach's MissiveStore — wraps any @mastra/<store> package so its persistence backs the missive log.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@cool-ai/beach-missives":"^0.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.0.0","typescript":"^5.5.0","@mastra/libsql":"0.10.3"},"peerDependencies":{"@mastra/core":"^0.10.0"},"peerDependenciesMeta":{"@mastra/core":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/beach-missives-mastra-adapter_0.1.7_1778500643274_0.1427766593558184","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@cool-ai/beach-missives-mastra-adapter","version":"0.1.8","description":"Mastra storage adapter for Beach's MissiveStore — wraps any @mastra/<store> package so its persistence backs the missive log.","license":"Apache-2.0","repository":{"type":"git","url":"git+https://gitlab.com/johncandrew/beach.git","directory":"packages/missives-mastra-adapter"},"homepage":"https://cool-ai.org","bugs":{"url":"https://gitlab.com/johncandrew/beach/-/issues"},"type":"module","exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts"}},"publishConfig":{"access":"public"},"dependencies":{"@cool-ai/beach-missives":"^0.0.10"},"devDependencies":{"@mastra/libsql":"0.10.3","typescript":"^5.5.0","vitest":"^2.0.0"},"peerDependencies":{"@mastra/core":"^0.10.0"},"peerDependenciesMeta":{"@mastra/core":{"optional":false}},"scripts":{"build":"tsc --project tsconfig.json","dev":"tsc --project tsconfig.json --watch","test":"vitest run","coverage":"vitest run --coverage","test:watch":"vitest","typecheck":"tsc --noEmit"},"_id":"@cool-ai/beach-missives-mastra-adapter@0.1.8","_integrity":"sha512-pNINYyA+qN+JiAEUz/uWYQTeL2hzhZzOKQlyizGSjrGJ/6mBvm4Ekr619Di98A1GFrI07gqCqWh/9iSHtNHawQ==","_resolved":"/tmp/9a3f77a4bc3252a925b59c5634ffa5ef/cool-ai-beach-missives-mastra-adapter-0.1.8.tgz","_from":"file:cool-ai-beach-missives-mastra-adapter-0.1.8.tgz","_nodeVersion":"22.22.3","_npmVersion":"10.9.8","dist":{"integrity":"sha512-pNINYyA+qN+JiAEUz/uWYQTeL2hzhZzOKQlyizGSjrGJ/6mBvm4Ekr619Di98A1GFrI07gqCqWh/9iSHtNHawQ==","shasum":"08ed277586793355cfe114f1681fe36134f80e19","tarball":"https://registry.npmjs.org/@cool-ai/beach-missives-mastra-adapter/-/beach-missives-mastra-adapter-0.1.8.tgz","fileCount":11,"unpackedSize":39897,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICnuTEXf7XQirrhGTHNuZ23aCmTVmr6+Ejexcfal4ovwAiEA6zrsBrKUwLKIsOoDRB8ygT3W/OSJaz6b6cHAPkQEn/M="}]},"_npmUser":{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"},"directories":{},"maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/beach-missives-mastra-adapter_0.1.8_1780677386937_0.3482001322132413"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-01T11:47:06.797Z","modified":"2026-06-05T16:36:27.232Z","0.1.0":"2026-05-01T11:47:07.032Z","0.1.1":"2026-05-05T17:47:35.250Z","0.1.2":"2026-05-07T20:38:22.372Z","0.1.3":"2026-05-07T22:07:56.935Z","0.1.4":"2026-05-08T09:33:35.751Z","0.1.5":"2026-05-08T11:41:49.785Z","0.1.6":"2026-05-11T00:32:06.234Z","0.1.7":"2026-05-11T11:57:23.480Z","0.1.8":"2026-06-05T16:36:27.123Z"},"bugs":{"url":"https://gitlab.com/johncandrew/beach/-/issues"},"license":"Apache-2.0","homepage":"https://cool-ai.org","repository":{"type":"git","url":"git+https://gitlab.com/johncandrew/beach.git","directory":"packages/missives-mastra-adapter"},"description":"Mastra storage adapter for Beach's MissiveStore — wraps any @mastra/<store> package so its persistence backs the missive log.","maintainers":[{"name":"johncandrew","email":"johncandrew@yahoo.co.uk"}],"readme":"# @cool-ai/beach-missives-mastra-adapter\n\nMastra storage adapter for Beach's `MissiveStore`. Wraps any [`@mastra/<store>`](https://mastra.ai/docs/reference/storage) package — `@mastra/pg`, `@mastra/libsql`, `@mastra/redis`, `@mastra/mongodb`, `@mastra/dynamodb`, `@mastra/clickhouse`, `@mastra/duckdb`, `@mastra/cloudflare`, `@mastra/upstash` — so its persistence backs the missive log.\n\n> **Home:** [cool-ai.org](https://cool-ai.org) · **Documentation:** [cool-ai.org/docs](https://cool-ai.org/docs)\n\n> **Limitation:** `MastraMissiveStore` does not support `delete()`. Mastra's storage API has no per-message deletion method; there is no correct implementation possible. If your application requires missive deletion, use `InMemoryMissiveStore`, `JSONMissiveStore`, or `SQLiteMissiveStore` from `@cool-ai/beach-missives` instead. See [Deletion not supported](#deletion-not-supported) for the full explanation.\n\n## Why this exists\n\nMastra ships nine maintained Apache-2.0 storage backends. A small Beach team cannot match that maintenance budget; per Beach's adopt-vs-build gate, Beach wraps once and lets consumers pick which backend to mount.\n\nUse this adapter when you want the missive store backed by one of the Mastra storage packages — typically because your application is already using Mastra for other purposes, or because you want the operational profile (Postgres durability, Redis throughput, etc.) of a specific backend without writing a per-backend Beach package.\n\nUse the reference [`InMemoryMissiveStore`](../missives/README.md) or [`JSONMissiveStore`](../missives/README.md) for development and tests. Use this adapter for production persistence.\n\n## Install\n\n```sh\nnpm install @cool-ai/beach-missives-mastra-adapter @mastra/core @mastra/<store>\n```\n\n`@mastra/core` is a peer dependency. Pick whichever `@mastra/<store>` package matches your durability needs and pin it directly. The consumer instantiates the storage and injects it — Beach's interior never imports `@mastra/core`.\n\n## Usage\n\n```typescript\nimport { LibSQLStore } from '@mastra/libsql';\nimport { MastraMissiveStore } from '@cool-ai/beach-missives-mastra-adapter';\n\nconst mastraStorage = new LibSQLStore({ url: 'file:./missives.db' });\n\nconst missiveStore = new MastraMissiveStore(mastraStorage);\n\n// Use as the missive store anywhere @cool-ai/beach-missives expects one.\nawait missiveStore.write({\n  id: 'missive-abc',\n  sessionId: 'session-123',\n  triggerEventId: 'event-456',\n  channelId: 'email',\n  origin: { address: 'alice@example.com' },\n  parts: [{ partType: 'response', text: 'Reply text' }],\n  createdAt: new Date().toISOString(),\n  updatedAt: new Date().toISOString(),\n});\n\nconst sessionMissives = await missiveStore.listBySession('session-123');\nconst eventMissives = await missiveStore.listByEvent('event-456');\n```\n\n`MastraMissiveStore` implements `write`, `get`, `listBySession`, and `listByEvent`.\n\n## Deletion not supported\n\n`MastraMissiveStore` does not implement `MissiveStore.delete()`. This is not an oversight.\n\nMastra's storage API has no per-record deletion method. It provides `deleteThread`, which removes an entire thread. Because each missive is written to two threads (`beach:session:<sessionId>` and `beach:event:<triggerEventId>`), and `delete(missiveId)` receives only the missive ID, there is no way to remove a specific message from a thread using the Mastra API.\n\n`MissiveStore.delete` is an optional method — Beach's interface models what storage backends can actually provide. Any code that calls `store.delete()` should guard for its absence:\n\n```typescript\nif (missiveStore.delete !== undefined) {\n  await missiveStore.delete(id);\n}\n```\n\nIf your application requires missive deletion, use `InMemoryMissiveStore`, `JSONMissiveStore`, or `SQLiteMissiveStore` from [`@cool-ai/beach-missives`](../missives/README.md) — all of which implement `delete` fully. If you need Mastra-backed persistence and deletion, file a request against the Mastra project for per-message deletion support.\n\n## Options\n\n```typescript\nnew MastraMissiveStore(mastraStorage, {\n  // Stamp every Mastra message with this resourceId. Mastra uses\n  // resourceId for memory-scoping (typically userId / tenantId);\n  // pass it for per-tenant isolation in the underlying store.\n  resourceId: 'tenant-42',\n\n  // Default limit applied to listBySession when the caller does not\n  // pass options.limit. Defaults to 100 (matching InMemoryMissiveStore).\n  defaultListLimit: 200,\n});\n```\n\n## Connection-injection convention\n\nBeach does not open the underlying database connection. The consumer constructs the Mastra storage instance — with whatever connection pool, retry policy, or TLS configuration the deployment requires — and passes the constructed storage to `new MastraMissiveStore()`. Beach does not duplicate the connection; the consumer retains full operational control over it.\n\n## Storage layout\n\nEach `Missive` is stored as one or two Mastra messages depending on whether it carries a `triggerEventId`:\n\n| Mastra thread | When | Mastra message id |\n|---|---|---|\n| `beach:session:<sessionId>` | always | `<missive.id>` |\n| `beach:event:<triggerEventId>` | only when `missive.triggerEventId` is set | `<missive.id>::event` |\n\nThe full `Missive` payload travels in the Mastra message's `content` as a JSON string. `listBySession` reads from the session thread; `listByEvent` reads from the event thread. Dual-write trades a small write amplification for clean read-time semantics on both correlation axes — Mastra's storage is thread-scoped and cannot natively answer \"find every message with this triggerEventId across all threads\".\n\n### `beach:` is a reserved namespace\n\nThe `beach:` thread-name prefix is reserved on any Mastra storage backing a `MastraMissiveStore`. **Consumers must not write to keys / threads matching `^beach:` in any Mastra store backing this adapter.** Sharing a Mastra store between Beach and consumer-owned data is supported, but the consumer's data lives outside the reserved namespace.\n\nThe reservation lets operators inspect the underlying store directly (Postgres queries, Redis CLI) and identify Beach-owned data unambiguously. It also makes the prefix the contract that any future cross-store interoperability (a migration to a non-Mastra store, an out-of-band reader, a backup-and-restore) needs to honour. See [`documentation/decisions/missive-store-prefix-scheme.md`](../../documentation/decisions/missive-store-prefix-scheme.md) for the full reservation contract and what it does — and does not — constrain.\n\n## Architectural commitments\n\n- Beach's interior never imports `@mastra/core`. `@cool-ai/beach-core`, `@cool-ai/beach-session`, `@cool-ai/beach-missives`, and the rest of Beach's runtime stay Mastra-independent. The dependency lives at the adapter boundary.\n- `@mastra/core` is a peer dependency of `@cool-ai/beach-missives-mastra-adapter` only — not of `@cool-ai/beach-missives`. Consumers using the in-memory or JSON reference stores never install Mastra.\n- No wrapping under `@mastra/core/ee` paths. Adapter targets only Apache-2.0 surfaces.\n\n## Related\n\n- [`@cool-ai/beach-missives`](../missives/README.md) — the missive store interface this adapter implements.\n- [`@cool-ai/beach-llm-mastra`](../llm-mastra/README.md) — the LLM-side Mastra adapter.\n","readmeFilename":"README.md"}