{"_id":"parrot-messenger","_rev":"33-11b979f77beb61531b206c6e3b375366","name":"parrot-messenger","dist-tags":{"latest":"2.3.2"},"versions":{"0.0.1":{"name":"parrot-messenger","version":"0.0.1","author":{"name":"Blackstone Studio"},"license":"MIT","_id":"parrot-messenger@0.0.1","maintainers":[{"name":"blackstonestudio","email":"support@blackstone.studio"}],"homepage":"https://bitbucket.org/blackstone_studio/parrot-mailer#readme","dist":{"shasum":"c1b1e954258570c0e75b5430de232b973b903388","tarball":"https://registry.npmjs.org/parrot-messenger/-/parrot-messenger-0.0.1.tgz","fileCount":14,"integrity":"sha512-ldDAVg300chUcbnJ7AxYkQXwr8aaC/HjrwOBvNpSj4YD8S/Na8u+y/lGzSLAEMBPF1aE7bNojkzsBfGnSfF+Kg==","signatures":[{"sig":"MEUCIQC1K7B2swbtWkKAFhg7/GRYz9C1+DFQM6GdUvgWcuOuSgIgAQUxa5JZPHcTCUhfSsdWSaW53RW7AVQ12Ih/ut2gN4s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12015,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe14HHCRA9TVsSAnZWagAAnZsP/02YOZUlmotVHXExPomn\nLv8LD4/Ce9u6p576hngu2gE+OJX7ZKKr+UyAc3iMhp72e2aVjL/1PEBnQiR5\nDe5/zw2FA0L6ceIioCbGXIco1te7dZlCP8WzsVdRwV+3eH04sexYJJn4Uatc\npFKsHt9K9afpZKBTac6Rdy8uRJJZ+Cm98aMcaL4hGV2qTLeTeyyuWxgsKMpe\njztR7R1HKFZz/agw2+G0lSci/Tu/c1fGkM1TcNBr/XJadoCzyxz6n2gRhkbf\nzuVsmNXE6J5knbkH+nQHp2rozi2Imwmpv6c+ofxNlE0DCSx9U/GfnZuQ/Z6s\nY3yt6QuX+pLqQpiQQvAe92HaaFiU3LrapxPEnWSMUEfA4RDpn53S71QeErDE\nsaHupwAPvtu3jRjXhbOeAwvVtD7GNgPZBtHItS1pGzPuiI5Go5qqdJMvPzJQ\n1APVZI6sudvGJUj6vgFRxrcT1M8YKG8RCP4GZW/1hrFSx1oGqfm6hBXu5rY7\ne+YbTZV81ka6FjB2Vjr4Mo4IjVR5bMfU/YJ6aV95vO6xt3gjQ148NkKwhZK9\nTyyMVVS0lyMc7nlDKN7KsKgvvCaDZhjVowBxAo/E9RwQ/9J69gLSR5aV9Ti6\nwFqJJKlZD7hzWFxjTvHRAqcvJ3exPtFVZe3D5NucOeRMRmJiaSktU2BmN348\nf3tg\r\n=rvvw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"src/index.js","gitHead":"2c7f6b108f3f3130f0a0d3d32c104d864fe13d18","scripts":{"dev":"nodemon -r esm examples.js","test":"echo \"Error: no test specified\" && exit 1","start":"node -r esm examples.js"},"_npmUser":{"name":"blackstonestudio","email":"support@blackstone.studio"},"repository":{"url":"git+https://blackstone_studio@bitbucket.org/blackstone_studio/parrot-mailer.git","type":"git"},"_npmVersion":"6.14.4","description":"","directories":{},"_nodeVersion":"12.16.3","dependencies":{"esm":"^3.2.25","eslint":"^6.8.0","twilio":"^3.41.1","aws-sdk":"^2.642.0","nodemon":"^2.0.2","request":"^2.88.2","handlebars":"^4.7.3","mailgun-js":"^0.22.0","nodemailer":"^6.4.5","html-to-text":"^5.1.1","@sendgrid/mail":"^6.5.5","eslint-plugin-import":"^2.20.1","eslint-plugin-promise":"^4.2.1","eslint-config-airbnb-base":"^14.1.0"},"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/parrot-messenger_0.0.1_1591181766793_0.6289117793435623","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"parrot-messenger","version":"1.0.1","author":{"name":"Blackstone Studio"},"license":"MIT","_id":"parrot-messenger@1.0.1","maintainers":[{"name":"kauyumari","email":"e.garza@blackstone.studio"},{"name":"nishikawa7863","email":"support@blackstone.studio"}],"homepage":"https://github.com/BlackstoneStudio/Parrot-Messenger","bugs":{"url":"https://github.com/BlackstoneStudio/Parrot-Messenger/issues"},"dist":{"shasum":"07fae0cc7c18e7ebfe39626bb00da7289fad0b14","tarball":"https://registry.npmjs.org/parrot-messenger/-/parrot-messenger-1.0.1.tgz","fileCount":14,"integrity":"sha512-yxGzte0YVnzC8EhKRwtoeLei+HypfdzMLuMj2quhtOW8FrmpD7uZzGcW6YIzkojTtj86ywyIlWVFa7Liw1/Llw==","signatures":[{"sig":"MEQCIDNh/FjTZlgAzlj5Cl96aNhNjsEnlSnB/PiarryxrCx9AiBG02wT+kTBQj2wGMzHzSXOxC7Qffi6AGNrIxhr9rPnjg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11988,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJftG1PCRA9TVsSAnZWagAAjZcP/3rB8+FpU8Izq8y5O42b\ncWbyC8eXHjj3Kx0HpdPklmxg3RC2HbgAWnafIP0Nc6CxkyENm38Vf0FyqjJ7\nGpHNvFRr4oSZHq6LVuiG/50fvp1lfOSfOzrHBuXDQ5WqWk224tbq+uOmhJhW\nTPN1eIQHybFZ+QSCcX8vGOnBifViPUCULUdPotPH0ahmAPBe04X9OM3V2paz\nOY5Rx5dtF/cY9UVr52UIATEyzyBiD6A8bh3E0xaFfBQjFDtqROgR+rpAkjZ5\n7mRRTBzVj+7uiE0uf1rAdtoYfb5KNKOtKlJ2jTcKwlzjk2tfUs6ixRdtfkc9\n3MJQpnCxW4xZUEe9PSe1VDc0+XUAoUBKklqgO1A1P7aQwBcp98N+Em6nuFnd\n/L6vdChBpnrPnuJhQCEvE6KeQWmp1ojBH1lGKhIO06gLrqSZxYNkVF6wyPAb\n5+QJvnij1yEixDLxoADQVeFS8/r10tIDIzX5AZhRlYWkrn4PJ/izGOJrJvsI\nFDJeTe2xk8SQeERpqLWDggQThoOMkrRULbCgUi6ihZvXI+/JTse59Pxpsbzo\n5TH82XfPB8SbWqrOVnFU2ZnzAfRqsO8kxu01w/aEI3Ic6TIznD3VRvXUwsHM\nMdTse67mPQ/Adw0D+IjEjCZCNIE9YwyWIbBN+hTZPxFYjjljDpa/ITJ79IsG\nywq/\r\n=zbq0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"src/index.js","gitHead":"73319bcb53a57d46ea51c5ff96cdd0bdbe703701","scripts":{"dev":"nodemon -r esm examples.js","test":"echo \"Error: no test specified\" && exit 1","start":"node -r esm examples.js"},"_npmUser":{"name":"nishikawa7863","email":"support@blackstone.studio"},"repository":{"url":"git+https://github.com/BlackstoneStudio/Parrot-Messenger.git","type":"git"},"_npmVersion":"6.14.4","description":"","directories":{},"_nodeVersion":"12.16.3","dependencies":{"esm":"^3.2.25","eslint":"^6.8.0","twilio":"^3.41.1","aws-sdk":"^2.642.0","nodemon":"^2.0.2","request":"^2.88.2","handlebars":"^4.7.3","mailgun-js":"^0.22.0","nodemailer":"^6.4.5","html-to-text":"^5.1.1","@sendgrid/mail":"^6.5.5","eslint-plugin-import":"^2.20.1","eslint-plugin-promise":"^4.2.1","eslint-config-airbnb-base":"^14.1.0"},"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/parrot-messenger_1.0.1_1605659983426_0.056951479079160316","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"parrot-messenger","version":"1.0.2","author":{"name":"Blackstone Studio"},"license":"MIT","_id":"parrot-messenger@1.0.2","maintainers":[{"name":"nishikawa7863","email":"support@blackstone.studio"},{"name":"kauyumari","email":"e.garza@blackstone.studio"}],"homepage":"https://github.com/BlackstoneStudio/Parrot-Messenger","bugs":{"url":"https://github.com/BlackstoneStudio/Parrot-Messenger/issues"},"dist":{"shasum":"e44a8cacf825bfcfd685e418651c83dda70fccf9","tarball":"https://registry.npmjs.org/parrot-messenger/-/parrot-messenger-1.0.2.tgz","fileCount":17,"integrity":"sha512-6KJUVZNBQMj4P9a4mS85oDjlrkZ+UG4kPd/+KX9diXmbSmA8knjgb2pDmnjE54CdlnZGuoGn+Ubp027ksffv7Q==","signatures":[{"sig":"MEYCIQCBeAzhKLD6Hg/5HQb8fOuZAW6Fla0vPel0GSkIxuF2fQIhAMWwEYJgEtbCbzfq+g94FmKtiJGrI3dpzbuusvboKNAO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16680,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgUqfQCRA9TVsSAnZWagAAJ+cP/RDIAH1fkdDtw2x0H9qC\nsDtwGT+bcTbg1ZCoSjqXLNTeHXmDWIU9hetgTndggspSkJ8L7Zo72tpft84m\n5PEIfWetQwNubYS3BVc6FxQ0TmhzA2nzEJZYrIIF4sP/Hj9cKGvbGV12g8W6\nX19pmyArzGdFqYAZvISg6kZS6VLw9GsbEIVegfJaXzMQg0NNDgWf44OrkJkf\ndhQsgLhTEBBspyl5p2ja1niUUQkIRi30mKxcrKIv1UGh5WpX7TLxEXHWyv7y\niievbBfmoVKLNDBBatbcdmvsxgMAjuXci3OVkR0xMPnSLtqCKib4c6umeXNz\nUVP/lh/Y0Gdo2ri2nynLVlyeHWlG20aMOlVzWI0aht85bzjWImKKIej31mfJ\neQQ66yzpDHVdlY6BY5DjYRT1biTWwc5OtHWFiuB6ZmITE0BuJE9XCbwvM5BZ\nzayfxDhGqNygMFjC24XVoctLRqy5Pf5mMLFji3ZOTiyvQdDjaXaI5MH1sEKt\ns6GRrstytHKGe9nHEQ982jbt1Sw/4jq83PPN/V9JCvvu7SfnoBQ7zy+ckL78\nZ/wdvyMnwwz+MK4dN/DG/EJcowNh99pp8t76osOSnRtQmt7KGJBNvjaHD5zv\nk6Sf6ARuZT6jU7SnlfqSZumPjb1S0LaZ4hzYmjWkns3OcO4lnT8Nr8Liq1vv\nFokV\r\n=GMgo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"src/index.js","gitHead":"4496dc24695a37301ea63088f0414900179df667","scripts":{"dev":"nodemon -r esm examples.js","test":"echo \"Error: no test specified\" && exit 1","start":"node -r esm examples.js"},"_npmUser":{"name":"nishikawa7863","email":"support@blackstone.studio"},"repository":{"url":"git+https://github.com/BlackstoneStudio/Parrot-Messenger.git","type":"git"},"_npmVersion":"6.14.4","description":"<a href=\"https://www.blackstone.studio/\" target=\"_blank\"><img src=\"https://blackstone-open-assets.s3-us-west-2.amazonaws.com/header.png\" alt=\"Blackstone Studio - In Development We Trust\"></a>","directories":{},"_nodeVersion":"12.16.3","dependencies":{"esm":"^3.2.25","axios":"^0.21.1","eslint":"^6.8.0","twilio":"^3.41.1","aws-sdk":"^2.642.0","request":"^2.88.2","handlebars":"^4.7.3","mailgun-js":"^0.22.0","nodemailer":"^6.4.5","html-to-text":"^5.1.1","node-mailjet":"^3.3.1","@sendgrid/mail":"^6.5.5","eslint-plugin-import":"^2.20.1","eslint-plugin-promise":"^4.2.1","eslint-config-airbnb-base":"^14.1.0","@mailchimp/mailchimp_transactional":"^1.0.23"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^2.0.2"},"_npmOperationalInternal":{"tmp":"tmp/parrot-messenger_1.0.2_1616029648284_0.5349629467366439","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"parrot-messenger","version":"1.0.3","author":{"name":"Blackstone Studio"},"license":"MIT","_id":"parrot-messenger@1.0.3","maintainers":[{"name":"nishikawa7863","email":"support@blackstone.studio"},{"name":"kauyumari","email":"e.garza@blackstone.studio"}],"homepage":"https://github.com/BlackstoneStudio/Parrot-Messenger","bugs":{"url":"https://github.com/BlackstoneStudio/Parrot-Messenger/issues"},"dist":{"shasum":"7f08da90eb0fd299ce871fb8026c010bc2f422dd","tarball":"https://registry.npmjs.org/parrot-messenger/-/parrot-messenger-1.0.3.tgz","fileCount":18,"integrity":"sha512-0OuHVNeDL+KTJLYLsVkqKm20+mws2mV6zrgYmB1dUzQQSfziNWF7cCebMlaQ8/rWLSwVVoKi85xG9M/MhY6WVQ==","signatures":[{"sig":"MEYCIQCijQBH8W++GsCy8hW9fxeaIpwLo5U4BZCULIfs4IRWAgIhAMCoixQvmAYGfyUry5od+QtzcfORi+3gLcmSimcBzjLl","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23811,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgU/V/CRA9TVsSAnZWagAAkocQAKSA2XnwiyV3vdovH91x\ng4cWRsqvMMC58hTx5IbnN2Vq4GOOwHkdbHoZdhuoni6Pm0/aBjbUCcY8pbGD\nnSkGnNR1GigxfK1L6eETplkJbPeWwj/9YCcDyAo19JPIZMhYduAU48gGW7GX\n+96g2y6RjyeCWnc4qbA5IU3pgNCtbcF/8Ge7FxNdtx0gcn/wojsDBi8NHGCS\nKVG2ttaP968XY1ZaRx3sD6BEBumlzcDUG8bRRmHxfbKulSEgTqH/RkcYd8Hc\nD7wNQD3Wca7+FEgLAR1w3Zcz3ILf1t7zM+ltP3B6cFjAkZJWC3lF/mY3PaWK\nv5m3MG5sATiQ4iMhbgvlp9lLCIoARocj4/pMdhJA2tvBFw4Hu5pW/yb+E0Fl\ntQvmSarQSNiYmXL6BTJpNA44GFiiQAMZe/KtZIIynP2SQ0ThAm+48VDKQUSd\ntds2SMw7UH0KRp/19yip/nkOcf8uMQarpajCMf9DapEuIM8Dy7FsHt0wVS6z\ntJdUrPa91zxoFr/xVP4efWZi5ifh8rye36Ae77wcJfeGhVRGtkSdX7Ej5Izo\nh/fueFG3nb/Bc9345qCw6Yrt2yNSPXmhyDz5VmFKv3O72FBHHSegv2dTIZBO\ng7jVnVRyFmMhS0KQf8FyJ+EzrGmMouM8vTkQW7Z+WPzdVJNuDQd1mYNE0JlD\neNL4\r\n=s+nz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"src/index.js","gitHead":"e98c358dc31b99006ec622d1cbf1962689fe5384","scripts":{"dev":"nodemon -r esm examples.js","test":"echo \"Error: no test specified\" && exit 1","start":"node -r esm examples.js"},"_npmUser":{"name":"nishikawa7863","email":"support@blackstone.studio"},"repository":{"url":"git+https://github.com/BlackstoneStudio/Parrot-Messenger.git","type":"git"},"_npmVersion":"6.14.4","description":"<a href=\"https://www.blackstone.studio/\" target=\"_blank\"><img src=\"https://blackstone-open-assets.s3-us-west-2.amazonaws.com/header.png\" alt=\"Blackstone Studio - In Development We Trust\"></a>","directories":{},"_nodeVersion":"12.16.3","dependencies":{"esm":"^3.2.25","axios":"^0.21.1","eslint":"^6.8.0","twilio":"^3.41.1","aws-sdk":"^2.642.0","request":"^2.88.2","handlebars":"^4.7.3","mailgun-js":"^0.22.0","nodemailer":"^6.4.5","html-to-text":"^5.1.1","node-mailjet":"^3.3.1","@sendgrid/mail":"^6.5.5","eslint-plugin-import":"^2.20.1","eslint-plugin-promise":"^4.2.1","eslint-config-airbnb-base":"^14.1.0","@mailchimp/mailchimp_transactional":"^1.0.23"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^2.0.2"},"_npmOperationalInternal":{"tmp":"tmp/parrot-messenger_1.0.3_1616115071021_0.2025955296523918","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"parrot-messenger","version":"1.0.4","author":{"name":"Blackstone Studio"},"license":"MIT","_id":"parrot-messenger@1.0.4","maintainers":[{"name":"aleexsolis","email":"aleexsolis@hotmail.com"},{"name":"nishikawa7863","email":"support@blackstone.studio"},{"name":"kauyumari","email":"e.garza@blackstone.studio"}],"homepage":"https://github.com/BlackstoneStudio/Parrot-Messenger","bugs":{"url":"https://github.com/BlackstoneStudio/Parrot-Messenger/issues"},"dist":{"shasum":"9bfec2b7c75878364fd7d8189c63d48a98202672","tarball":"https://registry.npmjs.org/parrot-messenger/-/parrot-messenger-1.0.4.tgz","fileCount":30,"integrity":"sha512-ypMacgvMi0XPoksJOJ8TRHL1k86Ngl0VbG3IFILvSdMlYXoWgLqDQGFJmIx64MkcrgP5v+XYQxxXlqJwGtY0xw==","signatures":[{"sig":"MEUCIApYcqo9AGG4uF6fd4bRE8VMLRjj4DyZuaH/3+x63s5eAiEA4YeMCQmQfHiJSO5mp4ruFuKJRhp5FvpNoIL7Z/3zJiY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":36975,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg7czMCRA9TVsSAnZWagAAdlMP/3uFniPrqyeFmastybxb\nwQ4r/ZppCACIYAlqFQiTIR8mh+sBOJqs6CjaxpSUcd+sszfYQdnPLQ8Pbqbr\nmKmHchreFeD1WnkFngm5La91ROlOps2NgttV3XlgJRqX5pQNALmKvAl5VhW6\n70mOJ1LVGcv0bTVZe53UDtLJNkSg97JfILsQyCzenuPavo3UqmYci07kt6sW\nrVsG73PRXFq6w70DYbRld4RJTvYOHqXxUjBszdrnJzoyUZcO0aKazRVXNmaV\n+JQktysjEbWJ/D/zLyW30LZ8EmOhOKSVgzDh6S9ry7GLAK3Mx82Di2STw29/\nTMCfJPfgkvpnAM8AtLp6KaDZo+oSqYe6Nd+HD1MRtSUMR9fK9bEVLvlNjr99\n6rJaymwbYiW0VDn42ko7JA8CLHCUiT39TL0cGEWYhPAjOWu6rJQh8kSVuRU3\nd1AuDmnYCOZug+CbGM8sjDNKi22E/ByuS00T7/YS9FbjtVnxhCSHON0tdD+o\n35c7KrsmU4ESaOyCm/3FZa/sJqjtq+rHO99AJ0io6H68dqx5uQQjYq3wZItv\nILfhlQZTTjs1nn0m1pX8YvfSJ9FJoKilAOe3urg9rb2DhIKFDi4UaUP09+GJ\nLylem5OeR3os0wwwFtgvHsyfMIk7TU/IYBFauK/ej0Im4W/LToaq1fYEq/lJ\ni0q1\r\n=qn9m\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","gitHead":"c953d71a3a04bc8f421c117c86c4ea866df7fb43","scripts":{"test":"jest","build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"kauyumari","email":"e.garza@blackstone.studio"},"repository":{"url":"git+https://github.com/BlackstoneStudio/Parrot-Messenger.git","type":"git"},"_npmVersion":"7.6.0","description":"<a href=\"https://www.blackstone.studio/\" target=\"_blank\"><img src=\"https://blackstone-open-assets.s3-us-west-2.amazonaws.com/header.png\" alt=\"Blackstone Studio - In Development We Trust\"></a>","directories":{},"_nodeVersion":"15.11.0","dependencies":{"esm":"^3.2.25","axios":"^0.21.1","dotenv":"^10.0.0","twilio":"^3.41.1","aws-sdk":"^2.642.0","request":"^2.88.2","mailchimp":"^1.2.1","handlebars":"^4.7.3","mailgun-js":"^0.22.0","nodemailer":"^6.4.5","html-to-text":"^5.1.1","node-mailjet":"^3.3.1","@sendgrid/mail":"^6.5.5","@types/mailgun-js":"^0.22.12","eslint-plugin-promise":"^4.2.1","@mailchimp/mailchimp_transactional":"^1.0.30"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.6","eslint":"^7.30.0","nodemon":"^2.0.2","ts-jest":"^27.0.3","typescript":"^4.3.5","@types/jest":"^26.0.24","@types/nodemailer":"^6.4.3","@types/html-to-text":"^8.0.1","@types/node-mailjet":"^3.3.7","eslint-plugin-import":"^2.23.4","@typescript-eslint/parser":"^4.28.2","eslint-config-airbnb-base":"^14.2.1","@typescript-eslint/eslint-plugin":"^4.28.2"},"_npmOperationalInternal":{"tmp":"tmp/parrot-messenger_1.0.4_1626197195821_0.9451773474050789","host":"s3://npm-registry-packages"}},"1.0.5":{"name":"parrot-messenger","version":"1.0.5","author":{"name":"Blackstone Studio"},"license":"MIT","_id":"parrot-messenger@1.0.5","maintainers":[{"name":"aleexsolis","email":"aleexsolis@hotmail.com"},{"name":"nishikawa7863","email":"support@blackstone.studio"},{"name":"kauyumari","email":"e.garza@blackstone.studio"}],"homepage":"https://github.com/BlackstoneStudio/Parrot-Messenger","bugs":{"url":"https://github.com/BlackstoneStudio/Parrot-Messenger/issues"},"dist":{"shasum":"c30562b3c44ce2d1b343a9e9672cce3ecaf180d4","tarball":"https://registry.npmjs.org/parrot-messenger/-/parrot-messenger-1.0.5.tgz","fileCount":30,"integrity":"sha512-laTgmZmvKQK5I2VI8zZzbSk8EF+vRDxdg1Tf99kzHa1VQjX+qQYuI1JW9RGh4smYksqbRXn6yoyHN3oZRQl7tg==","signatures":[{"sig":"MEYCIQD3xlfWVm3l+MbfC6R0AkqeBBs7G8Zcmwsm2n15bKYKqQIhAIvsr4ugJ7gdW9NMtHOA7NNOuFlQc6JIufVVSbMsOFc3","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":36974,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg7c09CRA9TVsSAnZWagAAfFAP/i4HO1sF4qqZBnOkeJ+n\n230i3BflJa38d0ojf0aBSHQ9/SYKU+Z03iCKc7GQiAzj1k/iJZYPX4GgDVqC\nupRPYn1PIrwgH/xg6lwL//Km7kcB07GnkGv4Nn8LG4YlUmayXwjywa+i/43x\ndaxH6+M77nkWWeH4trFMRj+k2XdYgEjCIIeMCAEFrCuY5z2MC43cNJIT3fPi\nIxa6oN41u3Rj31bFF0KzEF+LP4Mcp2jzPRGIskZvdR3bJnBjus3xs5pN+GTG\n29b/RErM9LwjWkoXwn58zOBviZUCEgUFbWznCUXwivyL42S5RCDis1DZPN9S\ntDM5YxQGs7NBHhsOQ9JJtMmxxNeDgT3L3fhMavGYHSTGY13od6r48TCaHj7Y\ng4tDFOUtshPtUh6ac3//MVJSSDyBEgYyW0GGLkcFny6i1zg/8eFnCOSkqShR\nJluGGMVSa0F3L8SUO78p5HJWrTRX8UJm3DoI3QS/JNu9dkTUYwqX92p6Ran0\nPVPVVCeTDcW38sEizaWow1qMvTYHpE/vnTuT5ap/6Nwk+YoafMzMC7HO47TX\neEPlSNmZUgTDRqr/psAfFo6FiPUyLdzmlDYPM5GO5LNVKIiG9kXyGX4FEJwz\naSAUB3D7S4bWtO5n2Wgonp5ouavktxM7KVTgcqaqg3lYPxhhHoifqGOXx6VT\naFJ5\r\n=6m3s\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","gitHead":"c1b7d60fe39cc65e4eac8a6f7138c16e68cf9bdb","scripts":{"test":"jest","build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"kauyumari","email":"e.garza@blackstone.studio"},"repository":{"url":"git+https://github.com/BlackstoneStudio/Parrot-Messenger.git","type":"git"},"_npmVersion":"7.6.0","description":"<a href=\"https://www.blackstone.studio/\" target=\"_blank\"><img src=\"https://blackstone-open-assets.s3-us-west-2.amazonaws.com/header.png\" alt=\"Blackstone Studio - In Development We Trust\"></a>","directories":{},"_nodeVersion":"15.11.0","dependencies":{"esm":"^3.2.25","axios":"^0.21.1","dotenv":"^10.0.0","twilio":"^3.41.1","aws-sdk":"^2.642.0","request":"^2.88.2","mailchimp":"^1.2.1","handlebars":"^4.7.3","mailgun-js":"^0.22.0","nodemailer":"^6.4.5","html-to-text":"^5.1.1","node-mailjet":"^3.3.1","@sendgrid/mail":"^6.5.5","@types/mailgun-js":"^0.22.12","eslint-plugin-promise":"^4.2.1","@mailchimp/mailchimp_transactional":"^1.0.30"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.6","eslint":"^7.30.0","nodemon":"^2.0.2","ts-jest":"^27.0.3","typescript":"^4.3.5","@types/jest":"^26.0.24","@types/nodemailer":"^6.4.3","@types/html-to-text":"^8.0.1","@types/node-mailjet":"^3.3.7","eslint-plugin-import":"^2.23.4","@typescript-eslint/parser":"^4.28.2","eslint-config-airbnb-base":"^14.2.1","@typescript-eslint/eslint-plugin":"^4.28.2"},"_npmOperationalInternal":{"tmp":"tmp/parrot-messenger_1.0.5_1626197309018_0.2645581113925213","host":"s3://npm-registry-packages"}},"1.0.6":{"name":"parrot-messenger","version":"1.0.6","author":{"name":"Blackstone Studio"},"license":"MIT","_id":"parrot-messenger@1.0.6","maintainers":[{"name":"aleexsolis","email":"aleexsolis@hotmail.com"},{"name":"nishikawa7863","email":"support@blackstone.studio"},{"name":"kauyumari","email":"e.garza@blackstone.studio"}],"homepage":"https://github.com/BlackstoneStudio/Parrot-Messenger","bugs":{"url":"https://github.com/BlackstoneStudio/Parrot-Messenger/issues"},"dist":{"shasum":"729cb081908bccd1e474937ee1463934be8c5a47","tarball":"https://registry.npmjs.org/parrot-messenger/-/parrot-messenger-1.0.6.tgz","fileCount":30,"integrity":"sha512-mCsGMTAulsmGauV46UYfDPzCUX6urnFhTXsjCkd8g/rgMGz/yNSS7e0v2aTMf4+YZ/GKnsSeE5myy4PvJzszcA==","signatures":[{"sig":"MEUCIFFsauGD/cQa0C3LOwyD3qUL53DmGYY2AN1VKVNXi1CnAiEAoORXZKA+YcqKcMWCQX8Y97Q43iLG3Vc1iVejBFRzNu8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":37103,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg8JmUCRA9TVsSAnZWagAAWjQP/3Zy92bv18XWoYL/7NbI\nJeqd1n5TDH2+Yz/c6X65UonnlbGkBgXEtfYZ3ZZb+hqLLSBBpivf3DLQ7Obt\ntaeVnNcX4iBDtJTllSFzT12LeXLpJpJTalbe+iLDRaggGIeJI5znkM7m3k4a\nABZRdWqXLL4oIAaedeIcAHtmS9tj6dU4PpideZU3XjCJrKNoraPH4F7FAlzJ\nwnPTD06fIsui9mUuO3RUtbV2gkGpsUG4bHno5O30Cq6FXzuEjPKeAZrGVdwQ\nbaYbgL9qqIHnUmqsoODnh15xx512pdnnu4EAwp4UUOXazY7ourvz+1cUxlE4\nUOUZe89IwkAhOp1h/RGR0xepu2OrfT3xqD7qVh3HTsLculv2xeVUdJ/YsOhR\nKs14yz6Q4bTaBIW/PLl0H/265ziVUCSHcKcv379mMcre7ZrouK4UIThsoKpi\n2irnBsFAYor7noM0tzFU4ogP3ImBKtWSlnbZqJ16UvCM0gOk4K9RZ7K3K1l5\nk/zRVax+gHBaMf8qWga+H0Vikf78cokhpipjevmkHlV88swKRmzgz2srfRcu\nkxKrSUeoIrtdqjYLPjgly9O/1YH5BvsyVvK83fzZqbaZLuaYmmkr0BJTLTob\nKqMUHhmLVcNxwBp9SMFHVG8uQlM1Mveh872eGgYl0mij7YoGNgk1zZW+FbwV\ny4mA\r\n=H7xG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","gitHead":"6dc3175ef70f6d678c88ccf8135776d825af4465","scripts":{"lint":"eslint \"{src, apps, libs}/**/*.ts\" --fix","test":"jest","build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"aleexsolis","email":"aleexsolis@hotmail.com"},"repository":{"url":"git+https://github.com/BlackstoneStudio/Parrot-Messenger.git","type":"git"},"_npmVersion":"6.14.11","description":"<a href=\"https://www.blackstone.studio/\" target=\"_blank\"><img src=\"https://blackstone-open-assets.s3-us-west-2.amazonaws.com/header.png\" alt=\"Blackstone Studio - In Development We Trust\"></a>","directories":{},"_nodeVersion":"14.15.5","dependencies":{"esm":"^3.2.25","axios":"^0.21.1","dotenv":"^10.0.0","twilio":"^3.41.1","aws-sdk":"^2.642.0","request":"^2.88.2","mailchimp":"^1.2.1","handlebars":"^4.7.3","mailgun-js":"^0.22.0","nodemailer":"^6.4.5","html-to-text":"^5.1.1","node-mailjet":"^3.3.1","@sendgrid/mail":"^6.5.5","@types/mailgun-js":"^0.22.12","eslint-plugin-promise":"^4.2.1","@mailchimp/mailchimp_transactional":"^1.0.30"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.6","eslint":"^7.30.0","nodemon":"^2.0.2","ts-jest":"^27.0.3","typescript":"^4.3.5","@types/jest":"^26.0.24","@types/nodemailer":"^6.4.3","eslint-plugin-jest":"^24.3.6","@types/html-to-text":"^8.0.1","@types/node-mailjet":"^3.3.7","eslint-plugin-import":"^2.23.4","@typescript-eslint/parser":"^4.28.2","eslint-config-airbnb-base":"^14.2.1","@typescript-eslint/eslint-plugin":"^4.28.2"},"_npmOperationalInternal":{"tmp":"tmp/parrot-messenger_1.0.6_1626380692517_0.19466242931025168","host":"s3://npm-registry-packages"}},"1.0.7":{"name":"parrot-messenger","version":"1.0.7","author":{"name":"Blackstone Studio"},"license":"MIT","_id":"parrot-messenger@1.0.7","maintainers":[{"name":"aleexsolis","email":"aleexsolis@hotmail.com"},{"name":"nishikawa7863","email":"support@blackstone.studio"},{"name":"kauyumari","email":"e.garza@blackstone.studio"}],"homepage":"https://github.com/BlackstoneStudio/Parrot-Messenger","bugs":{"url":"https://github.com/BlackstoneStudio/Parrot-Messenger/issues"},"dist":{"shasum":"bc9fb376445249e276775a0ccaa00acb7a250fa7","tarball":"https://registry.npmjs.org/parrot-messenger/-/parrot-messenger-1.0.7.tgz","fileCount":30,"integrity":"sha512-doF+jGhTo8zw2ex++bRU9w+6x1wbdmkACMaI8gVbPfudVbo4i6D6sejEJJshqY2DKd2siGq2MsfG6FytF/aCsw==","signatures":[{"sig":"MEQCIDLC3EX64GCIJrnuF4NttJKV/vR+vkP0JXTm5Hqn2m+pAiBIJrMkRG7mR12lx69/fPsHWfRFUlIq5sCdWjdF+3V7VQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":37087,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg8b0VCRA9TVsSAnZWagAAz38P/1QBixHpgcBrH7rgGkuK\nMyHEBMNr7t8uXZbrZdNcK7tb5db/6e+DQi/Sf/DbrkqjfoBogcjCWbbjIdnF\nKsG3jQTMP47q0mPYDmjpxnWieAYBzKTfb7C/afV0nKzF5oB0nGVqAbtY9R+1\nkXOl6rLAhatVmdQVcBPG74wNwy9Y0S8q/jUK2CJ/78mmyNeaswvvbpl5JhVZ\n3N2QsxJfiZy31jVJ+YBcfIk5dTCB50ll5s9x9UjngM7BJ9Ljx+3UgZZo10c3\nxTt01Am4nSRR7k/LVxXeWXvb6ZB2p71QP++0cLyMfvSrWcu5xCTMg+tMJYSi\nnSVBLOuoorO4U5+KnNMqDnqmyLBBZRVWb+9mxojmDGvC7nFDPbkJ7ULZurvc\nlhSaMZKfkt8F6savYkH7TjriDwswrJBwswgFZgyJffz9ObDbaAMOnhRg7Dwy\nahhtLa8+8+6l4APpOG7CSHhQquM5lm+bYx5uP4cAifNXQ/dCC8W2MTdcOxGJ\noV5CtnVDOpVevprD/9ffGc75SBtvV5K3XtIwbLHYpdUqqfUMajsWsyrMjIJ4\nIxcuuERyaf1TyS7TJqbhbLHGM/FGeSEePF3+TwIpWoXCVg6txGz81tUcnkMU\nr4DUEjIqEGvQnvi3WYfjHjWn9YDb9SIzXFWesATajH6/E0prVpHbw0WKUjKg\nI2LR\r\n=R/ki\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","gitHead":"47a20c8997ab71fdf1677302e0bcd15195d06c8c","scripts":{"lint":"eslint \"{src, apps, libs}/**/*.ts\" --fix","test":"jest","build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"aleexsolis","email":"aleexsolis@hotmail.com"},"repository":{"url":"git+https://github.com/BlackstoneStudio/Parrot-Messenger.git","type":"git"},"_npmVersion":"6.14.11","description":"<a href=\"https://www.blackstone.studio/\" target=\"_blank\"><img src=\"https://blackstone-open-assets.s3-us-west-2.amazonaws.com/header.png\" alt=\"Blackstone Studio - In Development We Trust\"></a>","directories":{},"_nodeVersion":"14.15.5","dependencies":{"esm":"^3.2.25","axios":"^0.21.1","dotenv":"^10.0.0","twilio":"^3.41.1","aws-sdk":"^2.642.0","request":"^2.88.2","mailchimp":"^1.2.1","handlebars":"^4.7.3","mailgun-js":"^0.22.0","nodemailer":"^6.4.5","html-to-text":"^5.1.1","node-mailjet":"^3.3.1","@sendgrid/mail":"^6.5.5","@types/mailgun-js":"^0.22.12","eslint-plugin-promise":"^4.2.1","@mailchimp/mailchimp_transactional":"^1.0.30"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.6","eslint":"^7.30.0","nodemon":"^2.0.2","ts-jest":"^27.0.3","typescript":"^4.3.5","@types/jest":"^26.0.24","@types/nodemailer":"^6.4.3","eslint-plugin-jest":"^24.3.6","@types/html-to-text":"^8.0.1","@types/node-mailjet":"^3.3.7","eslint-plugin-import":"^2.23.4","@typescript-eslint/parser":"^4.28.2","eslint-config-airbnb-base":"^14.2.1","@typescript-eslint/eslint-plugin":"^4.28.2"},"_npmOperationalInternal":{"tmp":"tmp/parrot-messenger_1.0.7_1626455317757_0.34430984028259215","host":"s3://npm-registry-packages"}},"1.0.8":{"name":"parrot-messenger","version":"1.0.8","author":{"name":"Blackstone Studio"},"license":"MIT","_id":"parrot-messenger@1.0.8","maintainers":[{"name":"nishikawa7863","email":"support@blackstone.studio"},{"name":"kauyumari","email":"e.garza@blackstone.studio"},{"name":"aleexsolis","email":"aleexsolis@hotmail.com"}],"homepage":"https://github.com/BlackstoneStudio/Parrot-Messenger","bugs":{"url":"https://github.com/BlackstoneStudio/Parrot-Messenger/issues"},"dist":{"shasum":"11283d224e5b3970ba5e31d42c9f7799ac1ccdbc","tarball":"https://registry.npmjs.org/parrot-messenger/-/parrot-messenger-1.0.8.tgz","fileCount":30,"integrity":"sha512-0kj3jsDB25nZ5qsRs38po5CbxI081J3p+FyoHiwlnoBNa/f4TydCBGNt9ArDucLOFQjvC3ZfM0Bi5D390PC6ug==","signatures":[{"sig":"MEQCIHIG8FT4oyv8Hh8PcSi2FWqh1Q38GZnhwS+4OUdMGCh6AiAnnHfAdjmOfDnE1zdjKVYCj890rn/jLADNDyrMXDveMw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42816,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg/0NeCRA9TVsSAnZWagAABp8P/iPTj3Q6ZNIb8fy4/ejD\neMbZipYF5nv3be6yr1PGzcadtOSOrrvRZSnmxNyWUONzhrVsceeBk+WfG2WE\nDO52MEzpbZEy+gX5G8SMxglWcgusj17Q4F4HMe+M+SOdv4Zn8YT5dzVPMUjn\nTmhxnMU1TGGP2KdChLErAmS0xwYy3kVk6Pg6VHMtvl5XOPsBtk5uGxddLqd+\nC5CwponT54dToC+1t22u1IHejkeFnON8JxsUm7/4UFaEmh2Rkry5LGHOEGq4\nuMEekJqFDEzLpwhDTOh6YJYjnntF+uCvYTye/J62Y81NeRMlxnfnVaaT4pXw\nbM40XlIVoaOhr7pBkxKg7J3pBINPaot2bSBSt78qAHwkl2acbQafcnIhLkoT\nwTC7BuB5BIqunlPoI1xItL10c5yfZCkAJHFiHrM0NjI5/oPzRXLANvujSf2+\nK3Bc2nikBmRd7mFAdbz3lTXp2AR9+IwOx2KXDUTQMAjiXRe//fq+lKp1ceiH\nuu7Aey3s9uXGHLRypA0KEtvxErDa9EsV2h47M8ELme4DrLFwUauKQkyEInJ2\nGfw6noCXEJiIJxhcVHEIg+PHcr2RBsq/E3YlD/y3rYoQdZFYEdAU+D0G2cFm\naLURPqfOv7tUJ4ziftCjhHIZ02LAmjweZL2b6ouTN/DjDjoQjb6veBrM2CcQ\nKYPk\r\n=7avQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","gitHead":"13aa4fa9fcfab62a72e6ceb0f864261716db1db3","scripts":{"test":"jest","build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"kauyumari","email":"e.garza@blackstone.studio"},"repository":{"url":"git+https://github.com/BlackstoneStudio/Parrot-Messenger.git","type":"git"},"_npmVersion":"6.14.13","description":"<a href=\"https://www.blackstone.studio/\" target=\"_blank\"><img src=\"https://blackstone-open-assets.s3-us-west-2.amazonaws.com/header.png\" alt=\"Blackstone Studio - In Development We Trust\"></a>","directories":{},"_nodeVersion":"14.17.3","dependencies":{"esm":"^3.2.25","axios":"^0.21.1","dotenv":"^10.0.0","twilio":"^3.41.1","aws-sdk":"^2.642.0","request":"^2.88.2","mailchimp":"^1.2.1","handlebars":"^4.7.3","mailgun-js":"^0.22.0","nodemailer":"^6.4.5","html-to-text":"^5.1.1","node-mailjet":"^3.3.1","@sendgrid/mail":"^6.5.5","@types/mailgun-js":"^0.22.12","eslint-plugin-promise":"^4.2.1","@mailchimp/mailchimp_transactional":"^1.0.30"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.6","eslint":"^7.30.0","nodemon":"^2.0.2","ts-jest":"^27.0.3","typescript":"^4.3.5","@types/jest":"^26.0.24","@types/nodemailer":"^6.4.3","@types/html-to-text":"^8.0.1","@types/node-mailjet":"^3.3.7","eslint-plugin-import":"^2.23.4","@typescript-eslint/parser":"^4.28.2","eslint-config-airbnb-base":"^14.2.1","@typescript-eslint/eslint-plugin":"^4.28.2"},"_npmOperationalInternal":{"tmp":"tmp/parrot-messenger_1.0.8_1627341662722_0.8744897194438617","host":"s3://npm-registry-packages"}},"1.0.9":{"name":"parrot-messenger","version":"1.0.9","author":{"name":"Blackstone Studio"},"license":"MIT","_id":"parrot-messenger@1.0.9","maintainers":[{"name":"estefaniagtz","email":"e.gutierrez@blackstone.studio"},{"name":"j.arellano","email":"j.arellano@blackstone.studio"},{"name":"joseordorica","email":"j.davila@blackstone.studio"},{"name":"nishikawa7863","email":"support@blackstone.studio"},{"name":"kauyumari","email":"e.garza@blackstone.studio"},{"name":"aleexsolis","email":"aleexsolis@hotmail.com"}],"homepage":"https://github.com/BlackstoneStudio/Parrot-Messenger","bugs":{"url":"https://github.com/BlackstoneStudio/Parrot-Messenger/issues"},"dist":{"shasum":"824766cf87139438d17b06eb0e186fbf630c2a23","tarball":"https://registry.npmjs.org/parrot-messenger/-/parrot-messenger-1.0.9.tgz","fileCount":30,"integrity":"sha512-xN82nHyE0b1Yrq+82WO+BOqHI+Bx4aZI+VMbH4dardTF7tqAPTkKzc002M74II9GH/FIEAC0JmEDx8zrwLgSvQ==","signatures":[{"sig":"MEUCIQDKlcBlE3EHRf5CzLRsGN/Jr1L7R5bxj8Q5FEcVQt71KgIgXv8NK5flT72+XNVDdXorl5SHr1/XPZPXl49O1P9SnLc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":43163,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhGuZKCRA9TVsSAnZWagAAK10P+gODU7tWXatWhltjxKaP\nSX3/z3S1dgM+WUUgMLPwP/hN1tM4yv4yM1XNhE+vsHosA7udQVInFfy2Hp//\nGM6ny+lBlML93mcZN7NosCWaML9jS5F5xQuIE/JysXR0fcLOnoYLdq799CIs\ndPAHzXqxDuUuHtvCP9jZ3b+UrWhOaNzp0Es5Iq+aa6LBeqSBy3z7ZIanoeHU\nztdC6cXC0Nnu3ujQMkFhdJTP6JstyJLr+HRsTz+AWOhfpuT88wLP8lNU/g/K\nXa1xhAFn9NaGeKK5hqBEhI5wEHLyhCwcuJ7zMc545ENzx4zAnnspohVy14B/\n5f3l6JBNjya87PMjdEVSZ+2j/RL1VkMbOlTN0yIeH6ghY1R/w6xgCvBIes7W\nOpmKsiwrFnKJxkwrqwyeQFpDP5mj7WWSNyULBcHUto02XsSQvMXKH/B9FeLJ\nysC2OXt5Lt+xPlCg9y58OV8Hg6Enkdh7dZwZX9vBfxGneZ3JmMiMVkAXBmuD\nz99o+IRsexuyvJwkq1xrzxkuIJkutkk7CtUmKMSqa+76TIPTedQsBJiC2DQF\n7xsn9eMx5i8RaKjTaSA/SqZNVCq34brrj/J0xYnJQOVCm0BuLEGehxiC9G97\n643qYoOIZZrCQqkqu0m61hsAiq91PKoS/wXT1u/CgYCjKe7doPBEau2xxORp\n3QAs\r\n=E/Jd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","gitHead":"b8e70937b97b63a9b3d997ac5c48f708eef33447","scripts":{"lint":"eslint \"{src, apps, libs}/**/*.ts\" --fix","test":"jest","build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"kauyumari","email":"e.garza@blackstone.studio"},"repository":{"url":"git+https://github.com/BlackstoneStudio/Parrot-Messenger.git","type":"git"},"_npmVersion":"6.14.13","description":"<a href=\"https://www.blackstone.studio/\" target=\"_blank\"><img src=\"https://blackstone-open-assets.s3-us-west-2.amazonaws.com/header.png\" alt=\"Blackstone Studio - In Development We Trust\"></a>","directories":{},"_nodeVersion":"14.17.3","dependencies":{"esm":"^3.2.25","axios":"^0.21.1","dotenv":"^10.0.0","twilio":"^3.41.1","aws-sdk":"^2.642.0","request":"^2.88.2","mailchimp":"^1.2.1","handlebars":"^4.7.3","mailgun-js":"^0.22.0","nodemailer":"^6.4.5","html-to-text":"^5.1.1","node-mailjet":"^3.3.1","@sendgrid/mail":"^6.5.5","@types/mailgun-js":"^0.22.12","eslint-plugin-promise":"^4.2.1","@mailchimp/mailchimp_transactional":"^1.0.30"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.6","eslint":"^7.30.0","nodemon":"^2.0.2","ts-jest":"^27.0.3","typescript":"^4.3.5","@types/jest":"^26.0.24","@types/nodemailer":"^6.4.3","eslint-plugin-jest":"^24.3.6","@types/html-to-text":"^8.0.1","@types/node-mailjet":"^3.3.7","eslint-plugin-import":"^2.23.4","@typescript-eslint/parser":"^4.28.2","eslint-config-airbnb-base":"^14.2.1","@typescript-eslint/eslint-plugin":"^4.28.2"},"_npmOperationalInternal":{"tmp":"tmp/parrot-messenger_1.0.9_1629152842676_0.847294546711568","host":"s3://npm-registry-packages"}},"1.0.10":{"name":"parrot-messenger","version":"1.0.10","author":{"name":"Blackstone Studio"},"license":"MIT","_id":"parrot-messenger@1.0.10","maintainers":[{"name":"estefaniagtz","email":"e.gutierrez@blackstone.studio"},{"name":"joseordorica","email":"j.davila@blackstone.studio"},{"name":"j.arellano","email":"j.arellano@blackstone.studio"},{"name":"nishikawa7863","email":"support@blackstone.studio"},{"name":"aleexsolis","email":"aleexsolis@hotmail.com"}],"homepage":"https://github.com/BlackstoneStudio/Parrot-Messenger","bugs":{"url":"https://github.com/BlackstoneStudio/Parrot-Messenger/issues"},"dist":{"shasum":"3b7c07d881022bed4e94989e010f88a3ee4e115f","tarball":"https://registry.npmjs.org/parrot-messenger/-/parrot-messenger-1.0.10.tgz","fileCount":30,"integrity":"sha512-sf8OlQsX9MWrfGzfVOIy/36BHsB5lH12KA79w0SJHQSWUaO5v7mHL7n7HzDItX/g4dlTN/SKJnJwJvbqdJf26g==","signatures":[{"sig":"MEQCIAwd7xgLoBr8NWtNR4AmO7qI40LkykOaiSU0lbz824T1AiArSf+8nvto7DH1DGbYw1Gv5kvUO9Qo1DBBG06ppuHsag==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42859},"main":"dist/index.js","gitHead":"464f184cddfa42ba85c81a123c2167e76312420c","scripts":{"lint":"eslint \"{src, apps, libs}/**/*.ts\" --fix","test":"jest","build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"aleexsolis","email":"aleexsolis@hotmail.com"},"repository":{"url":"git+https://github.com/BlackstoneStudio/Parrot-Messenger.git","type":"git"},"_npmVersion":"6.14.11","description":"<a href=\"https://www.blackstone.studio/\" target=\"_blank\"><img src=\"https://blackstone-open-assets.s3-us-west-2.amazonaws.com/header.png\" alt=\"Blackstone Studio - In Development We Trust\"></a>","directories":{},"_nodeVersion":"14.15.5","dependencies":{"esm":"^3.2.25","axios":"^0.21.4","dotenv":"^10.0.0","twilio":"^3.41.1","aws-sdk":"^2.642.0","request":"^2.88.2","mailchimp":"^1.2.1","handlebars":"^4.7.3","mailgun-js":"^0.22.0","nodemailer":"^6.4.5","html-to-text":"^5.1.1","node-mailjet":"^3.3.1","@sendgrid/mail":"^6.5.5","@types/mailgun-js":"^0.22.12","eslint-plugin-promise":"^4.2.1","@mailchimp/mailchimp_transactional":"^1.0.30"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.6","eslint":"^7.30.0","nodemon":"^2.0.2","ts-jest":"^27.0.3","typescript":"^4.3.5","@types/jest":"^26.0.24","@types/nodemailer":"^6.4.3","eslint-plugin-jest":"^24.3.6","@types/html-to-text":"^8.0.1","@types/node-mailjet":"^3.3.7","eslint-plugin-import":"^2.23.4","@typescript-eslint/parser":"^4.28.2","eslint-config-airbnb-base":"^14.2.1","@typescript-eslint/eslint-plugin":"^4.28.2"},"_npmOperationalInternal":{"tmp":"tmp/parrot-messenger_1.0.10_1634077547124_0.2932843700380381","host":"s3://npm-registry-packages"}},"1.0.11":{"name":"parrot-messenger","version":"1.0.11","author":{"name":"Blackstone Studio"},"license":"MIT","_id":"parrot-messenger@1.0.11","maintainers":[{"name":"estefaniagtz","email":"e.gutierrez@blackstone.studio"},{"name":"joseordorica","email":"j.davila@blackstone.studio"},{"name":"j.arellano","email":"j.arellano@blackstone.studio"},{"name":"nishikawa7863","email":"support@blackstone.studio"},{"name":"aleexsolis","email":"aleexsolis@hotmail.com"}],"homepage":"https://github.com/BlackstoneStudio/Parrot-Messenger","bugs":{"url":"https://github.com/BlackstoneStudio/Parrot-Messenger/issues"},"dist":{"shasum":"a2a7354b77a5aa982f339cd619e86da8e833434c","tarball":"https://registry.npmjs.org/parrot-messenger/-/parrot-messenger-1.0.11.tgz","fileCount":26,"integrity":"sha512-T35aTzf+5RUgSv+/BTp6waXLw4NEbl79Kd62C/pGr/FOOJ+eKFj7rIYzo1453Swut3ldStR0Chc6ySg71nbHBw==","signatures":[{"sig":"MEUCICELo7ryjIDCcT8An/FkE5yAL5tuJdTJgX4CgHqWCBDjAiEAwg7Cax0lFJr21C47SP932vj98UwGSZtwzbi2xPpgYEo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":37123,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh22SSCRA9TVsSAnZWagAAnC8QAI1Iv11qsi1/svycSTTQ\n1F8dCLdyQ9BhAd/IcchewGD5tJMYlJOmIApSC15yqGkKA+sDqm6NHP+MDFWo\nk/y0XAC5r6r77+XZVKTau5tRpT3NDnEpcVA0rA1xOOB2irU6HtKtqo9yZYWn\nsFY5/XQI84tk+VC7bO4nYlyEz/HNvYNrRXGoVcTXiztRt920kXUBWsyCRuOO\n8m9X8DrrxofiCY9qZhr3ZUhCWw9GCaRZ/huTrvly/oQW3H1OHRM1Xau+Nbip\nU5TVMG6/74yVGDSx4rm5iGHXkJZVSOlwHqcq/aXLwlWpcIFNyc13Ip5PrMYd\nAwEKrap+USo+NzOjv0j61Vdvg8jU0eLLA+0RN+sEM8lVFHhzQCVnceNoYbTd\ny45A4XmOdxEISkOQ9K73jjA5HglY8Bp21pT3uCDz0F8d7I8xiCMKpEZ8sN9y\nbJnbQC3waMTsjg2uBLMQpRUE9SFC0ARSZC6nFPM0gzIrf7QabnFlF03OYmmj\ndu8505wTW7TDE6PrXng6IrViT4Rdf2Re8FmjyKugppgv4bWuqj6X36qjlxD9\nLd0CYsOLuhioi4g1DBIZZyaRblROG966j22Fc3AoGm/WHCM0ypyWB+XP8vNC\nz8u4D4innuxFdCFZ0jesEhbj1fPLPRW1leTfI2BhCGp9myhxmo9JYs2ujm+d\nRVqG\r\n=cg5l\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","gitHead":"f1d939f0c54559cf7157c07e51752df4466169bb","scripts":{"lint":"eslint \"{src, apps, libs}/**/*.ts\" --fix","test":"jest","build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"aleexsolis","email":"aleexsolis@hotmail.com"},"repository":{"url":"git+https://github.com/BlackstoneStudio/Parrot-Messenger.git","type":"git"},"_npmVersion":"6.14.11","description":"<a href=\"https://www.blackstone.studio/\" target=\"_blank\"><img src=\"https://blackstone-open-assets.s3-us-west-2.amazonaws.com/header.png\" alt=\"Blackstone Studio - In Development We Trust\"></a>","directories":{},"_nodeVersion":"14.15.5","dependencies":{"esm":"^3.2.25","axios":"^0.24.0","dotenv":"^10.0.0","eslint":"^8.2.0","twilio":"^3.71.1","aws-sdk":"^2.1025.0","request":"^2.88.2","form-data":"^4.0.0","mailchimp":"^1.2.1","handlebars":"^4.7.7","mailgun.js":"^3.7.3","nodemailer":"^6.7.0","html-to-text":"^8.1.0","@sendgrid/mail":"^7.6.0","@types/mailgun-js":"^0.22.12","@mailchimp/mailchimp_transactional":"^1.0.46"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.3.1","nodemon":"^2.0.15","ts-jest":"^27.0.7","typescript":"^4.4.4","@types/jest":"^27.0.2","@types/nodemailer":"^6.4.4","eslint-plugin-jest":"^25.2.4","@types/html-to-text":"^8.0.1","@types/node-mailjet":"^3.3.7","eslint-plugin-import":"^2.25.3","@typescript-eslint/parser":"^5.3.1","eslint-config-airbnb-base":"^15.0.0","@typescript-eslint/eslint-plugin":"^5.3.1"},"_npmOperationalInternal":{"tmp":"tmp/parrot-messenger_1.0.11_1636590103533_0.9510731349226484","host":"s3://npm-registry-packages"}},"1.0.12":{"name":"parrot-messenger","version":"1.0.12","author":{"name":"Blackstone Studio"},"license":"MIT","_id":"parrot-messenger@1.0.12","maintainers":[{"name":"estefaniagtz","email":"e.gutierrez@blackstone.studio"},{"name":"joseordorica","email":"j.davila@blackstone.studio"},{"name":"j.arellano","email":"j.arellano@blackstone.studio"},{"name":"nishikawa7863","email":"support@blackstone.studio"},{"name":"aleexsolis","email":"aleexsolis@hotmail.com"}],"homepage":"https://github.com/BlackstoneStudio/Parrot-Messenger","bugs":{"url":"https://github.com/BlackstoneStudio/Parrot-Messenger/issues"},"dist":{"shasum":"350c455c36c8e34969467b5f66cc0c57785fb084","tarball":"https://registry.npmjs.org/parrot-messenger/-/parrot-messenger-1.0.12.tgz","fileCount":26,"integrity":"sha512-iJ/658nTKU9ZuBWoESQDnjSWC5APp9OjgZa2CuudpAONYdGdfcKT6txBCPfHlQ0hm1miGzI1SERhItTrAOpNjQ==","signatures":[{"sig":"MEUCIDuvNbzA9GwxPOkp/DBAlCy7i9Ia7QkRMrekhJ2+UdyKAiEAmrfcfrl1RVLMwcxVuCoE2faN/b9QMHganlh4NLYwahQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":37246,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh7vrlCRA9TVsSAnZWagAAhfcP/2L6kL5XVTDyG3SGZZjy\nuJqsLSawOq/2MqQrNMOrUuM+/YcCJIoW1f5GxZtBv+qfroUFK8aKk1lOr5QQ\nGp+wLbOBmuCR9BevnLeGxN4GVkY1qdTevDmF+9Wj9t+p3xSrh0waSp0gVv76\nOe18+x0Sc3C5ERS0MIVS7Dm9KjO56+AwNnPoi8mSpZeDvMOvdTm88WktHOI5\nad02TG3owdDVBR62bjlSRaDDRMCz7oxNRzr/O0AAHszGo+zCuYmWCvT347a9\nFfXbsCRujDhRtIDB0DzT74ce3nWRJmxy0csxkxjyYnGMcJqxyQ84vH2pdn3Q\nHLSXQzDaw2Ji/i0ZKufpxz+aoly7OpsQlBY0Q72xWlZNcO1SaBaKQf7UI98O\nNuV8AQR+GgcBhfE7BLwlOyaOX3auG6Gq0R8yiB350c45yf0+rYfgtgqpm+Yi\npvpOIoRoqzqJ8q1OjDgi4mlCcW+knfJCMNbBUY9OQ3iFL5/6m6NaQdEo6uoj\no2jkACRSwXcT+44FAuQgUjwAJWRtoXHLOeAZGU25wop6z9dc6cDFlQFrT2Fx\neaeADpgmWQth8ExRtK+Do4fbqIvzbpVsLJ2prB/dcwS2d/FU+2Cux8bB5inj\ns0Vf1PJilaPoK4w3Fm33sDX7LjW++pprkHu4QQvIfvabPwUEQLAwPJGXs3hA\nR2tx\r\n=xdp6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","gitHead":"ef95e22f72e35d792153f1538c8683671134caf9","scripts":{"lint":"eslint \"{src, apps, libs}/**/*.ts\" --fix","test":"jest","build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"aleexsolis","email":"aleexsolis@hotmail.com"},"repository":{"url":"git+https://github.com/BlackstoneStudio/Parrot-Messenger.git","type":"git"},"_npmVersion":"6.14.11","description":"<a href=\"https://www.blackstone.studio/\" target=\"_blank\"><img src=\"https://blackstone-open-assets.s3-us-west-2.amazonaws.com/header.png\" alt=\"Blackstone Studio - In Development We Trust\"></a>","directories":{},"_nodeVersion":"14.15.5","dependencies":{"esm":"^3.2.25","axios":"^0.24.0","dotenv":"^10.0.0","eslint":"^8.2.0","twilio":"^3.71.1","aws-sdk":"^2.1025.0","request":"^2.88.2","form-data":"^4.0.0","mailchimp":"^1.2.1","handlebars":"^4.7.7","mailgun.js":"^3.7.3","nodemailer":"^6.7.0","html-to-text":"^8.1.0","@sendgrid/mail":"^7.6.0","@types/mailgun-js":"^0.22.12","@mailchimp/mailchimp_transactional":"^1.0.46"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.3.1","nodemon":"^2.0.15","ts-jest":"^27.0.7","typescript":"^4.4.4","@types/jest":"^27.0.2","@types/nodemailer":"^6.4.4","eslint-plugin-jest":"^25.2.4","@types/html-to-text":"^8.0.1","@types/node-mailjet":"^3.3.7","eslint-plugin-import":"^2.25.3","@typescript-eslint/parser":"^5.3.1","eslint-config-airbnb-base":"^15.0.0","@typescript-eslint/eslint-plugin":"^5.3.1"},"_npmOperationalInternal":{"tmp":"tmp/parrot-messenger_1.0.12_1643051748945_0.7365669218948689","host":"s3://npm-registry-packages"}},"1.0.13":{"name":"parrot-messenger","version":"1.0.13","author":{"name":"Blackstone Studio"},"license":"MIT","_id":"parrot-messenger@1.0.13","maintainers":[{"name":"estefaniagtz","email":"e.gutierrez@blackstone.studio"},{"name":"joseordorica","email":"j.davila@blackstone.studio"},{"name":"nishikawa7863","email":"support@blackstone.studio"},{"name":"aleexsolis","email":"aleexsolis@hotmail.com"}],"homepage":"https://github.com/BlackstoneStudio/Parrot-Messenger","bugs":{"url":"https://github.com/BlackstoneStudio/Parrot-Messenger/issues"},"dist":{"shasum":"2ab9c5e11ae338262f5dc5eaf35cf0a206e992d1","tarball":"https://registry.npmjs.org/parrot-messenger/-/parrot-messenger-1.0.13.tgz","fileCount":28,"integrity":"sha512-1lpAZP+FBN6bEXL3GfN/ftWs2/d8PqjPwY4YMvepZWrYalEKpUQVT8OkczeFmakZtMcjmEL33l8ThzzeL0jEDQ==","signatures":[{"sig":"MEQCIFkegyyhh9lf81kAxKvp9HFKh6frWHM2cgzjwQH94+UfAiBAoqZMQF/kH3jZdRN/vkKvWV6hgkbF6dkd74z62g3bKg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41442},"main":"dist/index.js","gitHead":"575e7dfc93539729b2cabfe212205513861aed3d","scripts":{"lint":"eslint \"{src, apps, libs}/**/*.ts\" --fix","test":"jest","build":"tsc","prepare":"npm run build"},"_npmUser":{"name":"aleexsolis","email":"aleexsolis@hotmail.com"},"repository":{"url":"git+https://github.com/BlackstoneStudio/Parrot-Messenger.git","type":"git"},"_npmVersion":"6.14.11","description":"<a href=\"https://www.blackstone.studio/\" target=\"_blank\"><img src=\"https://blackstone-open-assets.s3-us-west-2.amazonaws.com/header.png\" alt=\"Blackstone Studio - In Development We Trust\"></a>","directories":{},"_nodeVersion":"14.15.5","dependencies":{"esm":"^3.2.25","axios":"^1.1.3","dotenv":"^16.0.3","eslint":"^8.26.0","twilio":"^3.83.0","request":"^2.88.2","form-data":"^4.0.0","mailchimp":"^1.2.1","handlebars":"^4.7.7","mailgun.js":"^8.0.2","nodemailer":"^6.8.0","html-to-text":"^8.2.1","@sendgrid/mail":"^7.7.0","@types/mailgun-js":"^0.22.12","@aws-sdk/client-ses":"^3.329.0","@mailchimp/mailchimp_transactional":"^1.0.48"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.2.2","nodemon":"^2.0.20","ts-jest":"^29.0.3","typescript":"^4.8.4","@types/jest":"^29.2.0","@types/nodemailer":"^6.4.6","eslint-plugin-jest":"^27.1.3","@types/html-to-text":"^8.1.1","@types/node-mailjet":"^3.3.9","eslint-plugin-import":"^2.26.0","@typescript-eslint/parser":"^5.42.0","eslint-config-airbnb-base":"^15.0.0","@typescript-eslint/eslint-plugin":"^5.42.0","@types/mailchimp__mailchimp_transactional":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/parrot-messenger_1.0.13_1683670981494_0.6134409705286403","host":"s3://npm-registry-packages"}},"2.0.1":{"name":"parrot-messenger","version":"2.0.1","keywords":["email","sms","voice","chat","messaging","notifications","aws","twilio","sendgrid","mailgun","slack","telegram","unified-messaging","typescript"],"author":{"name":"Blackstone Studio"},"license":"MIT","_id":"parrot-messenger@2.0.1","maintainers":[{"name":"orlandolml","email":"or.martinez@blackstone.studio"},{"name":"estefaniagtz","email":"e.gutierrez@blackstone.studio"},{"name":"joseordorica","email":"j.davila@blackstone.studio"},{"name":"nishikawa7863","email":"support@blackstone.studio"}],"homepage":"https://github.com/BlackstoneStudio/Parrot-Messenger","bugs":{"url":"https://github.com/BlackstoneStudio/Parrot-Messenger/issues"},"dist":{"shasum":"c97ca18d518fca760b3174634d3e53b7aeb3f812","tarball":"https://registry.npmjs.org/parrot-messenger/-/parrot-messenger-2.0.1.tgz","fileCount":119,"integrity":"sha512-ZU69v4fYdZF3s3fhEFuG7EOBbrNoqkROuFq+1akSj7GQ/j881NlAud7mjHf9okkLMOtjw6cXEjqlg0hhojqRcQ==","signatures":[{"sig":"MEQCIEFoZCaPw2Qm3CwgAvFOjkkHkEMdc88RiRzyYZgdBfMxAiACEnDWvmpctCqGlJB7QTcHBsGwNYRAeYIqFqYtQ1vnwQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":188862},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"e7d1fa7c2733a09bdeb8a0d62eceec7665376425","scripts":{"dev":"tsc --watch","docs":"typedoc","lint":"eslint \"{src,test}/**/*.ts\"","test":"jest","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist coverage","format":"prettier --write \"{src,test}/**/*.{ts,js,json}\"","prepare":"husky","release":"semantic-release","lint:fix":"eslint \"{src,test}/**/*.ts\" --fix","prebuild":"npm run clean","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:debug":"node --inspect-brk ./node_modules/.bin/jest --runInBand","test:watch":"jest --watch","format:check":"prettier --check \"{src,test}/**/*.{ts,js,json}\"","test:coverage":"jest --coverage","coverage:badge":"npm test -- --coverage --silent --ci --coverageReporters=json-summary && node .github/scripts/update-coverage-badge.js","prepublishOnly":"npm run lint && npm run typecheck && npm run build && npm test","release:dry-run":"semantic-release --dry-run","coverage:badge:fast":"node .github/scripts/update-coverage-badge-fast.js"},"_npmUser":{"name":"nishikawa7863","actor":{"name":"nishikawa7863","type":"user","email":"support@blackstone.studio"},"email":"support@blackstone.studio"},"repository":{"url":"git+https://github.com/BlackstoneStudio/Parrot-Messenger.git","type":"git"},"_npmVersion":"10.9.2","description":"Unified messaging library for Email, SMS, and Voice with multiple provider support","directories":{},"lint-staged":{"*.{ts,js}":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"20.19.2","dependencies":{"axios":"^1.7.8","telnyx":"^2.0.0","twilio":"^5.7.1","form-data":"^4.0.3","validator":"^13.15.15","handlebars":"^4.7.8","mailgun.js":"^12.0.3","nodemailer":"^7.0.3","xmlbuilder2":"^3.1.1","html-to-text":"^9.0.5","@sendgrid/mail":"^8.1.5","@types/dompurify":"^3.0.5","@types/validator":"^13.15.2","@aws-sdk/client-ses":"^3.835.0","@aws-sdk/client-sns":"^3.835.0","isomorphic-dompurify":"^2.25.0","@mailchimp/mailchimp_transactional":"^1.0.59"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.2","husky":"^9.1.7","dotenv":"^16.5.0","eslint":"^8.57.1","ts-jest":"^29.2.5","typedoc":"^0.28.5","prettier":"^3.6.0","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.4","lint-staged":"^16.1.2","semantic-release":"^24.2.5","@types/nodemailer":"^6.4.17","eslint-plugin-jest":"^29.0.1","@types/html-to-text":"^9.0.4","eslint-plugin-import":"^2.32.0","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.1","eslint-config-prettier":"^10.1.5","@typescript-eslint/parser":"^8.35.0","eslint-config-airbnb-base":"^15.0.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.35.0","@types/mailchimp__mailchimp_transactional":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/parrot-messenger_2.0.1_1751031879872_0.8228860827952302","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"parrot-messenger","version":"2.1.0","keywords":["email","sms","voice","chat","messaging","notifications","aws","twilio","sendgrid","mailgun","slack","telegram","unified-messaging","typescript"],"author":{"name":"Blackstone Studio"},"license":"MIT","_id":"parrot-messenger@2.1.0","maintainers":[{"name":"estefaniagtz","email":"e.gutierrez@blackstone.studio"},{"name":"nishikawa7863","email":"support@blackstone.studio"}],"homepage":"https://github.com/BlackstoneStudio/Parrot-Messenger","bugs":{"url":"https://github.com/BlackstoneStudio/Parrot-Messenger/issues"},"dist":{"shasum":"3ad1eb5818b82028a57195610287e207f2df6928","tarball":"https://registry.npmjs.org/parrot-messenger/-/parrot-messenger-2.1.0.tgz","fileCount":127,"integrity":"sha512-U6bSX+HTIFvX5armDgwb61vUh+3URkR/S/IDZKcoJPpz+b+Q2Rb2DqoKqJsWqqBw2OCXYxj2cL/7sXlqu0dyCQ==","signatures":[{"sig":"MEQCIBSDxM82LZ/ZLL/WQq91CpHv0jFVVn/Aw8O3uSnq3FofAiBWzih8yDRJYj3ssDLGHvREkjsml+r1IZI+hWKZforabg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":198665},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"9f73cad6ebe2888f3a9f191da908c25c1f093adb","scripts":{"dev":"tsc --watch","docs":"typedoc","lint":"eslint \"{src,test}/**/*.ts\"","test":"jest","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist coverage","format":"prettier --write \"{src,test}/**/*.{ts,js,json}\"","prepare":"husky","release":"semantic-release","lint:fix":"eslint \"{src,test}/**/*.ts\" --fix","prebuild":"npm run clean","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:debug":"node --inspect-brk ./node_modules/.bin/jest --runInBand","test:watch":"jest --watch","format:check":"prettier --check \"{src,test}/**/*.{ts,js,json}\"","test:coverage":"jest --coverage","coverage:badge":"npm test -- --coverage --silent --ci --coverageReporters=json-summary && node .github/scripts/update-coverage-badge.js","prepublishOnly":"npm run lint && npm run typecheck && npm run build && npm test","release:dry-run":"semantic-release --dry-run","coverage:badge:fast":"node .github/scripts/update-coverage-badge-fast.js"},"_npmUser":{"name":"nishikawa7863","email":"support@blackstone.studio"},"overrides":{"fast-xml-parser":"5.5.6"},"repository":{"url":"git+https://github.com/BlackstoneStudio/Parrot-Messenger.git","type":"git"},"_npmVersion":"10.9.6","description":"Unified messaging library for Email, SMS, and Voice with multiple provider support","directories":{},"lint-staged":{"*.{ts,js}":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"20.20.1","dependencies":{"axios":"^1.7.8","resend":"^6.9.4","telnyx":"^6.15.0","twilio":"^5.13.0","postmark":"^4.0.7","form-data":"^4.0.5","validator":"^13.15.15","handlebars":"^4.7.8","mailgun.js":"^12.7.1","nodemailer":"^7.0.3","html-to-text":"^9.0.5","@sendgrid/mail":"^8.1.6","@types/dompurify":"^3.0.5","@types/validator":"^13.15.2","@aws-sdk/client-ses":"^3.835.0","@aws-sdk/client-sns":"^3.835.0","isomorphic-dompurify":"^2.25.0","@mailchimp/mailchimp_transactional":"^1.3.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.3.0","husky":"^9.1.7","dotenv":"^16.5.0","eslint":"^8.57.1","ts-jest":"^29.4.6","typedoc":"^0.28.17","prettier":"^3.8.1","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.0.4","lint-staged":"^16.4.0","semantic-release":"^24.2.5","@types/nodemailer":"^6.4.17","eslint-plugin-jest":"^29.15.0","@types/html-to-text":"^9.0.4","eslint-plugin-import":"^2.32.0","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.1","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.57.1","eslint-config-airbnb-base":"^15.0.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.57.1","@types/mailchimp__mailchimp_transactional":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/parrot-messenger_2.1.0_1773799139025_0.452932634306912","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"parrot-messenger","version":"2.2.0","keywords":["email","sms","voice","chat","messaging","notifications","aws","twilio","sendgrid","mailgun","slack","telegram","unified-messaging","typescript"],"author":{"name":"Blackstone Studio"},"license":"MIT","_id":"parrot-messenger@2.2.0","maintainers":[{"name":"estefaniagtz","email":"e.gutierrez@blackstone.studio"},{"name":"nishikawa7863","email":"support@blackstone.studio"}],"homepage":"https://github.com/BlackstoneStudio/Parrot-Messenger","bugs":{"url":"https://github.com/BlackstoneStudio/Parrot-Messenger/issues"},"dist":{"shasum":"eaad69d0953811bf93ab5cfb45f848cabd5c240a","tarball":"https://registry.npmjs.org/parrot-messenger/-/parrot-messenger-2.2.0.tgz","fileCount":131,"integrity":"sha512-Z6Ph045nnze/FO63w3oqOqsMH70WxOZZ9wW8Sw7uq4GpBd/Clsp1oMHnfD39Xm9tNlfgq8+bcu0q2XF2oSJoIQ==","signatures":[{"sig":"MEYCIQCsKfbMgYLx5IVUBEYmsvaftpe5a165rCWxHuGW8B8lVAIhAIxYIqIxNgyd0SA0+HojfrRZYtaER+znf83+yOEFC9Su","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":206934},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"}},"gitHead":"afc3ca547aa6d206240131aaf3bf086241bd4c55","scripts":{"dev":"tsc --watch","docs":"typedoc","lint":"eslint \"{src,test}/**/*.ts\"","test":"jest","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist coverage","format":"prettier --write \"{src,test}/**/*.{ts,js,json}\"","prepare":"husky","release":"semantic-release","lint:fix":"eslint \"{src,test}/**/*.ts\" --fix","prebuild":"npm run clean","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:debug":"node --inspect-brk ./node_modules/.bin/jest --runInBand","test:watch":"jest --watch","format:check":"prettier --check \"{src,test}/**/*.{ts,js,json}\"","test:coverage":"jest --coverage","coverage:badge":"npm test -- --coverage --silent --ci --coverageReporters=json-summary && node .github/scripts/update-coverage-badge.js","prepublishOnly":"npm run lint && npm run typecheck && npm run build && npm test","release:dry-run":"semantic-release --dry-run","coverage:badge:fast":"node .github/scripts/update-coverage-badge-fast.js"},"_npmUser":{"name":"nishikawa7863","email":"support@blackstone.studio"},"overrides":{"fast-xml-parser":"5.5.6"},"repository":{"url":"git+https://github.com/BlackstoneStudio/Parrot-Messenger.git","type":"git"},"_npmVersion":"10.9.6","description":"Unified messaging library for Email, SMS, and Voice with multiple provider support","directories":{},"lint-staged":{"*.{ts,js}":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"20.20.1","dependencies":{"axios":"^1.7.8","resend":"^6.9.4","telnyx":"^6.15.0","twilio":"^5.13.0","postmark":"^4.0.7","form-data":"^4.0.5","validator":"^13.15.15","handlebars":"^4.7.8","mailgun.js":"^12.7.1","nodemailer":"^7.0.3","html-to-text":"^9.0.5","@sendgrid/mail":"^8.1.6","@types/dompurify":"^3.0.5","@types/validator":"^13.15.2","@aws-sdk/client-ses":"^3.835.0","@aws-sdk/client-sns":"^3.835.0","isomorphic-dompurify":"^2.25.0","@mailchimp/mailchimp_transactional":"^1.3.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.3.0","husky":"^9.1.7","dotenv":"^16.5.0","eslint":"^8.57.1","ts-jest":"^29.4.6","typedoc":"^0.28.17","prettier":"^3.8.1","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.0.4","lint-staged":"^16.4.0","semantic-release":"^24.2.5","@types/nodemailer":"^6.4.17","eslint-plugin-jest":"^29.15.0","@types/html-to-text":"^9.0.4","eslint-plugin-import":"^2.32.0","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.1","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.57.1","eslint-config-airbnb-base":"^15.0.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.57.1","@types/mailchimp__mailchimp_transactional":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/parrot-messenger_2.2.0_1773866779854_0.5971999024153911","host":"s3://npm-registry-packages-npm-production"}},"2.2.1":{"name":"parrot-messenger","version":"2.2.1","keywords":["email","sms","voice","chat","messaging","notifications","aws","twilio","sendgrid","mailgun","slack","telegram","unified-messaging","typescript"],"author":{"name":"Blackstone Studio"},"license":"MIT","_id":"parrot-messenger@2.2.1","maintainers":[{"name":"estefaniagtz","email":"e.gutierrez@blackstone.studio"},{"name":"nishikawa7863","email":"support@blackstone.studio"}],"homepage":"https://github.com/BlackstoneStudio/Parrot-Messenger","bugs":{"url":"https://github.com/BlackstoneStudio/Parrot-Messenger/issues"},"dist":{"shasum":"02abb038924a921cf939213ee0c434308c472446","tarball":"https://registry.npmjs.org/parrot-messenger/-/parrot-messenger-2.2.1.tgz","fileCount":131,"integrity":"sha512-zs2Db0P/tBKoX/rKHhXWdbNmPDCAFzP/ivHi03XwYQRFTSCM9oBXxHGQo9kCLLKWkMm3LWT24mcju4237OqGuQ==","signatures":[{"sig":"MEUCIQCfK5Pdn95pNEOvTaC3fnhMFx9JzSJOYjd1zw6oX2MQBgIgF3aChw+T9icXtuOwdeDNd+65t64sYkYLxcLXJbfvbSA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":206934},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"}},"gitHead":"9db912b5449bd1470ec0388b6db28ec14fc2afaf","scripts":{"dev":"tsc --watch","docs":"typedoc","lint":"eslint \"{src,test}/**/*.ts\"","test":"jest","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist coverage","format":"prettier --write \"{src,test}/**/*.{ts,js,json}\"","prepare":"husky","release":"semantic-release","lint:fix":"eslint \"{src,test}/**/*.ts\" --fix","prebuild":"npm run clean","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:debug":"node --inspect-brk ./node_modules/.bin/jest --runInBand","test:watch":"jest --watch","format:check":"prettier --check \"{src,test}/**/*.{ts,js,json}\"","test:coverage":"jest --coverage","coverage:badge":"npm test -- --coverage --silent --ci --coverageReporters=json-summary && node .github/scripts/update-coverage-badge.js","prepublishOnly":"npm run lint && npm run typecheck && npm run build && npm test","release:dry-run":"semantic-release --dry-run","coverage:badge:fast":"node .github/scripts/update-coverage-badge-fast.js"},"_npmUser":{"name":"nishikawa7863","email":"support@blackstone.studio"},"overrides":{"fast-xml-parser":"5.5.6"},"repository":{"url":"git+https://github.com/BlackstoneStudio/Parrot-Messenger.git","type":"git"},"_npmVersion":"10.9.6","description":"Unified messaging library for Email, SMS, and Voice with multiple provider support","directories":{},"lint-staged":{"*.{ts,js}":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"20.20.1","dependencies":{"axios":"^1.7.8","resend":"^6.9.4","telnyx":"^6.15.0","twilio":"^5.13.0","postmark":"^4.0.7","form-data":"^4.0.5","validator":"^13.15.15","handlebars":"^4.7.8","mailgun.js":"^12.7.1","nodemailer":"^7.0.3","html-to-text":"^9.0.5","@sendgrid/mail":"^8.1.6","@types/dompurify":"^3.0.5","@types/validator":"^13.15.2","@aws-sdk/client-ses":"^3.835.0","@aws-sdk/client-sns":"^3.835.0","isomorphic-dompurify":"^2.25.0","@mailchimp/mailchimp_transactional":"^1.3.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.3.0","husky":"^9.1.7","dotenv":"^16.5.0","eslint":"^8.57.1","ts-jest":"^29.4.6","typedoc":"^0.28.17","prettier":"^3.8.1","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.0.4","lint-staged":"^16.4.0","semantic-release":"^24.2.5","@types/nodemailer":"^6.4.17","eslint-plugin-jest":"^29.15.0","@types/html-to-text":"^9.0.4","eslint-plugin-import":"^2.32.0","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.1","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.57.1","eslint-config-airbnb-base":"^15.0.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.57.1","@types/mailchimp__mailchimp_transactional":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/parrot-messenger_2.2.1_1773879510890_0.36652137100580884","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"parrot-messenger","version":"2.3.0","keywords":["email","sms","voice","chat","messaging","notifications","aws","twilio","sendgrid","mailgun","slack","telegram","unified-messaging","typescript"],"author":{"name":"Blackstone Studio"},"license":"MIT","_id":"parrot-messenger@2.3.0","maintainers":[{"name":"estefaniagtz","email":"e.gutierrez@blackstone.studio"},{"name":"nishikawa7863","email":"support@blackstone.studio"}],"homepage":"https://github.com/BlackstoneStudio/Parrot-Messenger","bugs":{"url":"https://github.com/BlackstoneStudio/Parrot-Messenger/issues"},"dist":{"shasum":"f01408fc2cc6bbd180a89548150ec30807871b82","tarball":"https://registry.npmjs.org/parrot-messenger/-/parrot-messenger-2.3.0.tgz","fileCount":131,"integrity":"sha512-ytJz30OwR6dAFyzZQWyoCf1xchUMfG9LmPQYaXYWq/IceZhc9ECtiIY7VCwZRwj2o3LsSMcmsO+xIBjaZEP+9g==","signatures":[{"sig":"MEUCIQCrWbvK+F35manOzvl+UluA0dZztKfbxxaJso2RTIDzEgIgSdwAJ55oJJ31BkggGQRQGKMo+ln3+grZrPB11ecFrII=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":206934},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"}},"gitHead":"1f67bcc81d375c37a2fea6e678000c3daf33d20f","scripts":{"dev":"tsc --watch","docs":"typedoc","lint":"eslint \"{src,test}/**/*.ts\"","test":"jest","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist coverage","format":"prettier --write \"{src,test}/**/*.{ts,js,json}\"","prepare":"husky","release":"semantic-release","lint:fix":"eslint \"{src,test}/**/*.ts\" --fix","prebuild":"npm run clean","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:debug":"node --inspect-brk ./node_modules/.bin/jest --runInBand","test:watch":"jest --watch","format:check":"prettier --check \"{src,test}/**/*.{ts,js,json}\"","test:coverage":"jest --coverage","coverage:badge":"npm test -- --coverage --silent --ci --coverageReporters=json-summary && node .github/scripts/update-coverage-badge.js","prepublishOnly":"npm run lint && npm run typecheck && npm run build && npm test","release:dry-run":"semantic-release --dry-run","coverage:badge:fast":"node .github/scripts/update-coverage-badge-fast.js"},"_npmUser":{"name":"nishikawa7863","email":"support@blackstone.studio"},"overrides":{"fast-xml-parser":"5.5.6"},"repository":{"url":"git+https://github.com/BlackstoneStudio/Parrot-Messenger.git","type":"git"},"_npmVersion":"10.9.6","description":"Unified messaging library for Email, SMS, and Voice with multiple provider support","directories":{},"lint-staged":{"*.{ts,js}":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"20.20.1","dependencies":{"axios":"^1.7.8","resend":"^6.9.4","telnyx":"^6.15.0","twilio":"^5.13.0","postmark":"^4.0.7","form-data":"^4.0.5","validator":"^13.15.15","handlebars":"^4.7.8","mailgun.js":"^12.7.1","nodemailer":"^7.0.3","html-to-text":"^9.0.5","@sendgrid/mail":"^8.1.6","@types/dompurify":"^3.0.5","@types/validator":"^13.15.2","@aws-sdk/client-ses":"^3.835.0","@aws-sdk/client-sns":"^3.835.0","isomorphic-dompurify":"^2.25.0","@mailchimp/mailchimp_transactional":"^1.3.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.3.0","husky":"^9.1.7","dotenv":"^16.5.0","eslint":"^8.57.1","ts-jest":"^29.4.6","typedoc":"^0.28.17","prettier":"^3.8.1","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.0.4","lint-staged":"^16.4.0","semantic-release":"^24.2.5","@types/nodemailer":"^6.4.17","eslint-plugin-jest":"^29.15.0","@types/html-to-text":"^9.0.4","eslint-plugin-import":"^2.32.0","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.1","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.57.1","eslint-config-airbnb-base":"^15.0.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.57.1","@types/mailchimp__mailchimp_transactional":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/parrot-messenger_2.3.0_1773879771953_0.8517267981397734","host":"s3://npm-registry-packages-npm-production"}},"2.3.1":{"name":"parrot-messenger","version":"2.3.1","keywords":["email","sms","voice","chat","messaging","notifications","aws","twilio","sendgrid","mailgun","slack","telegram","unified-messaging","typescript"],"author":{"name":"Blackstone Studio"},"license":"MIT","_id":"parrot-messenger@2.3.1","maintainers":[{"name":"estefaniagtz","email":"e.gutierrez@blackstone.studio"},{"name":"nishikawa7863","email":"support@blackstone.studio"}],"homepage":"https://github.com/BlackstoneStudio/Parrot-Messenger","bugs":{"url":"https://github.com/BlackstoneStudio/Parrot-Messenger/issues"},"dist":{"shasum":"42c31b0e5451c19b65ea42ef2ca565597a8145aa","tarball":"https://registry.npmjs.org/parrot-messenger/-/parrot-messenger-2.3.1.tgz","fileCount":131,"integrity":"sha512-Jj8YLE0wGdDzSZjoQMNgh8urI3sOJ0JdB2q0CHTTa9XurJlwBLOFINgtM9R8uM+a/xxbhKSGEq7xbhhRzzECMQ==","signatures":[{"sig":"MEYCIQD/QwIx2yUsoO8EhwWjLsQ4PPCWU/rkqHP/jfC3cvunSwIhAIzTdxl6i0Gw5QnBzcaOjzjIvlswkbeWt9GNni3dz1zm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":205157},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"}},"gitHead":"3da34a025700f9695cc56819f4ee655be9f33574","scripts":{"dev":"tsc --watch","docs":"typedoc","lint":"eslint \"{src,test}/**/*.ts\"","test":"jest","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist coverage","format":"prettier --write \"{src,test}/**/*.{ts,js,json}\"","prepare":"husky","release":"semantic-release","lint:fix":"eslint \"{src,test}/**/*.ts\" --fix","prebuild":"npm run clean","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:debug":"node --inspect-brk ./node_modules/.bin/jest --runInBand","test:watch":"jest --watch","format:check":"prettier --check \"{src,test}/**/*.{ts,js,json}\"","test:coverage":"jest --coverage","coverage:badge":"npm test -- --coverage --silent --ci --coverageReporters=json-summary && node .github/scripts/update-coverage-badge.js","prepublishOnly":"npm run lint && npm run typecheck && npm run build && npm test","release:dry-run":"semantic-release --dry-run --no-ci","coverage:badge:fast":"node .github/scripts/update-coverage-badge-fast.js"},"_npmUser":{"name":"nishikawa7863","email":"support@blackstone.studio"},"overrides":{"fast-xml-parser":"5.5.6"},"repository":{"url":"git+https://github.com/BlackstoneStudio/Parrot-Messenger.git","type":"git"},"_npmVersion":"11.12.1","description":"Unified messaging library for Email, SMS, and Voice with multiple provider support","directories":{},"lint-staged":{"*.{ts,js}":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"24.14.0","dependencies":{"axios":"^1.7.8","resend":"^6.9.4","telnyx":"^6.15.0","twilio":"^5.13.0","postmark":"^4.0.7","form-data":"^4.0.5","validator":"^13.15.15","handlebars":"^4.7.8","mailgun.js":"^12.7.1","nodemailer":"^7.0.3","html-to-text":"^9.0.5","@sendgrid/mail":"^8.1.6","@types/dompurify":"^3.0.5","@types/validator":"^13.15.2","@aws-sdk/client-ses":"^3.835.0","@aws-sdk/client-sns":"^3.835.0","isomorphic-dompurify":"^2.25.0","@mailchimp/mailchimp_transactional":"^1.3.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.3.0","husky":"^9.1.7","dotenv":"^17.3.1","eslint":"^8.57.1","ts-jest":"^29.4.6","typedoc":"^0.28.17","prettier":"^3.8.1","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.0.4","lint-staged":"^16.4.0","semantic-release":"^25.0.3","@types/nodemailer":"^6.4.17","eslint-plugin-jest":"^29.15.0","@types/html-to-text":"^9.0.4","eslint-plugin-import":"^2.32.0","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-config-prettier":"^10.1.8","@semantic-release/github":"^12.0.6","@typescript-eslint/parser":"^8.57.1","eslint-config-airbnb-base":"^15.0.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.57.1","@types/mailchimp__mailchimp_transactional":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/parrot-messenger_2.3.1_1775155315766_0.4184691574882955","host":"s3://npm-registry-packages-npm-production"}},"2.3.2":{"name":"parrot-messenger","version":"2.3.2","description":"Unified messaging library for Email, SMS, and Voice with multiple provider support","main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"}},"keywords":["email","sms","voice","chat","messaging","notifications","aws","twilio","sendgrid","mailgun","slack","telegram","unified-messaging","typescript"],"dependencies":{"@aws-sdk/client-ses":"^3.835.0","@aws-sdk/client-sns":"^3.835.0","@mailchimp/mailchimp_transactional":"^1.3.3","@sendgrid/mail":"^8.1.6","@types/dompurify":"^3.0.5","@types/validator":"^13.15.2","axios":"^1.7.8","form-data":"^4.0.5","handlebars":"^4.7.9","html-to-text":"^9.0.5","isomorphic-dompurify":"^2.25.0","mailgun.js":"^12.7.1","nodemailer":"^8.0.4","postmark":"^4.0.7","resend":"^6.9.4","telnyx":"^6.15.0","twilio":"^5.13.0","validator":"^13.15.15"},"devDependencies":{"@semantic-release/changelog":"^6.0.3","@semantic-release/git":"^10.0.1","@semantic-release/github":"^12.0.6","@semantic-release/npm":"^13.1.5","@types/html-to-text":"^9.0.4","@types/jest":"^30.0.0","@types/mailchimp__mailchimp_transactional":"^1.0.5","@types/node":"^24.0.4","@types/nodemailer":"^6.4.17","@typescript-eslint/eslint-plugin":"^8.57.1","@typescript-eslint/parser":"^8.57.1","dotenv":"^17.3.1","eslint":"^8.57.1","eslint-config-airbnb-base":"^15.0.0","eslint-config-prettier":"^10.1.8","eslint-plugin-import":"^2.32.0","eslint-plugin-jest":"^29.15.0","husky":"^9.1.7","jest":"^30.3.0","lint-staged":"^16.4.0","prettier":"^3.8.1","semantic-release":"^25.0.3","ts-jest":"^29.4.6","typedoc":"^0.28.17","typescript":"^5.9.3"},"scripts":{"prepare":"husky","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist coverage","prebuild":"npm run clean","dev":"tsc --watch","test":"jest","test:watch":"jest --watch","test:coverage":"jest --coverage","test:debug":"node --inspect-brk ./node_modules/.bin/jest --runInBand","typecheck":"tsc --noEmit","lint":"eslint \"{src,test}/**/*.ts\"","lint:fix":"eslint \"{src,test}/**/*.ts\" --fix","format":"prettier --write \"{src,test}/**/*.{ts,js,json}\"","format:check":"prettier --check \"{src,test}/**/*.{ts,js,json}\"","docs":"typedoc","docs:watch":"typedoc --watch","release":"semantic-release","release:dry-run":"semantic-release --dry-run --no-ci","coverage:badge":"npm test -- --coverage --silent --ci --coverageReporters=json-summary && node .github/scripts/update-coverage-badge.js","coverage:badge:fast":"node .github/scripts/update-coverage-badge-fast.js","prepublishOnly":"npm run lint && npm run typecheck && npm run build && npm test"},"repository":{"type":"git","url":"git+https://github.com/BlackstoneStudio/Parrot-Messenger.git"},"engines":{"node":">=20.0.0"},"author":{"name":"Blackstone Studio"},"license":"MIT","homepage":"https://github.com/BlackstoneStudio/Parrot-Messenger","overrides":{"fast-xml-parser":"5.5.8","lodash":"4.18.1","yaml":"2.8.3"},"lint-staged":{"*.{ts,js}":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"gitHead":"ac7da6f9fa6ca9c783f5c3666407642959c40a9a","_id":"parrot-messenger@2.3.2","bugs":{"url":"https://github.com/BlackstoneStudio/Parrot-Messenger/issues"},"_nodeVersion":"24.14.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-2ZK9K27exUYAV1qeifyixpTFAj8luSU5arR6fNGLb+Tu24o/LKUHpoHPnNGKidtQPN3OTRy8gq8CtcQsAcJFRQ==","shasum":"300f8acc80aadcdca794afa05ec18a8a73723ce4","tarball":"https://registry.npmjs.org/parrot-messenger/-/parrot-messenger-2.3.2.tgz","fileCount":131,"unpackedSize":205202,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCZS32U0X0y4s32UfRHlU7G3RpEA64V+Xzvi++GnuX8lgIgKmz9xjm5/E9W1RtzdjZtUv/9fDjZXWisOsAvgxcCNaw="}]},"_npmUser":{"name":"nishikawa7863","email":"support@blackstone.studio"},"directories":{},"maintainers":[{"name":"estefaniagtz","email":"e.gutierrez@blackstone.studio"},{"name":"nishikawa7863","email":"support@blackstone.studio"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/parrot-messenger_2.3.2_1775157483599_0.8568217575941934"},"_hasShrinkwrap":false}},"time":{"created":"2020-06-03T10:56:06.792Z","modified":"2026-04-02T19:18:03.913Z","0.0.1":"2020-06-03T10:56:06.993Z","1.0.1":"2020-11-18T00:39:43.564Z","1.0.2":"2021-03-18T01:07:28.424Z","1.0.3":"2021-03-19T00:51:11.204Z","1.0.4":"2021-07-13T17:26:35.948Z","1.0.5":"2021-07-13T17:28:29.163Z","1.0.6":"2021-07-15T20:24:52.677Z","1.0.7":"2021-07-16T17:08:37.926Z","1.0.8":"2021-07-26T23:21:02.958Z","1.0.9":"2021-08-16T22:27:22.827Z","1.0.10":"2021-10-12T22:25:47.475Z","1.0.11":"2021-11-11T00:21:44.025Z","1.0.12":"2022-01-24T19:15:49.151Z","1.0.13":"2023-05-09T22:23:01.663Z","2.0.1":"2025-06-27T13:44:40.043Z","2.1.0":"2026-03-18T01:58:59.191Z","2.2.0":"2026-03-18T20:46:20.006Z","2.2.1":"2026-03-19T00:18:31.064Z","2.3.0":"2026-03-19T00:22:52.152Z","2.3.1":"2026-04-02T18:41:55.898Z","2.3.2":"2026-04-02T19:18:03.771Z"},"bugs":{"url":"https://github.com/BlackstoneStudio/Parrot-Messenger/issues"},"author":{"name":"Blackstone Studio"},"license":"MIT","homepage":"https://github.com/BlackstoneStudio/Parrot-Messenger","keywords":["email","sms","voice","chat","messaging","notifications","aws","twilio","sendgrid","mailgun","slack","telegram","unified-messaging","typescript"],"repository":{"type":"git","url":"git+https://github.com/BlackstoneStudio/Parrot-Messenger.git"},"description":"Unified messaging library for Email, SMS, and Voice with multiple provider support","maintainers":[{"name":"estefaniagtz","email":"e.gutierrez@blackstone.studio"},{"name":"nishikawa7863","email":"support@blackstone.studio"}],"readme":"<img src=\"./assets/header.png\" alt=\"Parrot Messenger - Cut the chaos out of messaging logic\">\n\n# Parrot Messenger\n\n<p>\n  <a href=\"https://www.npmjs.com/package/parrot-messenger\" target=\"_blank\">\n    <img alt=\"npm version\" src=\"https://img.shields.io/npm/v/parrot-messenger.svg\" />\n  </a>\n  <img alt=\"Build Status\" src=\"https://github.com/BlackstoneStudio/Parrot-Messenger/workflows/CI/badge.svg\" />\n  <img alt=\"Code Coverage\" src=\"https://img.shields.io/badge/coverage-95%25-brightgreen\" />\n  <a href=\"https://github.com/BlackstoneStudio/Parrot-Messenger/releases\" target=\"_blank\">\n    <img alt=\"GitHub release\" src=\"https://img.shields.io/github/v/release/BlackstoneStudio/Parrot-Messenger\" />\n  </a>\n  <img alt=\"TypeScript\" src=\"https://img.shields.io/badge/TypeScript-100%25-blue\" />\n  <img alt=\"Node.js Version\" src=\"https://img.shields.io/badge/node-%3E%3D18-brightgreen\" />\n  <img alt=\"License: MIT\" src=\"https://img.shields.io/badge/License-MIT-yellow.svg\" />\n  <a href=\"https://www.bestpractices.dev/projects/10814\" target=\"_blank\">\n    <img alt=\"OpenSSF Best Practices\" src=\"https://www.bestpractices.dev/projects/10814/badge\" />\n  </a>\n</p>\n\n## Table of Contents\n\n- [What's New](#whats-new)\n- [Features](#features)\n- [Prerequisites](#prerequisites)\n- [Installing](#installing)\n- [Local Development](#local-development)\n- [Initialization](#initialization)\n- [Settings](#settings)\n- [API](#api)\n- [Templates](#templates)\n- [API Reference](#api-reference)\n- [Testing](#testing)\n\n## What's New\n\n### Version 2.0.0\n\n#### Breaking Changes\n\n- **AWS SES Configuration**: The AWS SES transport configuration has changed. The `auth` field now only accepts `region`, `accessKeyId`, and `secretAccessKey` properties. Additional AWS SDK configuration options are no longer supported.\n\n  **Before (v1.x):**\n\n  ```typescript\n  {\n    name: 'ses',\n    settings: {\n      auth: {\n        region: 'us-east-1',\n        credentials: { /* ... */ },\n        endpoint: 'https://custom-endpoint',\n        maxRetries: 3\n        // Other AWS SDK options...\n      }\n    }\n  }\n  ```\n\n  **After (v2.0.0):**\n\n  ```typescript\n  {\n    name: 'ses',\n    settings: {\n      auth: {\n        region: 'us-east-1',\n        accessKeyId: 'your-access-key',\n        secretAccessKey: 'your-secret-key'\n      }\n    }\n  }\n  ```\n\n#### New Features\n\n- **Chat Platform Support**:\n  - Added Slack integration (bot tokens and webhooks)\n  - Added Telegram bot support with inline keyboards\n  - New `chat` transport class for messaging platforms\n- **SMS Providers**:\n  - Added Telnyx SMS support\n  - Added AWS SNS SMS support\n- **Enhanced Security**:\n  - Fixed AWS credentials global pollution issue\n  - Added input validation for email addresses and phone numbers\n  - Implemented HTML sanitization to prevent XSS attacks\n  - Fixed TwiML injection vulnerability\n- **Better Error Handling**:\n  - Added custom error types for better debugging\n  - Improved error messages with more context\n  - Added validation errors with clear messages\n- **Improved Type Safety**:\n  - Reduced usage of `any` types\n  - Better TypeScript support throughout the codebase\n- **Performance Enhancements**:\n  - Transport clients are now properly managed\n  - Better resource utilization\n- **Testing**: Achieved 97% test coverage\n- **CI/CD**:\n  - Migrated from CircleCI to GitHub Actions\n  - Added Prettier formatting checks to CI\n  - Enforced 97% coverage thresholds\n\n## Features\n\nParrot Messenger is a messaging library that can normalize the APIs for different messaging transports.\nIn its current iteration it supports 4 types of transport classes:\n\n- Email\n- SMS\n- Call\n- Chat\n\n### Email Services\n\n- AWS SES\n- Mailchimp (Mandrill)\n- Mailgun\n- Postmark\n- Resend\n- Sendgrid\n- SMTP\n\n### SMS Services\n\n- Twilio\n- Telnyx\n- AWS SNS\n\n### Call Services\n\n- Twilio\n\n### Chat Services\n\n- Slack (Bot & Webhooks)\n- Telegram\n\n## Prerequisites\n\n- Node.js 20+ or higher\n- npm (comes with Node.js)\n\n## Installing\n\nUsing npm:\n\n```bash\n$ npm install parrot-messenger\n```\n\n## Local Development\n\n### Setting up the development environment\n\n1. **Clone the repository**\n\n   ```bash\n   git clone https://github.com/BlackstoneStudio/Parrot-Messenger.git\n   cd Parrot-Messenger\n   ```\n\n2. **Install dependencies**\n\n   ```bash\n   npm install\n   ```\n\n3. **Set up environment variables**\n   ```bash\n   cp .env.example .env\n   ```\n   Edit `.env` and add your service credentials for testing.\n\n### Development Commands\n\n- **Build the project**\n\n  ```bash\n  npm run build              # Build TypeScript to JavaScript\n  npm run clean              # Clean build artifacts\n  npm run dev                # Build in watch mode for development\n  ```\n\n- **Run tests**\n\n  ```bash\n  npm test                   # Run all tests\n  npm run test:watch         # Run tests in watch mode\n  npm run test:coverage      # Run tests with coverage report\n  npm run test:debug         # Debug tests with Node inspector\n  ```\n\n- **Code quality**\n\n  ```bash\n  npm run lint               # Check code with ESLint\n  npm run lint:fix           # Auto-fix ESLint issues\n  npm run typecheck          # Run TypeScript type checking\n  npm run format             # Format code with Prettier\n  npm run format:check       # Check code formatting\n  ```\n\n- **Documentation**\n\n  ```bash\n  npm run docs               # Generate API documentation\n  npm run docs:watch         # Generate docs in watch mode\n  ```\n\n- **Release**\n  ```bash\n  npm run release            # Create a release (CI only)\n  npm run release:dry-run    # Preview release changes\n  ```\n\n### Development Tools\n\nThis project uses modern development tools:\n\n- **Prettier** - Code formatting\n- **ESLint** - Code linting with TypeScript support\n- **Husky** - Git hooks for pre-commit checks\n- **lint-staged** - Run linters on staged files\n- **TypeDoc** - API documentation generation\n- **semantic-release** - Automated versioning and releases\n\n### VS Code Integration\n\nThe project includes VS Code configuration for optimal development experience:\n\n- **Debugging** - Launch configurations for debugging tests and TypeScript code\n- **Auto-formatting** - Format on save with Prettier\n- **ESLint integration** - Real-time linting feedback\n- **Recommended extensions** - Suggested extensions for the best experience\n\nTo use: Open the project in VS Code and install recommended extensions when prompted.\n\n### Project Structure\n\n```\nparrot-messenger/\n├── src/                   # TypeScript source files\n│   ├── transports/        # Transport implementations\n│   │   ├── aws/          # AWS SES and SNS\n│   │   ├── telnyx/       # Telnyx SMS\n│   │   └── twilio/       # Twilio SMS and Call\n│   ├── templates/         # Template engine\n│   ├── constants/         # Constants (voices, etc.)\n│   ├── errors.ts         # Custom error types\n│   ├── validation.ts     # Input validation\n│   └── send.ts           # Core send logic\n├── test/                  # Test files\n├── examples/              # Usage examples\n├── dist/                  # Compiled JavaScript (generated)\n└── package.json          # Project configuration\n```\n\n### Testing\n\nThe project maintains 100% code coverage. When adding new features:\n\n1. Write tests first (TDD approach recommended)\n2. Ensure all tests pass: `npm test`\n3. Check coverage: `npm test -- --coverage`\n4. Fix any linting issues: `npm run lint`\n\n### Contributing\n\nWe welcome contributions! Please see our [CONTRIBUTING.md](CONTRIBUTING.md) file for detailed guidelines, including:\n\n- Commit message format (following Blackstone Code Standards)\n- Development workflow\n- Testing requirements\n- Code style guidelines\n- Pull request process\n\n**Quick Start:**\n\n1. Fork the repository\n2. Create a feature branch following our naming convention\n3. Make your changes and add tests\n4. Follow our commit message format: `TYPE (Issue) Brief summary`\n5. Ensure all tests pass and maintain code coverage\n6. Create a Pull Request\n\n### Debugging Tips\n\n- Use `console.log` or debugger statements during development\n- Run tests for specific files: `npm test path/to/test.spec.ts`\n- Use VS Code's built-in debugger with the following configuration:\n\n```json\n{\n  \"type\": \"node\",\n  \"request\": \"launch\",\n  \"name\": \"Jest Debug\",\n  \"program\": \"${workspaceFolder}/node_modules/.bin/jest\",\n  \"args\": [\"--runInBand\"],\n  \"console\": \"integratedTerminal\",\n  \"internalConsoleOptions\": \"neverOpen\"\n}\n```\n\n## Initialization\n\nParrot needs to be initialized with the transports that it will be using before being used.\n\n```js\n// ES6\nimport Parrot from 'parrot-messenger';\n\n// CommonJS\nconst { Parrot } = require('parrot-messenger');\n\nconst parrot = new Parrot({\n  transports: [\n    // List of transports settings enabled\n    mailgun,\n    mailchimp,\n    ses,\n    sendgrid,\n    twilioSMS,\n    twilioCall,\n    smtp,\n    slack,\n    telegram,\n  ],\n});\n```\n\nThe `parrot` instance receives an array of transports with the settings for each transport. Each transport will have slightly different settings, particularly around the authentication for each. Example configurations are available in the `examples.js` file.\n\n## Settings\n\nEach transport has a `defaults` object where you can define default parameters for all messages generated by that transport. So for example you can define a default `from` value for every message.\n\nThis is a sample object for AWS SES transport along with its default values:\n\n```js\nconst ses = {\n  name: 'ses',\n  settings: {\n    auth: {\n      region: '',\n      credentials: {\n        secretAccessKey: '',\n        accessKeyId: '',\n      },\n    },\n    defaults: {\n      from: 'me@parrotmessenger.com',\n    },\n  },\n};\n```\n\nFor Telnyx SMS transport:\n\n```js\nconst telnyxSMS = {\n  name: 'telnyxSMS',\n  settings: {\n    auth: {\n      apiKey: 'YOUR_TELNYX_API_KEY',\n    },\n    defaults: {\n      from: '+15551234567', // Your Telnyx phone number\n    },\n  },\n};\n```\n\nFor AWS SNS SMS transport:\n\n```js\nconst sns = {\n  name: 'sns',\n  settings: {\n    auth: {\n      secretAccessKey: 'YOUR_SECRET_ACCESS_KEY',\n      accessKeyId: 'YOUR_ACCESS_KEY_ID',\n      region: 'us-east-1',\n    },\n    smsType: 'Transactional', // or 'Promotional'\n    defaults: {\n      from: 'YourApp', // SMS Sender ID (not supported in all regions)\n    },\n  },\n};\n```\n\nFor Slack chat transport:\n\n```js\nconst slack = {\n  name: 'slack',\n  settings: {\n    auth: {\n      token: 'xoxb-your-bot-token', // Bot token\n      // OR\n      webhook: 'https://hooks.slack.com/services/YOUR/WEBHOOK/URL',\n    },\n    defaultChannel: '#general',\n    defaults: {},\n  },\n};\n```\n\nFor Telegram chat transport:\n\n```js\nconst telegram = {\n  name: 'telegram',\n  settings: {\n    auth: {\n      botToken: '123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11',\n    },\n    defaultChatId: '123456789', // Default chat/channel ID\n    parseMode: 'HTML', // or 'Markdown', 'MarkdownV2'\n    defaults: {},\n  },\n};\n```\n\n## API\n\nParrot Messenger works with a simple `send` service and a templating, here we'll describe the usage for the send method.\nThe send method receives 2 parameters, both being objects.\nThe first parameter is the parameters for the object that we want to send and the second one is the settings for the transport we want to use.\n\nExample API call:\n\n```js\nconst email = {\n  to: 'john@doe.com',\n  subject: 'Sample Message',\n  html: 'Hey Joe, nice talking to you!',\n};\n\nconst transport = {\n  class: 'email',\n  name: 'ses',\n};\n\nparrot.send(email, transport);\n```\n\nExample Chat message:\n\n```js\n// Slack example\nconst slackMessage = {\n  to: '#announcements', // Channel, user ID, or conversation ID\n  subject: '🚀 New Feature Released',\n  html: '<b>Feature X</b> is now available! Check it out <a href=\"https://example.com\">here</a>.',\n};\n\nparrot.send(slackMessage, { name: 'slack' });\n\n// Telegram example\nconst telegramMessage = {\n  to: '@yourchannel', // Chat ID or @channelname\n  text: 'Hello from Parrot Messenger! 🦜',\n  attachments: [\n    {\n      inline_keyboard: [\n        [\n          { text: 'Learn More', url: 'https://example.com' },\n          { text: 'Get Started', callback_data: 'start' },\n        ],\n      ],\n    },\n  ],\n};\n\nparrot.send(telegramMessage, { name: 'telegram' });\n```\n\n## Templates\n\nWe can also use and register templates when using Parrot Messenger, so we can pre-define a set of messages we will be using. We use a templating language (Handlebars) to replace values inside the template before being sent.\n\nExample Template Registration & Usage\n\n```js\n// Register a template, notice the ussage of {{name}}\n// this value will be replaced\nparrot.templates.register({\n  name: 'Sample Template',\n  html: '<p>Hey there {{name}}!!</p>',\n});\n\nconst messageData = {\n  to: 'john@doe.com',\n  subject: 'Hey there!',\n};\n\nconst transport = {\n  class: 'email',\n  name: 'ses',\n};\n\n// Send an email using this template\nparrot.templates.send(\n  'Sample Template',\n  messageData,\n  // Sample Data for Template\n  { name: 'User' },\n  // Transport Settings\n  // Available classes email, sms & call\n  // Available transports per Class:\n  // Email: 'ses', 'mailgun', 'mailchimp', 'sendgrid', 'smtp'\n  // SMS: 'twilioSMS', 'telnyxSMS', 'sns'\n  // Call: 'twilioCall'\n  transport,\n);\n```\n\n### Async Templates\n\nIf you need to get the HTML template from an API service prior to senting a template you can do this as well. Parrot Messenger will use Axios to make an API request and fetch the necessary data, and it can be mapped from the response.\n\nExample Async Template\n\n```js\n// Register template\nparrot.templates.register({\n  name: 'Async Template',\n  // Request is a standard Axios type object\n  // with an additional resolve parameter\n  // that resolves the response of the object\n  // API reference for Axios:\n  // https://github.com/axios/axios#axios-api\n  request: {\n    method: 'GET',\n    url: 'https://reqres.in/api/unknown/2',\n    data: {},\n    headers: {},\n    // Path to string we want to use in the request's response\n    resolve: 'support.text',\n  },\n});\n\nconst messageData = {\n  to: 'john@doe.com',\n  subject: 'Hey there!',\n};\n\nconst transport = {\n  class: 'email',\n  name: 'ses',\n};\n\n// Send an email using this template\nparrot.templates.send(\n  'Async Template',\n  messageData,\n  // Sample Data for Template\n  { name: 'User' },\n  // Transport Settings\n  transport,\n);\n```\n\n## API Reference\n\n### TypeScript Support\n\nParrot Messenger is written in TypeScript and provides full type definitions out of the box.\n\n```typescript\nimport Parrot, { Envelope, Transport } from 'parrot-messenger';\n```\n\n### Core Types\n\n#### Envelope\n\nThe message object that all transports accept:\n\n```typescript\ninterface Envelope {\n  from?: string; // Sender address/number\n  to?: string; // Recipient address/number\n  subject?: string; // Email subject (required for email)\n  html?: string; // HTML content\n  text?: string; // Plain text content\n  voice?: string; // Voice selection for calls (see Voices section)\n  attachments?: Attachment[]; // File attachments\n}\n```\n\n#### Transport Configuration\n\n```typescript\ninterface Transport {\n  name: TransportName;\n  class: 'email' | 'sms' | 'call';\n  settings: TransportSettings;\n}\n```\n\n### Email Transports\n\n#### AWS SES\n\n```typescript\ninterface AWSSESConfig {\n  auth: {\n    region: string;\n    accessKeyId: string;\n    secretAccessKey: string;\n  };\n  defaults?: Envelope;\n}\n```\n\n#### SendGrid\n\n```typescript\ninterface SendgridConfig {\n  auth: {\n    apiKey: string; // Must start with 'SG.'\n  };\n  defaults?: Envelope;\n}\n```\n\n#### Mailgun\n\n```typescript\ninterface MailgunConfig {\n  auth: {\n    apiKey: string;\n    domain: string; // e.g., 'mg.yourdomain.com'\n  };\n  defaults?: Envelope;\n}\n```\n\n#### Mailchimp (Mandrill)\n\n```typescript\ninterface MailchimpConfig {\n  auth: {\n    apiKey: string;\n  };\n  defaults?: Envelope;\n}\n```\n\n#### Postmark\n\n```typescript\ninterface PostmarkConfig {\n  auth: {\n    serverToken: string; // Postmark Server Token\n  };\n  defaults?: Envelope;\n}\n```\n\n#### Resend\n\n```typescript\ninterface ResendConfig {\n  auth: {\n    apiKey: string; // Resend API Key\n  };\n  defaults?: Envelope;\n}\n```\n\n#### SMTP\n\n```typescript\ninterface SMTPConfig {\n  auth: {\n    host: string;\n    port: number;\n    secure: boolean;\n    auth: {\n      user: string;\n      pass: string;\n    };\n  };\n  defaults?: Envelope;\n}\n```\n\n### SMS Transports\n\n#### Twilio SMS\n\n```typescript\ninterface TwilioSMSConfig {\n  auth: {\n    sid: string; // Account SID\n    token: string; // Auth token\n  };\n  defaults?: Envelope;\n}\n```\n\n#### AWS SNS\n\n```typescript\ninterface AWSSNSConfig {\n  auth: {\n    region: string;\n    accessKeyId: string;\n    secretAccessKey: string;\n  };\n  smsType?: 'Transactional' | 'Promotional';\n  defaults?: Envelope;\n}\n```\n\n#### Telnyx\n\n```typescript\ninterface TelnyxConfig {\n  auth: {\n    apiKey: string;\n  };\n  defaults?: Envelope;\n}\n```\n\n### Call Transport\n\n#### Twilio Call\n\n```typescript\ninterface TwilioCallConfig {\n  auth: {\n    sid: string; // Account SID\n    token: string; // Auth token\n  };\n  defaults?: Envelope;\n}\n```\n\n### Chat Transports\n\n#### Slack\n\n```typescript\ninterface SlackConfig {\n  auth: {\n    token?: string; // Bot token (xoxb-...)\n    webhook?: string; // Webhook URL for simpler integration\n  };\n  defaultChannel?: string;\n  defaults?: Envelope;\n}\n```\n\n#### Telegram\n\n```typescript\ninterface TelegramConfig {\n  auth: {\n    botToken: string; // Bot token from @BotFather\n  };\n  defaultChatId?: string | number;\n  parseMode?: 'HTML' | 'Markdown' | 'MarkdownV2';\n  defaults?: Envelope;\n}\n```\n\n### Error Types\n\nParrot Messenger provides custom error types for better error handling:\n\n```typescript\n// Base error class\nclass ParrotError extends Error {\n  constructor(message: string, details?: any);\n}\n\n// Thrown when input validation fails\nclass ValidationError extends ParrotError {\n  constructor(message: string, field?: string);\n}\n\n// Thrown when a transport operation fails\nclass TransportError extends ParrotError {\n  constructor(message: string, transport?: string, originalError?: Error);\n}\n\n// Thrown when template processing fails\nclass TemplateError extends ParrotError {\n  constructor(message: string, templateName?: string);\n}\n\n// Thrown when configuration is invalid\nclass ConfigurationError extends ParrotError {\n  constructor(message: string, config?: any);\n}\n```\n\n### Error Handling Example\n\n```typescript\nimport { send, ValidationError, TransportError } from 'parrot-messenger';\n\ntry {\n  await send(message, transports);\n} catch (error) {\n  if (error instanceof ValidationError) {\n    console.error('Invalid input:', error.message);\n  } else if (error instanceof TransportError) {\n    console.error('Transport failed:', error.message);\n    // Access original error: error.originalError\n  } else {\n    console.error('Unexpected error:', error);\n  }\n}\n```\n\n### Voices for Calls\n\nAvailable voices for text-to-speech in calls:\n\n```typescript\nimport { voices } from 'parrot-messenger';\n\n// Example voices:\nvoices.Salli; // English (US)\nvoices.Amy; // English (British)\nvoices.Conchita; // Spanish (Castilian)\nvoices.Mizuki; // Japanese\n// ... and many more\n\n// Usage in envelope:\nconst message: Envelope = {\n  from: '+1234567890',\n  to: '+0987654321',\n  html: '<p>Hello!</p>',\n  voice: 'Amy', // British English voice\n};\n```\n\n### Transport Filter Options\n\nWhen sending messages, you can filter which transports to use:\n\n```typescript\n// Use specific transport by name\nawait send(message, transports, { name: 'smtp' });\n\n// Use all transports of a specific class\nawait send(message, transports, { class: 'email' });\n\n// Use specific transport with both name and class\nawait send(message, transports, { name: 'smtp', class: 'email' });\n\n// Use multiple transports\nawait send(message, transports, [{ name: 'smtp' }, { name: 'ses' }]);\n```\n\n### Validation Rules\n\n- **Email addresses**: Must be valid RFC-compliant email addresses\n- **Phone numbers**: Must be valid E.164 format (e.g., +1234567890)\n- **Required fields**:\n  - `to`: Always required\n  - `from`: Always required\n  - `subject`: Required for email only\n  - `html` or `text`: At least one is required\n- **HTML content**: Automatically sanitized to prevent XSS attacks\n\n## Testing\n\nParrot Messenger includes a built-in mock transport for testing your messaging logic without sending real messages. Import it from `parrot-messenger/testing`:\n\n```typescript\nimport { Parrot } from 'parrot-messenger';\nimport { MockTransport } from 'parrot-messenger/testing';\n\n// Register once in your test setup\nMockTransport.register();\n\n// Configure Parrot with the mock transport\nconst parrot = new Parrot({\n  transports: [{ name: 'mock', settings: { defaults: { from: 'test@example.com' } } }],\n});\n\n// Send a message — nothing leaves your machine\nawait parrot.send(\n  { to: 'user@example.com', subject: 'Welcome', html: '<p>Hi</p>' },\n  { class: 'email', name: 'mock' },\n);\n\n// Assert against captured messages\nexpect(MockTransport.messages).toHaveLength(1);\nexpect(MockTransport.lastMessage?.envelope.to).toBe('user@example.com');\n\n// Reset between tests\nMockTransport.clear();\n```\n\n### Simulating Failures\n\n```typescript\nconst parrot = new Parrot({\n  transports: [\n    { name: 'mock', settings: { shouldFail: true, failMessage: 'Rate limit exceeded' } },\n  ],\n});\n\nawait expect(\n  parrot.send({ to: 'user@test.com', text: 'Hi' }, { class: 'email', name: 'mock' }),\n).rejects.toThrow('Rate limit exceeded');\n```\n\n### MockTransport API\n\n| Method / Property            | Description                                           |\n| ---------------------------- | ----------------------------------------------------- |\n| `MockTransport.register()`   | Register the mock transport in the transport registry |\n| `MockTransport.unregister()` | Reset registry to defaults (removes mock)             |\n| `MockTransport.messages`     | Read-only array of all captured messages              |\n| `MockTransport.lastMessage`  | Most recently captured message                        |\n| `MockTransport.clear()`      | Clear all captured messages                           |\n\n### MockTransport Options\n\n| Option        | Type       | Default                              | Description                                       |\n| ------------- | ---------- | ------------------------------------ | ------------------------------------------------- |\n| `defaults`    | `Envelope` | `undefined`                          | Default envelope values merged into every message |\n| `shouldFail`  | `boolean`  | `false`                              | Simulate transport failure                        |\n| `failMessage` | `string`   | `'Mock transport simulated failure'` | Error message when failing                        |\n| `latency`     | `number`   | `0`                                  | Simulated delay in milliseconds                   |\n\n## Who are we\n\nBlackstone Studio is a custom software development company that specializes in AI-powered digital transformation solutions. We help you harness the power of artificial intelligence to build innovative solutions, accelerating your business's digital transformation journey.\n\n### Our services\n\n- Custom Software Development\n- Staff Augmentation\n- Dedicated Teams\n- Generative AI Development\n- Mobile Development\n- Web Development\n- Software Testing\n- Software Integrations\n- No-Code Development\n- Maintenance and Support\n\n### Why us?\n\nWe pride ourselves on understanding each client's unique business model and creating solutions that complement their strategic vision. With our AI-centric approach to solving business challenges and flexible, adaptable development methodology, we build lasting partnerships that go beyond just software development. We serve diverse industries including retail, financial services, healthcare, real estate, and technology.\n\n## Built With\n\n- [Node.js](https://nodejs.org/en/) - Runtime environment\n- [TypeScript](https://www.typescriptlang.org/) - Type-safe JavaScript\n- [Jest](https://jestjs.io/) - Testing framework with 100% code coverage\n- [Handlebars](https://handlebarsjs.com/) - Template engine\n- [Nodemailer](https://nodemailer.com/) - Email sending\n- [AWS SDK](https://aws.amazon.com/sdk-for-javascript/) - AWS SES and SNS integration\n- [Twilio](https://www.twilio.com/) - SMS and voice calls\n- [GitHub Actions](https://github.com/features/actions) - CI/CD pipeline\n\n## Contributing\n\nContributions, issues and feature requests are welcome!\n\nYou can also suggest a new feature by creating an Issue. Please wait for confirmation before working on it.\n\n## License\n\nCopyright © 2026 [Blackstone Studio](https://blackstone.studio/).\n\nThis project is [MIT](https://github.com/BlackstoneStudio/Parrot-Messenger/master/LICENSE) licensed.\n\n<a href=\"https://www.blackstone.studio\" target=\"_blank\"><img src=\"./assets/footer.png\" alt=\"We are blackstone - Contact us\"></a>\n","readmeFilename":"README.md"}