{"_id":"@mgcrea/mcp-apple-messages","_rev":"27-077902ec3f10c232b3995a87391b67f1","name":"@mgcrea/mcp-apple-messages","dist-tags":{"bootstrap":"1.3.0","latest":"1.24.1"},"versions":{"1.3.0":{"name":"@mgcrea/mcp-apple-messages","version":"1.3.0","keywords":["apple","apple-messages","chat","imessage","macos","mcp","messages","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-messages@1.3.0","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/mcp-cupertino/issues","os":["darwin"],"bin":{"apple-messages-mcp":"dist/cli.js"},"dist":{"shasum":"b81708f497bf3b8c136a7d9270561782638803db","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-messages/-/mcp-apple-messages-1.3.0.tgz","fileCount":11,"integrity":"sha512-TOWaPwUhWaIHEl8WpWNf6/2kk2cF292iTZovwGYVDXUNJ5bWh6uEsGwSQZTjUYNVzwsrseSqB21t0Xw3pwKM4A==","signatures":[{"sig":"MEQCIA5TnbfTgGXIvD31C3dBrQuc4gVHsdFD5LoSDVgb8VlKAiAvYKfMDDvRw8NbebH0mhSKXaHv0Vc6mpSg6S5GOfIYUA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":311000},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"mgcrea","email":"olivier@mg-crea.com"},"repository":{"url":"git+https://github.com/mgcrea/mcp-cupertino.git","type":"git","directory":"packages/messages"},"description":"Model Context Protocol server for the macOS Apple Messages app","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.3.0","@modelcontextprotocol/sdk":"^1.30.0","@mgcrea/mcp-apple-contacts":"^1.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-messages_1.3.0_1787773595387_0.7244678203066204","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@mgcrea/mcp-apple-messages","version":"1.3.1","keywords":["apple","apple-messages","chat","imessage","macos","mcp","messages","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-messages@1.3.1","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/mcp-cupertino/issues","os":["darwin"],"bin":{"apple-messages-mcp":"dist/cli.js"},"dist":{"shasum":"010e1f63e61a26f592d1de24accf584d938019fb","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-messages/-/mcp-apple-messages-1.3.1.tgz","fileCount":11,"integrity":"sha512-Q/kx/RxeV0zP3KZYAe57g8gu4RMr9pOtNuG1XTAQ5qGuF3AHCSOYC2Lpq6YCBRq/ogcKgLiDtWAE9zTS2H+8Cw==","signatures":[{"sig":"MEUCIQCEuAA87jjkMGpyLDk7eT3afc7rPyFoIQk1vlVPUzUBEgIgUuYiW8Cbtur1dMaCmSH6epBA1CtrhlYewe20h6INCSU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-messages@1.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":311000},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0235b2a1-4dda-4103-9181-2dda187f5b5b"}},"repository":{"url":"git+https://github.com/mgcrea/mcp-cupertino.git","type":"git","directory":"packages/messages"},"description":"Model Context Protocol server for the macOS Apple Messages app","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.3.1","@modelcontextprotocol/sdk":"^1.30.0","@mgcrea/mcp-apple-contacts":"^1.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-messages_1.3.1_1787840885106_0.8515044625476402","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@mgcrea/mcp-apple-messages","version":"1.4.0","keywords":["apple","apple-messages","chat","imessage","macos","mcp","messages","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-messages@1.4.0","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/mcp-cupertino/issues","os":["darwin"],"bin":{"apple-messages-mcp":"dist/cli.js"},"dist":{"shasum":"bb88c6e0e0a13da180fae6d442102d66a2cd7e2a","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-messages/-/mcp-apple-messages-1.4.0.tgz","fileCount":11,"integrity":"sha512-Erjbl495ozdZP4aag8zA++inkIXAGigdrB8qSXiX/c/nRk85+WBZkWpeDhuNcmShY78LZtAkMnrV7ac+tz5zGQ==","signatures":[{"sig":"MEYCIQCWE9h0l6HHmnSeWoZoJWXtJ6jlylhZLOEIX1W/QMdduAIhAKXcOQXF4Sij7BFv8dbBpTH9+EMyfa/ZHIc+jKaT95YC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-messages@1.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":311000},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0235b2a1-4dda-4103-9181-2dda187f5b5b"}},"repository":{"url":"git+https://github.com/mgcrea/mcp-cupertino.git","type":"git","directory":"packages/messages"},"description":"Model Context Protocol server for the macOS Apple Messages app","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.4.0","@modelcontextprotocol/sdk":"^1.30.0","@mgcrea/mcp-apple-contacts":"^1.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-messages_1.4.0_1788099103841_0.7408520807428356","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"@mgcrea/mcp-apple-messages","version":"1.6.0","keywords":["apple","apple-messages","chat","imessage","macos","mcp","messages","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-messages@1.6.0","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/cupertino/issues","os":["darwin"],"bin":{"apple-messages-mcp":"dist/cli.js"},"dist":{"shasum":"c60bde7a8ca827a8f7d088594206d0e36a7e8ae6","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-messages/-/mcp-apple-messages-1.6.0.tgz","fileCount":11,"integrity":"sha512-YTu9+UNHydIY8LJTxYQ0hryYXqSh2sTTCNw1lsJPuGYML8Z8Z7t5mgntAmN5261RjwU7xxrq/oTv7FvIk7wMZQ==","signatures":[{"sig":"MEYCIQDVuAAer3YhbK8L/Kt7wJAfN8Sfvo3SUGlRF0YxihJwSgIhAJV+uXtSkq0BCTnkP9v5eHAqS0Qn0vVEa/6Zp1/nIca8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-messages@1.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":353209},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:efcb1954-da62-4ebd-9a55-0bb6e142cf0a"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/messages"},"description":"Model Context Protocol server for the macOS Apple Messages app","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.6.0","@modelcontextprotocol/sdk":"^1.30.0","@mgcrea/mcp-apple-contacts":"^1.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-messages_1.6.0_1788253728860_0.0034560172671973532","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"@mgcrea/mcp-apple-messages","version":"1.7.0","keywords":["apple","apple-messages","chat","imessage","macos","mcp","messages","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-messages@1.7.0","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/cupertino/issues","os":["darwin"],"bin":{"apple-messages-mcp":"dist/cli.js"},"dist":{"shasum":"a28358c69ac840669abc1f6b71fe3c1b034c0b8b","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-messages/-/mcp-apple-messages-1.7.0.tgz","fileCount":11,"integrity":"sha512-5V1RPUCIibiKnKI9OUcptRl2I3srxQmhPj3t+NC6dTRQmFrhp4eEcigCAzv+bZJ2Ar3rOyNBuhj500/kubtz1A==","signatures":[{"sig":"MEQCIFMKSDMLXNwzEMMrYZuxMbtVSTWGr5bdz4QjquKCM+OJAiAl7WBwHJPPgSA47hQycUxnoccSdplfVcpt7tJsbVdUJg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-messages@1.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":362669},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"mcpName":"io.github.mgcrea/mcp-apple-messages","scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:efcb1954-da62-4ebd-9a55-0bb6e142cf0a"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/messages"},"description":"Search and read Apple Messages — chats and decoded text, sending off by default","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.7.0","@modelcontextprotocol/sdk":"^1.30.0","@mgcrea/mcp-apple-contacts":"^1.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-messages_1.7.0_1788267537183_0.7585494133353874","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"@mgcrea/mcp-apple-messages","version":"1.8.0","keywords":["apple","apple-messages","chat","imessage","macos","mcp","messages","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-messages@1.8.0","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/cupertino/issues","os":["darwin"],"bin":{"apple-messages-mcp":"dist/cli.js"},"dist":{"shasum":"19071cb6af185e0142cf4f17bb76a5733a130bc6","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-messages/-/mcp-apple-messages-1.8.0.tgz","fileCount":11,"integrity":"sha512-9tDWCP8HMxGRi19GmkbGiueGtaiDQiYqcr3JBCPA21NO7yOwalt431f4jvo5obWU8m4noN5F+0Bz3cER6ABNjg==","signatures":[{"sig":"MEUCIQDWMqk5df9AXjr3VeveOlKFr3mQu1dkqcYly+b7mQk/BgIgRaFwv3NJnuBRDif0BYN0IGm2h2MYzueoKvRGuylW4Wo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-messages@1.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":362669},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"mcpName":"io.github.mgcrea/mcp-apple-messages","scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:efcb1954-da62-4ebd-9a55-0bb6e142cf0a"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/messages"},"description":"Search and read Apple Messages — chats and decoded text, sending off by default","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.8.0","@modelcontextprotocol/sdk":"^1.30.0","@mgcrea/mcp-apple-contacts":"^1.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-messages_1.8.0_1788291200289_0.8508809132643258","host":"s3://npm-registry-packages-npm-production"}},"1.9.0":{"name":"@mgcrea/mcp-apple-messages","version":"1.9.0","keywords":["apple","apple-messages","chat","imessage","macos","mcp","messages","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-messages@1.9.0","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/cupertino/issues","os":["darwin"],"bin":{"apple-messages-mcp":"dist/cli.js"},"dist":{"shasum":"4ce528b9a73c68ad368b3b1dc838e3f834ec692b","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-messages/-/mcp-apple-messages-1.9.0.tgz","fileCount":11,"integrity":"sha512-WuUL3iuMC99tK/PKgZDwgjUAk5VZAIR7WgY/tHXQx8ALkZaRmoT0DiWoAa7CPceN7hpcrm+awC9GW2wrGDYQeA==","signatures":[{"sig":"MEYCIQDj7WBttdPkNmh+6OdL0urYFvvpD+H6Kn6lSO+7FUZWwgIhAP2UEf6ygmaGKdPuGh+UN6dDK7tuh/SN+XUYCORLKAlJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-messages@1.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":362669},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"mcpName":"io.github.mgcrea/mcp-apple-messages","scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:efcb1954-da62-4ebd-9a55-0bb6e142cf0a"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/messages"},"description":"Search and read Apple Messages — chats and decoded text, sending off by default","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.9.0","@modelcontextprotocol/sdk":"^1.30.0","@mgcrea/mcp-apple-contacts":"^1.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-messages_1.9.0_1788299788848_0.5079685328813615","host":"s3://npm-registry-packages-npm-production"}},"1.10.0":{"name":"@mgcrea/mcp-apple-messages","version":"1.10.0","keywords":["apple","apple-messages","chat","imessage","macos","mcp","messages","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-messages@1.10.0","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/cupertino/issues","os":["darwin"],"bin":{"apple-messages-mcp":"dist/cli.js"},"dist":{"shasum":"0a5e75d8d665388ba295d43c2e5178d8c480cd6c","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-messages/-/mcp-apple-messages-1.10.0.tgz","fileCount":11,"integrity":"sha512-uLCkPdq3LrJLR5Xnb4uqQjAC+0o760Bjv2qHJao4IpSbaJdba4RVh/4vFtTHAD//m9z6tB1TwcdS3fV7L4QLDw==","signatures":[{"sig":"MEUCIE9QUA4IF0WsPmePbj4lYG6SNUW9T4zyKLSqKlff6HLxAiEA/LFmAV1czM7kJd9LB6/jxKBzVq7D/iYyJdz8VuFTdlg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-messages@1.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":362672},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"mcpName":"io.github.mgcrea/mcp-apple-messages","scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:efcb1954-da62-4ebd-9a55-0bb6e142cf0a"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/messages"},"description":"Search and read Apple Messages — chats and decoded text, sending off by default","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.10.0","@modelcontextprotocol/sdk":"^1.30.0","@mgcrea/mcp-apple-contacts":"^1.10.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-messages_1.10.0_1788383620453_0.6837274909533464","host":"s3://npm-registry-packages-npm-production"}},"1.11.0":{"name":"@mgcrea/mcp-apple-messages","version":"1.11.0","keywords":["apple","apple-messages","chat","imessage","macos","mcp","messages","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-messages@1.11.0","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/cupertino/issues","os":["darwin"],"bin":{"apple-messages-mcp":"dist/cli.js"},"dist":{"shasum":"5afd6f16aa859fcd539c1e855ceb6d6d6f56f5d0","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-messages/-/mcp-apple-messages-1.11.0.tgz","fileCount":11,"integrity":"sha512-GoTEXwmy/2azyG5mYxrizycGJfUw1HQkOnWExlcO5OwVImhLd2P9yTO6uMSkjqp8lJK0AZMjaC+FrspFKnPTLw==","signatures":[{"sig":"MEQCIEei0ds1KIRigkYtYbZMh9FirR2ZWIsBnImBVBUAjHR6AiBPTkgj8dYc5xzlO5TkuhGmco4jn/EzYm9gtEh4akU+sg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-messages@1.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":402753},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"mcpName":"io.github.mgcrea/mcp-apple-messages","scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:efcb1954-da62-4ebd-9a55-0bb6e142cf0a"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/messages"},"description":"Search and read Apple Messages — chats and decoded text, sending off by default","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.11.0","@modelcontextprotocol/sdk":"^1.30.0","@mgcrea/mcp-apple-contacts":"^1.11.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-messages_1.11.0_1788440069214_0.4969152409554216","host":"s3://npm-registry-packages-npm-production"}},"1.12.0":{"name":"@mgcrea/mcp-apple-messages","version":"1.12.0","keywords":["apple","apple-messages","chat","imessage","macos","mcp","messages","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-messages@1.12.0","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/cupertino/issues","os":["darwin"],"bin":{"apple-messages-mcp":"dist/cli.js"},"dist":{"shasum":"07eb8be592bda136ead37948eef2cc4812fab2bd","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-messages/-/mcp-apple-messages-1.12.0.tgz","fileCount":11,"integrity":"sha512-E29DhnuR7rFOkdJN9GJ37ZPN9WPCadst3y6dLpuHfhWnlXaKudv+iin4vh8I2OFugWc37vWGRU5SbQ3BVlWkLA==","signatures":[{"sig":"MEQCIC6xK68OXwYowE73ZdLjBef8LuaN3gZyKvfDRttKpEu2AiAmxlZNWzVu6JWdF7ZN1/DfBml6gTg4FeL6vw1Mag3R5Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-messages@1.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":402753},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"mcpName":"io.github.mgcrea/mcp-apple-messages","scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:efcb1954-da62-4ebd-9a55-0bb6e142cf0a"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/messages"},"description":"Search and read Apple Messages — chats and decoded text, sending off by default","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.12.0","@modelcontextprotocol/sdk":"^1.30.0","@mgcrea/mcp-apple-contacts":"^1.12.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-messages_1.12.0_1788455715392_0.9022176976131835","host":"s3://npm-registry-packages-npm-production"}},"1.13.0":{"name":"@mgcrea/mcp-apple-messages","version":"1.13.0","keywords":["apple","apple-messages","chat","imessage","macos","mcp","messages","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-messages@1.13.0","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/cupertino/issues","os":["darwin"],"bin":{"apple-messages-mcp":"dist/cli.js"},"dist":{"shasum":"2cc542af395662b75800d96874ea1fc38bb8c967","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-messages/-/mcp-apple-messages-1.13.0.tgz","fileCount":11,"integrity":"sha512-mKOV1c8iu9/LXovg+mlvZQ4uv1iWVTXHQGhQXXrIAN1TdoagkZF3BeVo1RaUX54jaPB9hudYtvVALBRgoS0Byg==","signatures":[{"sig":"MEQCIEmV0xqJj9chi39lJfvugvIBwVfENFodToPSu+fFGulJAiBi+94kJMZ4Z7oi3TT2sKyZAyJocIVUD17YgfIHITdsSg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-messages@1.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":402753},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"mcpName":"io.github.mgcrea/mcp-apple-messages","scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:efcb1954-da62-4ebd-9a55-0bb6e142cf0a"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/messages"},"description":"Search and read Apple Messages — chats and decoded text, sending off by default","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.13.0","@modelcontextprotocol/sdk":"^1.30.0","@mgcrea/mcp-apple-contacts":"^1.13.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-messages_1.13.0_1788524136498_0.9880310932830918","host":"s3://npm-registry-packages-npm-production"}},"1.14.0":{"name":"@mgcrea/mcp-apple-messages","version":"1.14.0","keywords":["apple","apple-messages","chat","imessage","macos","mcp","messages","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-messages@1.14.0","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/cupertino/issues","os":["darwin"],"bin":{"apple-messages-mcp":"dist/cli.js"},"dist":{"shasum":"ca4a2c556cb4f066d1eb5f191c4a341b7141034d","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-messages/-/mcp-apple-messages-1.14.0.tgz","fileCount":11,"integrity":"sha512-FTcmWI0ZajsKO2+BpuVyqFmoeAtUcQ1tiETmVedTktmaOaUOPwo1BGWSBjEC/zNNkN+X+swlTxDZNayHoamAdw==","signatures":[{"sig":"MEQCIDixaqJXGOYCPFrsnuPDDQt9tsW50CDxAPr51IkEoVRxAiAX+3418Km1UX8dgPvIj/MAT3bP+8MYJbPaHfPN0CrD0w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-messages@1.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":402753},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"mcpName":"io.github.mgcrea/mcp-apple-messages","scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:efcb1954-da62-4ebd-9a55-0bb6e142cf0a"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/messages"},"description":"Search and read Apple Messages — chats and decoded text, sending off by default","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.14.0","@modelcontextprotocol/sdk":"^1.30.0","@mgcrea/mcp-apple-contacts":"^1.14.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-messages_1.14.0_1788557880784_0.7032027418272442","host":"s3://npm-registry-packages-npm-production"}},"1.15.0":{"name":"@mgcrea/mcp-apple-messages","version":"1.15.0","keywords":["apple","apple-messages","chat","imessage","macos","mcp","messages","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-messages@1.15.0","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/cupertino/issues","os":["darwin"],"bin":{"apple-messages-mcp":"dist/cli.js"},"dist":{"shasum":"2cf6a29c8ea11c244730b89c375d3ab335c4863e","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-messages/-/mcp-apple-messages-1.15.0.tgz","fileCount":11,"integrity":"sha512-E7/SboPHzTL7i9k6pDSoarPu3Odjz3unU5jARIp96gxlJSpWCcVkijHx690IV7ODkAqiOTjvaeTWaDVSDxfSNA==","signatures":[{"sig":"MEUCIHoYl9psudlEYDf850pLbiX6sY8GJBvMIL+S60MTPqJzAiEAgRkvq9/O9x2dJJtYxuNIwPdcMfxz2v+EO+x2kmqj1lg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-messages@1.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":403405},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"mcpName":"io.github.mgcrea/mcp-apple-messages","scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:efcb1954-da62-4ebd-9a55-0bb6e142cf0a"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/messages"},"description":"Search and read Apple Messages — chats and decoded text, sending off by default","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.15.0","@modelcontextprotocol/sdk":"^1.30.0","@mgcrea/mcp-apple-contacts":"^1.15.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-messages_1.15.0_1788648557747_0.794672761153401","host":"s3://npm-registry-packages-npm-production"}},"1.16.0":{"name":"@mgcrea/mcp-apple-messages","version":"1.16.0","keywords":["apple","apple-messages","chat","imessage","macos","mcp","messages","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-messages@1.16.0","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/cupertino/issues","os":["darwin"],"bin":{"apple-messages-mcp":"dist/cli.js"},"dist":{"shasum":"7d06d57244e2dc13ba222198a02f241466fc2364","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-messages/-/mcp-apple-messages-1.16.0.tgz","fileCount":11,"integrity":"sha512-gHlkZX5NQSa+rZ3SQFSoHtHx7o4t9sD/2Ia0+jhDJD8GhX6HwTJ0K1/P+/4mU7p5jQUkl/obCT3KApZomODMoA==","signatures":[{"sig":"MEUCIB8tPpVndTr1QFIJuTU598htVOFWpVBcaIkDzO5cS/xdAiEA/oMbiC5i1PoUpHD0Y9FM+Mckx4nQhEcajDyXwl8y0u4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-messages@1.16.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":403405},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"mcpName":"io.github.mgcrea/mcp-apple-messages","scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:efcb1954-da62-4ebd-9a55-0bb6e142cf0a"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/messages"},"description":"Search and read Apple Messages — chats and decoded text, sending off by default","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.16.0","@modelcontextprotocol/sdk":"^1.30.0","@mgcrea/mcp-apple-contacts":"^1.16.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-messages_1.16.0_1788691109847_0.8224672904881511","host":"s3://npm-registry-packages-npm-production"}},"1.17.0":{"name":"@mgcrea/mcp-apple-messages","version":"1.17.0","keywords":["apple","apple-messages","chat","imessage","macos","mcp","messages","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-messages@1.17.0","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/cupertino/issues","os":["darwin"],"bin":{"apple-messages-mcp":"dist/cli.js"},"dist":{"shasum":"d73320309706222781b2c8b0f69c4917150aa9db","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-messages/-/mcp-apple-messages-1.17.0.tgz","fileCount":11,"integrity":"sha512-nLdxQ36gjRMIySTf0fHGABdMNZbfS9UCie3YWhG/DmcReOGS1NAnlLw40/oUArIGuihYDpcv1qoKk0n70eGYlQ==","signatures":[{"sig":"MEYCIQDnA4091x7vTlX8GC5GNByY9pzGODA94ecF/+qtJpSXEgIhAKuNDJq1xYDH64fMtc/suhOxKduoRDx00GQ/yQvkozi5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-messages@1.17.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":412553},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"mcpName":"io.github.mgcrea/mcp-apple-messages","scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:efcb1954-da62-4ebd-9a55-0bb6e142cf0a"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/messages"},"description":"Search and read Apple Messages — chats and decoded text, sending off by default","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.17.0","@modelcontextprotocol/sdk":"^1.30.0","@mgcrea/mcp-apple-contacts":"^1.17.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-messages_1.17.0_1788793963954_0.592496266393642","host":"s3://npm-registry-packages-npm-production"}},"1.18.0":{"name":"@mgcrea/mcp-apple-messages","version":"1.18.0","keywords":["apple","apple-messages","chat","imessage","macos","mcp","messages","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-messages@1.18.0","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/cupertino/issues","os":["darwin"],"bin":{"apple-messages-mcp":"dist/cli.js"},"dist":{"shasum":"c338e69d29f03dbf8d3c4d7d4367b5e862ab70e9","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-messages/-/mcp-apple-messages-1.18.0.tgz","fileCount":11,"integrity":"sha512-Jcecbhhbpe7MlCJviHePNv2nhk5+p61uGhFuSa8tU2wvALRelfm+xdejVJ813a4wNOmV5lMZ8s8pjTj8BvRRhQ==","signatures":[{"sig":"MEYCIQClx8MlnR7U9N2xpWjt87oFp0NMU0gxTGf+enklMA1YbAIhAIhUNB5alxWc9+B586Fo8UcW0/6MgJyI3Qhs4x/m3RUR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-messages@1.18.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":414080},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"mcpName":"io.github.mgcrea/mcp-apple-messages","scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:efcb1954-da62-4ebd-9a55-0bb6e142cf0a"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/messages"},"description":"Search and read Apple Messages — chats and decoded text, sending off by default","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.18.0","@modelcontextprotocol/sdk":"^1.30.0","@mgcrea/mcp-apple-contacts":"^1.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-messages_1.18.0_1788811562160_0.8875019232295365","host":"s3://npm-registry-packages-npm-production"}},"1.19.0":{"name":"@mgcrea/mcp-apple-messages","version":"1.19.0","keywords":["apple","apple-messages","chat","imessage","macos","mcp","messages","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-messages@1.19.0","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/cupertino/issues","os":["darwin"],"bin":{"apple-messages-mcp":"dist/cli.js"},"dist":{"shasum":"98d567227125d89243e34bd83bc9e2d350d01dc0","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-messages/-/mcp-apple-messages-1.19.0.tgz","fileCount":11,"integrity":"sha512-kfQMtoy/c1UDQmYZpqJTPNqvAgrYpGM7qd/Xy2l86/LGQHRvnAeXis29VLzt2pxvl4gu0pYnUai7qSHafY2v0A==","signatures":[{"sig":"MEUCIQC1uMtdrZWCANH6sFkkhd0Mtx88mx9hrrTyGOYd5+zHSgIgSq011DHr3Gsol0tfQAIbkWH6d+nlx1b78oSIaHBCVw8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-messages@1.19.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":414080},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"mcpName":"io.github.mgcrea/mcp-apple-messages","scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:efcb1954-da62-4ebd-9a55-0bb6e142cf0a"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/messages"},"description":"Search and read Apple Messages — chats and decoded text, sending off by default","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.19.0","@modelcontextprotocol/sdk":"^1.30.0","@mgcrea/mcp-apple-contacts":"^1.19.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-messages_1.19.0_1788867873880_0.8641653172278962","host":"s3://npm-registry-packages-npm-production"}},"1.19.1":{"name":"@mgcrea/mcp-apple-messages","version":"1.19.1","keywords":["apple","apple-messages","chat","imessage","macos","mcp","messages","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-messages@1.19.1","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/cupertino/issues","os":["darwin"],"bin":{"apple-messages-mcp":"dist/cli.js"},"dist":{"shasum":"55bf320ecdcbac60a33f930cd4e66fd423eeb320","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-messages/-/mcp-apple-messages-1.19.1.tgz","fileCount":11,"integrity":"sha512-Ey/iB+QrvX7k9PC4JFeE6olq8s8zvYCQD0Z5WxMiRcPf9qvOvvau4hv4q60+B+9Qzi+EqpPBoYcqvHTvw4b5xA==","signatures":[{"sig":"MEYCIQDNEMUAI5QT1U1kU+9AN9ldGOaREQc+CgBmvx3kIEniZgIhAIr9H1xCgkdNxTKSGoP9XEoNWFbdkisFZDuoiAsNcqI9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-messages@1.19.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":414080},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"mcpName":"io.github.mgcrea/mcp-apple-messages","scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:efcb1954-da62-4ebd-9a55-0bb6e142cf0a"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/messages"},"description":"Search and read Apple Messages — chats and decoded text, sending off by default","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.19.1","@modelcontextprotocol/sdk":"^1.30.0","@mgcrea/mcp-apple-contacts":"^1.19.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-messages_1.19.1_1788879541380_0.07540151102570491","host":"s3://npm-registry-packages-npm-production"}},"1.20.0":{"name":"@mgcrea/mcp-apple-messages","version":"1.20.0","keywords":["apple","apple-messages","chat","imessage","macos","mcp","messages","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-messages@1.20.0","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/cupertino/issues","os":["darwin"],"bin":{"apple-messages-mcp":"dist/cli.js"},"dist":{"shasum":"ea9879b9da81778b00eb23efe8d11f786b84366c","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-messages/-/mcp-apple-messages-1.20.0.tgz","fileCount":11,"integrity":"sha512-Da33T1PBQFk74nwOtliwRCEw7VijvtHSffoZnsnqgeZHDt/1dbOvrsxgqgcgyhzyB9rvpwuNmFzTCBbJ4LeUPg==","signatures":[{"sig":"MEYCIQDIMXZsQpGmvMSCp8mDc8Tvw669YMZOUOMrYNsj7Rs3QAIhAO2iPsMf0YG9dBHnYALrR1l10+vI5LpDex5p/eoVGbQ7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-messages@1.20.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":414080},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"mcpName":"io.github.mgcrea/mcp-apple-messages","scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:efcb1954-da62-4ebd-9a55-0bb6e142cf0a"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/messages"},"description":"Search and read Apple Messages — chats and decoded text, sending off by default","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.20.0","@modelcontextprotocol/sdk":"^1.30.0","@mgcrea/mcp-apple-contacts":"^1.20.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-messages_1.20.0_1788901181950_0.3276774623155079","host":"s3://npm-registry-packages-npm-production"}},"1.20.1":{"name":"@mgcrea/mcp-apple-messages","version":"1.20.1","keywords":["apple","apple-messages","chat","imessage","macos","mcp","messages","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-messages@1.20.1","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/cupertino/issues","os":["darwin"],"bin":{"apple-messages-mcp":"dist/cli.js"},"dist":{"shasum":"e76639bc833945dc59086b3db2c08d330373f493","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-messages/-/mcp-apple-messages-1.20.1.tgz","fileCount":11,"integrity":"sha512-YZXkoKFRy7zKJDjcMmwfJW9NkEKt8cKXQcZz4o+M/KThrpuOR5XoChHhbUcZqifGR/RTnR+BzuWULdl5z79LhA==","signatures":[{"sig":"MEUCIDXzO1M9ssk0OplitV9T8RzCQcMNQI7UJIv89oFKmZH3AiEAi9dgkVjqBnkOAmJWJ77ap4JLqMsxlY91KGBLw1NX9UI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-messages@1.20.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":414080},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"mcpName":"io.github.mgcrea/mcp-apple-messages","scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:efcb1954-da62-4ebd-9a55-0bb6e142cf0a"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/messages"},"description":"Search and read Apple Messages — chats and decoded text, sending off by default","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.20.1","@modelcontextprotocol/sdk":"^1.30.0","@mgcrea/mcp-apple-contacts":"^1.20.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-messages_1.20.1_1788953782862_0.8566277469547763","host":"s3://npm-registry-packages-npm-production"}},"1.21.0":{"name":"@mgcrea/mcp-apple-messages","version":"1.21.0","keywords":["apple","apple-messages","chat","imessage","macos","mcp","messages","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-messages@1.21.0","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/cupertino/issues","os":["darwin"],"bin":{"apple-messages-mcp":"dist/cli.js"},"dist":{"shasum":"eebccbda4997e0507b37371801fa5aab595d9fa8","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-messages/-/mcp-apple-messages-1.21.0.tgz","fileCount":11,"integrity":"sha512-eJB7IOMEPrnsEDh95k15+ZNggKh8to67mcMCRRaYOev4hc0tB9H34fWblOWVYhJJ8hYC4/HsCB24DS9MR8F5/w==","signatures":[{"sig":"MEUCIFNIA2A2MIjrmWH6MrPLjhVSTVIgMW8UJFYauvny4h0sAiEAyZZD4bn8ge8n1dePReSCju9lFsC4MTTe5xIizX1giMI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-messages@1.21.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":414080},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"mcpName":"io.github.mgcrea/mcp-apple-messages","scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:efcb1954-da62-4ebd-9a55-0bb6e142cf0a"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/messages"},"description":"Search and read Apple Messages — chats and decoded text, sending off by default","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.21.0","@modelcontextprotocol/sdk":"^1.30.0","@mgcrea/mcp-apple-contacts":"^1.21.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-messages_1.21.0_1789052510192_0.08841794859551988","host":"s3://npm-registry-packages-npm-production"}},"1.21.1":{"name":"@mgcrea/mcp-apple-messages","version":"1.21.1","keywords":["apple","apple-messages","chat","imessage","macos","mcp","messages","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-messages@1.21.1","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/cupertino/issues","os":["darwin"],"bin":{"apple-messages-mcp":"dist/cli.js"},"dist":{"shasum":"e594c6c14fdc8d90d7a36ca70841bde45bff0db8","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-messages/-/mcp-apple-messages-1.21.1.tgz","fileCount":11,"integrity":"sha512-2MwSlVrBGotnKd51ewoI9zQl0Uynfeb0i1d96bdtOyIcmf/QO+/2xirC4/um5SHPx6smr97RDZnj5GV93aD3gA==","signatures":[{"sig":"MEYCIQD8Md01KU+++EaJs6O5VP0mOc6hWjKryGDMmqJOI3fzNAIhAN61GfFJx1fWG9yTHYU44IPrFz8aPfX+udSK7Q2gREKC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-messages@1.21.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":414080},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"mcpName":"io.github.mgcrea/mcp-apple-messages","scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:efcb1954-da62-4ebd-9a55-0bb6e142cf0a"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/messages"},"description":"Search and read Apple Messages — chats and decoded text, sending off by default","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.21.1","@modelcontextprotocol/sdk":"^1.30.0","@mgcrea/mcp-apple-contacts":"^1.21.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-messages_1.21.1_1789160454736_0.44018575631906565","host":"s3://npm-registry-packages-npm-production"}},"1.22.0":{"name":"@mgcrea/mcp-apple-messages","version":"1.22.0","keywords":["apple","apple-messages","chat","imessage","macos","mcp","messages","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-messages@1.22.0","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/cupertino/issues","os":["darwin"],"bin":{"apple-messages-mcp":"dist/cli.js"},"dist":{"shasum":"aa0e6323c01a063dc59ee51968d05e2a25358576","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-messages/-/mcp-apple-messages-1.22.0.tgz","fileCount":11,"integrity":"sha512-6Gew/Old8BrzkgbiB5ZUdr/TeF3dj+QywFmC9GxysqHrMb2FXX7ObzTpUeLD65dh+BpJfnpDV0vfv/hNNs2SGw==","signatures":[{"sig":"MEQCIG8o0w1JXkm4Q+Cvbv+gOu/R4jcawotc1E3bUM0YdH33AiAYc6K3fWlu9oF11esy+n63hYoqwGbkjAGuuV5AsNjFIw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-messages@1.22.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":414080},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"mcpName":"io.github.mgcrea/mcp-apple-messages","scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:efcb1954-da62-4ebd-9a55-0bb6e142cf0a"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/messages"},"description":"Search and read Apple Messages — chats and decoded text, sending off by default","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.22.0","@modelcontextprotocol/sdk":"^1.30.0","@mgcrea/mcp-apple-contacts":"^1.22.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-messages_1.22.0_1789551137196_0.9297046714033506","host":"s3://npm-registry-packages-npm-production"}},"1.22.1":{"name":"@mgcrea/mcp-apple-messages","version":"1.22.1","keywords":["apple","apple-messages","chat","imessage","macos","mcp","messages","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-messages@1.22.1","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/cupertino/issues","os":["darwin"],"bin":{"apple-messages-mcp":"dist/cli.js"},"dist":{"shasum":"07d6698a50076d92ddc4f04e93d1b566448b2cd6","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-messages/-/mcp-apple-messages-1.22.1.tgz","fileCount":11,"integrity":"sha512-y2aDJoSkD6gbX1/lWDUHWP4kfnbiz+xwT3ukwENGsCgaWRwaPldpid8b4fm7DcgZM2FJYoC/lqoPnLRb/EIUzw==","signatures":[{"sig":"MEUCIQDGxdhZs4urjbSv9zFRzjp7izIra9rsRabe8znRvAUOwgIgHZIDli1KklT7ueSdorXI00/l9g6Pbq2251E7ySuYcW0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-messages@1.22.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":414080},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"mcpName":"io.github.mgcrea/mcp-apple-messages","scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:efcb1954-da62-4ebd-9a55-0bb6e142cf0a"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/messages"},"description":"Search and read Apple Messages — chats and decoded text, sending off by default","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.22.1","@modelcontextprotocol/sdk":"^1.30.0","@mgcrea/mcp-apple-contacts":"^1.22.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-messages_1.22.1_1789565014285_0.004029866455954378","host":"s3://npm-registry-packages-npm-production"}},"1.23.0":{"name":"@mgcrea/mcp-apple-messages","version":"1.23.0","keywords":["apple","apple-messages","chat","imessage","macos","mcp","messages","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-messages@1.23.0","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/cupertino/issues","os":["darwin"],"bin":{"apple-messages-mcp":"dist/cli.js"},"dist":{"shasum":"56658431d6f7cb440e9045d5797e35bb531cd6d6","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-messages/-/mcp-apple-messages-1.23.0.tgz","fileCount":11,"integrity":"sha512-sxAXTWPgPdh9laoAY4kMQ3DdwMZPAbDNUftSmnGXzOWrwuEzyWLThjkfnM1yxH4AyjpzRSZh5gMfhDjeZg9pxw==","signatures":[{"sig":"MEUCIDsIF8wCtepsubEDTsQj5fuhkuY8GriLq6pCmMQMt9KtAiEAoNbDXFvokdrTIHQluT83J9PXL8tZaNOgJOCE2KsEPZU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCID5ZyW8wT7yFrX0zEWfkgKOkNFCbb4X6rngwum8rTsAeAiAxzt1ALjiAdiCBAdGn5mLfDuQT9FnVQYtabI1XsfimSg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-messages@1.23.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":414080},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"mcpName":"io.github.mgcrea/mcp-apple-messages","scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:efcb1954-da62-4ebd-9a55-0bb6e142cf0a"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/messages"},"description":"Search and read Apple Messages — chats and decoded text, sending off by default","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.23.0","@modelcontextprotocol/sdk":"^1.30.0","@mgcrea/mcp-apple-contacts":"^1.23.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-messages_1.23.0_1789809918813_0.32123935406895665","host":"s3://npm-registry-packages-npm-production"}},"1.24.0":{"name":"@mgcrea/mcp-apple-messages","version":"1.24.0","keywords":["apple","apple-messages","chat","imessage","macos","mcp","messages","model-context-protocol"],"author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","_id":"@mgcrea/mcp-apple-messages@1.24.0","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"homepage":"https://cupertino.mgcrea.io","bugs":"https://github.com/mgcrea/cupertino/issues","os":["darwin"],"bin":{"apple-messages-mcp":"dist/cli.js"},"dist":{"shasum":"3071227a0499604b028c09524d320a5a27af5dab","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-messages/-/mcp-apple-messages-1.24.0.tgz","fileCount":11,"integrity":"sha512-VUImoQsr6YirUWSJBEBvuRRh5av9eOzMSSs3vBPnlHcJhPX8Sz9JZBi1K3+sjG5O3u4CpY3/oXitrcwKf5NnDA==","signatures":[{"sig":"MEYCIQDNvtDphTOB2iE19rD7k6XJH7PRnZjxKatVDOv4MYCeKwIhAKUqaCHFOUm2NBg7dWRh8d1pQac2QwM7YTQBAqL2ibQy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIEiAZG8lVXVT9M5sGvQpIfHITo83QsJVrHH1yBHxtzS1AiA9OEnQB9gG8iihBtqdgPJxs7QtUhs7Q6C2dvnYaDT5qg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-messages@1.24.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":414080},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"mcpName":"io.github.mgcrea/mcp-apple-messages","scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:efcb1954-da62-4ebd-9a55-0bb6e142cf0a"}},"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/messages"},"description":"Search and read Apple Messages — chats and decoded text, sending off by default","directories":{},"_nodeVersion":"24.21.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.24.0","@modelcontextprotocol/sdk":"^1.30.0","@mgcrea/mcp-apple-contacts":"^1.24.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-apple-messages_1.24.0_1790452368697_0.008322678478735579","host":"s3://npm-registry-packages-npm-production"}},"1.24.1":{"os":["darwin"],"_id":"@mgcrea/mcp-apple-messages@1.24.1","bin":{"apple-messages-mcp":"dist/cli.js"},"bugs":"https://github.com/mgcrea/cupertino/issues","dist":{"shasum":"032c3fd74de5c69f58db7c8ed6ecb685585fec85","tarball":"https://registry.npmjs.org/@mgcrea/mcp-apple-messages/-/mcp-apple-messages-1.24.1.tgz","fileCount":11,"integrity":"sha512-T0Fz+Rcv5iqch5vOkmMsEw76Ag+DVKc1xvMcVZqtnU7dlNM097AuSUxxUVzhYxz3pPfwdT/SxKrF3nuQMP1XUA==","signatures":[{"sig":"MEYCIQC52Ims+DYsoRLO19SXJHpZj8LdccUqaDHKeiJuBAJ0YwIhANvoxK5ePnIP+YrXLNOMFB0IraGBaHU8fOxigClPLdDx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHykqYyyPup4qJdMs86POU/Gn6hJ89SSugaZbJc5AiwjAiB27GrKCwVMEnpvKDgH7oEqR7bQi9we5GmoVAiH6hYc5w=="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mgcrea%2fmcp-apple-messages@1.24.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":414080},"main":"./dist/index.js","name":"@mgcrea/mcp-apple-messages","type":"module","types":"./dist/index.d.ts","author":"Olivier Louvignes <olivier@mgcrea.io>","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"license":"MIT","mcpName":"io.github.mgcrea/mcp-apple-messages","scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","start":"node dist/cli.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"version":"1.24.1","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"efcb1954-da62-4ebd-9a55-0bb6e142cf0a"}},"homepage":"https://cupertino.mgcrea.io","keywords":["apple","apple-messages","chat","imessage","macos","mcp","messages","model-context-protocol"],"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/messages"},"description":"Search and read Apple Messages — chats and decoded text, sending off by default","directories":{},"maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"_nodeVersion":"24.21.0","dependencies":{"zod":"^4.4.3","@mgcrea/mcp-apple-core":"^1.24.1","@modelcontextprotocol/sdk":"^1.30.0","@mgcrea/mcp-apple-contacts":"^1.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.10","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-apple-messages_1.24.1_1790694292259_0.985268774230142"}}},"time":{"created":"2026-08-26T19:46:35.012Z","modified":"2026-09-29T15:04:52.706Z","1.3.0":"2026-08-26T19:46:35.542Z","1.3.1":"2026-08-27T14:28:05.304Z","1.4.0":"2026-08-30T14:11:43.992Z","1.6.0":"2026-09-01T09:08:48.993Z","1.7.0":"2026-09-01T12:58:57.326Z","1.8.0":"2026-09-01T19:33:20.505Z","1.9.0":"2026-09-01T21:56:28.983Z","1.10.0":"2026-09-02T21:13:40.603Z","1.11.0":"2026-09-03T12:54:29.351Z","1.12.0":"2026-09-03T17:15:15.555Z","1.13.0":"2026-09-04T12:15:36.702Z","1.14.0":"2026-09-04T21:38:00.988Z","1.15.0":"2026-09-05T22:49:17.895Z","1.16.0":"2026-09-06T10:38:29.991Z","1.17.0":"2026-09-07T15:12:44.085Z","1.18.0":"2026-09-07T20:06:02.336Z","1.19.0":"2026-09-08T11:44:34.030Z","1.19.1":"2026-09-08T14:59:01.536Z","1.20.0":"2026-09-08T20:59:42.143Z","1.20.1":"2026-09-09T11:36:23.022Z","1.21.0":"2026-09-10T15:01:50.327Z","1.21.1":"2026-09-11T21:00:54.869Z","1.22.0":"2026-09-16T09:32:17.375Z","1.22.1":"2026-09-16T13:23:34.418Z","1.23.0":"2026-09-19T09:25:18.884Z","1.24.0":"2026-09-26T19:52:48.873Z","1.24.1":"2026-09-29T15:04:52.371Z"},"bugs":"https://github.com/mgcrea/cupertino/issues","author":"Olivier Louvignes <olivier@mgcrea.io>","license":"MIT","homepage":"https://cupertino.mgcrea.io","keywords":["apple","apple-messages","chat","imessage","macos","mcp","messages","model-context-protocol"],"repository":{"url":"git+https://github.com/mgcrea/cupertino.git","type":"git","directory":"packages/messages"},"description":"Search and read Apple Messages — chats and decoded text, sending off by default","maintainers":[{"name":"mgcrea","email":"olivier@mg-crea.com"}],"readme":"# @mgcrea/mcp-apple-messages\n\nModel Context Protocol server for **Apple Messages** — iMessage, SMS and RCS — on macOS.\n\n> **Unofficial.** Not affiliated with Apple. It reads the message store already on your Mac.\n\n## The surface with no second lane\n\nEvery other server in this family has two ways in and picks the faster one. This one has exactly\none, and that is measured rather than assumed: **every read through Messages' scripting dictionary\nfails.** It answers `Application isn't running` even while `NSRunningApplication` reports it running,\nbecause it lives as a windowless background process that declines to wake for a script.\n\nSo **Full Disk Access is mandatory, not an upgrade.** Without it this server does nothing at all —\nthere is no degraded mode to fall back to.\n\nApple Events is still here, for exactly one verb. `send` is the only command in the dictionary that\nworks, which makes this the one surface where Apple Events is a **write lane and nothing else** —\nand therefore the one where the write gate is also a permission boundary. With\n`APPLE_MESSAGES_ALLOW_WRITES` off, no Apple Event is ever sent and no Automation grant is ever\nrequested. There is no read to leak through the gate, because there is no read.\n\n## One message in thirty-two is invisible to SQL\n\n`chat.db` keeps message text in two places, and the one you would reach for is the _incomplete_ one.\nMeasured on a real 97,416-message store:\n\n|                               |                  |\n| ----------------------------- | ---------------- |\n| Messages                      | 97,416           |\n| With a plain `text` column    | 94,043           |\n| With an `attributedBody` blob | 97,094           |\n| **Blob only — no text**       | **3,051 (3.1%)** |\n\nThe blob is an `NSArchiver` _typedstream_, and no amount of SQL reaches inside one. A server that\nselects `text` returns nothing for one message in thirty-two, silently and with no error to notice.\n\n**And that ratio is a historical average.** Measured through this server against a live store: 2016\nthrough 2025 are ~99% plain `text`, and then it stops — **from March 2026 every message is blob-only.**\nApple appears to have dropped the column between late February and late March. So the decoder is not\nhandling an edge case; it is the only way to read anything recent, and a server without one would\nreport that the conversation stopped in February.\n\nThis package decodes it. The decoder was written against ground truth — `NSArchiver` still ships on\nmacOS 26 and is what wrote those blobs, so archiving a known string produces a fixture nobody has to\nguess at — and then validated against the whole store using `text` as an oracle on 94,043 labelled\nrows:\n\n**100.000% agreement. 97,094 of 97,094 blobs decoded, none failed.** ~2 ms per thousand.\n\n`decodeAttributedBody()` is exported from the package root.\n\n## Names come from Contacts\n\n`chat.db` records a correspondent as `+15551234567` and nothing else, so this server depends on\n[`@mgcrea/mcp-apple-contacts`](../contacts) to turn that into a name. Every correspondent carries\nboth, plus a `resolution` status.\n\n**`unknown` is normal, not an error.** Measured against a real address book: 97.6% of the last year's\nmessages resolve, but only ~84% of the twenty-five busiest correspondents — so roughly one in six of\nthe people you talk to most has no contact card. Code that treats an unresolved handle as a failure\nwill be wrong several times on any real inbox.\n\nIf the Contacts permission has not been granted, resolution is skipped and handles come back raw.\nThat is a capability downgrade reported through `diagnostics`, never a throw.\n\n## Tools\n\nRead: `diagnostics`, `list_chats`, `list_messages`, `search_messages`, `get_message`,\n`count_messages`.\n\n`count_messages` is the arithmetic lane: totals with a sent/received split, and `groupBy` for counts\nper day, month, chat, handle or direction. It aggregates in SQL over every match, so \"who do I\nmessage most\" costs one small result rather than a page of conversations tallied by hand — and\ngrouping by **handle** spans the several chats one person can occupy, which the per-chat totals on\n`list_chats` cannot add together. Metadata only, deliberately: message bodies from 2026 onward live\nin an archived blob that SQL cannot read, so a text filter here would return a number that looks\nright and silently omits the recent half of the store.\n\nOpt-in read: `find_codes`, behind `APPLE_MESSAGES_ALLOW_CODES` — see [Configuration](#configuration).\nOff by default, and not covered by the write gate.\n\nWrite: `send_message`, and that is the whole dictionary. `sdef` lists three commands — `send`,\n`login` and `logout` — and the other two would sign the user out of iMessage on every device they\nown. There is no edit, delete, mark-as-read or reaction verb to expose, so **everything this server\ncan show you, it cannot change.**\n\n`send`'s direct parameter is typed `file` OR `text`, and both forms ship in two lanes with different\nbounds. `attachmentId` forwards a file that is already in this Mac's Messages store — the same guid\n`save_attachment` takes, through the same \"inside `~/Library/Messages`, or refuse\" boundary — so it\nreaches no arbitrary path and needs no flag beyond `ALLOW_WRITES`. `filePath` names any local file,\nwhich is an exfiltration primitive whose blast radius, unlike the text form's, is not bounded by what\nthe model can say; it exists as a parameter only when `APPLE_MESSAGES_ALLOW_FILE_SEND` is on, and it\nis off by default. There is no directory confinement on it on purpose — see\n[docs/messages.md](../../docs/messages.md) for why one would be a speed bump wearing a boundary's\nclothes.\n\nOne call sends one thing, so a captioned photo is two calls.\n\n### Sending, and how it reports what it sent\n\nPrefer a `chatRef` from `list_chats` over a raw handle. Messages refuses to enumerate participants\nfor a script, so an existing conversation is the only target that can be addressed reliably — but\n`chat` carries an id, and the store holds a guid for every conversation. **The read lane picks the\ntarget and the write lane addresses it by id**, which is the only arrangement where neither lane has\nto do the thing it cannot.\n\nApple Events then hands back nothing at all — no identifier for what it sent. So the client takes a\ntimestamp before the send and polls `chat.db` for the outgoing row:\n\n| `reconciliation` | meaning                                                    |\n| ---------------- | ---------------------------------------------------------- |\n| `matched`        | the row was found; the result carries a real message ref   |\n| `pending`        | Messages accepted the send and has not written the row yet |\n| `unavailable`    | there was no existing chat to look in                      |\n\n**`pending` is not a failure. Do not retry it** — the message was sent, and a retry sends it twice.\n\n**No send has yet been executed against a live Messages.** The lane is written from the dictionary\nand from the store, and its tests run against a fake `osascript` on purpose. `docs/messages.md`\nrecords exactly what that leaves open; the safe way to measure it is a message to your own handle.\n\n## Configuration\n\n| Variable                            | Default |                                         |\n| ----------------------------------- | ------- | --------------------------------------- |\n| `APPLE_MESSAGES_RESOLVE_CONTACTS`   | on      | Look names up in Contacts.              |\n| `APPLE_MESSAGES_INDEX_MODE`         | `auto`  | `auto` \\| `ro` \\| `immutable` \\| `off`. |\n| `APPLE_MESSAGES_STORE`              | auto    | Explicit store path.                    |\n| `APPLE_MESSAGES_DEFAULT_RANGE_DAYS` | `30`    | Window when only a start is given.      |\n| `APPLE_MESSAGES_MAX_RESULTS`        | `50`    | Default page size.                      |\n| `APPLE_MESSAGES_ALLOW_WRITES`       | off     | Register `send_message` at all.         |\n| `APPLE_MESSAGES_ALLOW_CODES`        | off     | Register `find_codes` at all.           |\n| `APPLE_MESSAGES_ALLOW_FILE_SEND`    | off     | Add `filePath` to `send_message`.       |\n| `APPLE_MESSAGES_SEND_RECONCILE_MS`  | `5000`  | How long to wait for the sent row.      |\n\n`APPLE_MESSAGES_ALLOW_CODES` gates `find_codes`, which extracts one-time 2FA codes from recently\nreceived messages. It is a **read**, and it is deliberately not folded into `ALLOW_WRITES`: reaching\na read through the write gate would mean granting the right to send a message in order to get it.\n\nIt is gated at all because of what it combines with. This server already holds the conversation\nhistory and `@mgcrea/mcp-apple-mail` holds the inbox — between them, the password-_reset_ channel.\nAdding live authentication codes completes an account-takeover primitive out of parts that were each\nindividually reasonable, so it defaults off and the two gates are independent in both directions.\n\nCodes are matched by signal rather than by a `\\d{4,8}` regex, and every result carries a\n`confidence` and a `matched` saying how it was found; anything below `high` should be checked\nagainst the message body before use. See `src/codes.ts` in `@mgcrea/mcp-apple-core` — the heuristic moved there when\n`@mgcrea/mcp-apple-safari` became its second caller — and `docs/passwords.md` in the repo for\nwhy the Passwords app itself is unreachable and this is what ships in its place.\n\n## Notes that will bite you\n\n- **Dates do not fit in a JavaScript number.** Every date column is nanoseconds since 2001 —\n  eighteen digits, past `Number.MAX_SAFE_INTEGER` — and `node:sqlite` _throws_ rather than\n  truncating. Swallowed by a `try`/`catch` that throw looks exactly like \"this column is empty\", and\n  it is how a probe once reported \"no dates present\" for all seven columns across 97,414 messages.\n  Every query here divides in SQL so the integer never reaches JavaScript.\n- **Tapbacks are rows in the message table.** 2,788 of them on the measured store, and a reader that\n  does not filter them renders `Liked \"see you at 8\"` as if somebody typed it. They are excluded\n  from conversations by default and reported on the message they target.\n- **Search covers the blob-only messages.** A `LIKE` pass over the column (16 ms across 97,416 rows)\n  plus a decode pass over the 3,051 rows SQL cannot see (~6 ms). Completeness turned out to be\n  nearly free; a search that silently omitted 3% would not have been.\n- **Refs are GUIDs, not rowids.** SQLite reuses a deleted row's id, and Messages deletes constantly,\n  so a rowid handed out in one turn can resolve to a different message two turns later — plausible,\n  wrong, and silent.\n- **A send cannot be taken back, and nothing here pretends otherwise.** There is no unsend, no draft\n  and no preview in the dictionary; `send` delivers. The tool is gated on `ALLOW_WRITES`, requires\n  `confirm: true`, and its description says all of this, because the model calling it is the last\n  thing between a wording and a recipient.\n\n## Licence\n\n[MIT](LICENSE).\n","readmeFilename":""}