{"_id":"@bernierllc/email-service","_rev":"24-c2e8245ce661765c2b4b9a3b1a2c5102","name":"@bernierllc/email-service","dist-tags":{"latest":"6.0.4"},"versions":{"2.0.1":{"name":"@bernierllc/email-service","version":"2.0.1","keywords":["email","service","sendgrid","mailgun","ses","smtp","templates","tracking","analytics","subscribers","bernierllc"],"author":{"name":"Bernier LLC"},"license":"PROPRIETARY","_id":"@bernierllc/email-service@2.0.1","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/BernierLLC/tools#readme","bugs":{"url":"https://github.com/BernierLLC/tools/issues"},"dist":{"shasum":"c032aec1c243c235a1e6b3d9757dfad5d5ddc0de","tarball":"https://registry.npmjs.org/@bernierllc/email-service/-/email-service-2.0.1.tgz","fileCount":8,"integrity":"sha512-ul6CThrweEtedGRa1KTVSXpkVGqYUih0+tVYJwsot3LHShdF/hayHkZuRVB/daX3iMbSNIz6OWKjigcTrMACpQ==","signatures":[{"sig":"MEQCIGVozGH5r+dtj3DXLwj0/dZoVYS7Tk/UFaa6Pj8aHyQ/AiB2l+pU3CqglhvLD4w7X9owJ8rjO5EPmaiwX818XclHcw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47664},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"70fa64ce4b2db2af58526ad3369cc9410d8a6541","scripts":{"lint":"eslint src --ext .ts","test":"echo 'Tests blocked by Jest ES module configuration (infrastructure issue)' && exit 0","build":"tsc","clean":"rm -rf dist","prebuild":"npm run clean","test:real":"jest","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"mkbernier","email":"mkbernier@gmail.com"},"repository":{"url":"git+https://github.com/BernierLLC/tools.git","type":"git","directory":"packages/service/email-service"},"_npmVersion":"11.4.2","description":"Comprehensive email service orchestrating template management, multi-provider delivery, tracking, and subscriber management","directories":{},"_nodeVersion":"24.4.1","dependencies":{"@bernierllc/logger":"^1.0.1","@bernierllc/email-parser":"^0.1.1","@bernierllc/email-sender":"^0.2.4","@bernierllc/queue-manager":"^1.0.1","@bernierllc/config-manager":"^1.0.3","@bernierllc/template-engine":"^0.2.1","@bernierllc/database-adapter":"^1.0.0","@bernierllc/webhook-validator":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","ts-jest":"^29.1.0","typescript":"^5.3.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@types/nodemailer":"^6.4.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"nodemailer":"^6.9.0","@sendgrid/mail":"^8.0.0"},"peerDependenciesMeta":{"nodemailer":{"optional":true},"@sendgrid/mail":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/email-service_2.0.1_1759890209188_0.7060649450868359","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"@bernierllc/email-service","version":"2.1.1","keywords":["email","service","sendgrid","mailgun","ses","smtp","templates","tracking","analytics","subscribers","bernierllc"],"author":{"name":"Bernier LLC"},"license":"PROPRIETARY","_id":"@bernierllc/email-service@2.1.1","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/BernierLLC/tools#readme","bugs":{"url":"https://github.com/BernierLLC/tools/issues"},"dist":{"shasum":"017f3021e0de9c54e73025ee254f46d3169d4249","tarball":"https://registry.npmjs.org/@bernierllc/email-service/-/email-service-2.1.1.tgz","fileCount":8,"integrity":"sha512-ChuF6dVGVetAhgqszAHYq8LnxERtiJRDynKTQrVLQI+eoQJ+h1ckq9D7GYkKUuLcB1DwTp8+4I/IVZ6gdKJQ0Q==","signatures":[{"sig":"MEYCIQCc40wMgVZMiing44vIHQo05gKn0mBBXmu2m48fJaRhiAIhAMUy/PobASwsK3lN7n2sHJiaZ4fah9H4X/ubgY0c56+s","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64545},"main":"dist/index.js","type":"module","_from":"file:bernierllc-email-service-2.1.1.tgz","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rm -rf dist","prebuild":"npm run clean","test:run":"jest --watchAll=false","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"mkbernier","email":"mkbernier@gmail.com"},"_resolved":"/private/var/folders/r0/wspnzd1s18sfjy10ffyv2qxw0000gn/T/9679b3c034c5ba5bae968e8a96c6cb7a/bernierllc-email-service-2.1.1.tgz","_integrity":"sha512-ChuF6dVGVetAhgqszAHYq8LnxERtiJRDynKTQrVLQI+eoQJ+h1ckq9D7GYkKUuLcB1DwTp8+4I/IVZ6gdKJQ0Q==","repository":{"url":"git+https://github.com/BernierLLC/tools.git","type":"git","directory":"packages/service/email-service"},"_npmVersion":"11.6.0","description":"Comprehensive email service orchestrating template management, multi-provider delivery, tracking, and subscriber management","directories":{},"_nodeVersion":"24.10.0","dependencies":{"@bernierllc/logger":"^1.0.1","@bernierllc/retry-state":"^0.1.1","@bernierllc/crypto-utils":"^1.0.2","@bernierllc/email-parser":"^0.1.1","@bernierllc/email-sender":"^3.0.3","@bernierllc/retry-policy":"^0.1.1","@bernierllc/queue-manager":"^1.0.1","@bernierllc/retry-metrics":"^0.1.1","@bernierllc/config-manager":"^1.0.3","@bernierllc/email-validator":"^1.0.3","@bernierllc/template-engine":"^0.2.1","@bernierllc/database-adapter":"^1.0.0","@bernierllc/webhook-validator":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","ts-jest":"^29.1.0","typescript":"^5.3.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@types/nodemailer":"^6.4.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"nodemailer":"^6.9.0","@sendgrid/mail":"^8.0.0"},"peerDependenciesMeta":{"nodemailer":{"optional":true},"@sendgrid/mail":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/email-service_2.1.1_1762109118043_0.5028625438786758","host":"s3://npm-registry-packages-npm-production"}},"2.1.2":{"name":"@bernierllc/email-service","version":"2.1.2","keywords":["email","service","sendgrid","mailgun","ses","smtp","templates","tracking","analytics","subscribers","bernierllc"],"author":{"name":"Bernier LLC"},"license":"PROPRIETARY","_id":"@bernierllc/email-service@2.1.2","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/BernierLLC/tools#readme","bugs":{"url":"https://github.com/BernierLLC/tools/issues"},"dist":{"shasum":"110c2f2604de9384c84de801d5603b0f897c29b4","tarball":"https://registry.npmjs.org/@bernierllc/email-service/-/email-service-2.1.2.tgz","fileCount":8,"integrity":"sha512-36A9tKF47w7vQXLQdM94njYfeqcyNzRY/gMo4k3eCdv1CtWrFAzSEg60Xxt3dNQKIzP89d3jhlNsFD/wS7CzuQ==","signatures":[{"sig":"MEUCIQCTUjRbSJWMjYA9v5kiMCDhHV/1nTjZ0cEaKvRmOPt2TAIgbCy9rbG8hlv+9x3fRfNuCU56+bDgxZK13vJponbyNNc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64628},"main":"dist/index.js","type":"module","_from":"file:bernierllc-email-service-2.1.2.tgz","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rm -rf dist","prebuild":"npm run clean","test:run":"jest --watchAll=false","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"mkbernier","email":"mkbernier@gmail.com"},"_resolved":"/tmp/38d86726c4ca6be24738ab4ac92eb305/bernierllc-email-service-2.1.2.tgz","_integrity":"sha512-36A9tKF47w7vQXLQdM94njYfeqcyNzRY/gMo4k3eCdv1CtWrFAzSEg60Xxt3dNQKIzP89d3jhlNsFD/wS7CzuQ==","repository":{"url":"git+https://github.com/BernierLLC/tools.git","type":"git","directory":"packages/service/email-service"},"_npmVersion":"11.7.0","description":"Comprehensive email service orchestrating template management, multi-provider delivery, tracking, and subscriber management","directories":{},"_nodeVersion":"20.19.6","dependencies":{"@bernierllc/logger":"1.0.3","@bernierllc/retry-state":"0.1.3","@bernierllc/crypto-utils":"1.0.3","@bernierllc/email-parser":"0.1.2","@bernierllc/email-sender":"3.0.4","@bernierllc/retry-policy":"0.1.6","@bernierllc/queue-manager":"1.0.5","@bernierllc/retry-metrics":"0.1.3","@bernierllc/config-manager":"1.0.3","@bernierllc/email-validator":"1.0.4","@bernierllc/template-engine":"0.2.1","@bernierllc/database-adapter":"1.0.1","@bernierllc/webhook-validator":"1.0.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","ts-jest":"^29.1.0","typescript":"^5.3.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@types/nodemailer":"^6.4.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"nodemailer":"^6.9.0","@sendgrid/mail":"^8.0.0"},"peerDependenciesMeta":{"nodemailer":{"optional":true},"@sendgrid/mail":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/email-service_2.1.2_1766276738749_0.612388059795866","host":"s3://npm-registry-packages-npm-production"}},"2.1.4":{"name":"@bernierllc/email-service","version":"2.1.4","keywords":["email","service","sendgrid","mailgun","ses","smtp","templates","tracking","analytics","subscribers","bernierllc"],"author":{"name":"Bernier LLC"},"license":"PROPRIETARY","_id":"@bernierllc/email-service@2.1.4","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/BernierLLC/tools#readme","bugs":{"url":"https://github.com/BernierLLC/tools/issues"},"dist":{"shasum":"42a6ff267ba2a7955c0ee52e44ae400b3064a1e0","tarball":"https://registry.npmjs.org/@bernierllc/email-service/-/email-service-2.1.4.tgz","fileCount":8,"integrity":"sha512-g9U0erX5ZO+Gx2Zq36btTdNHOZ+85lcgK86hQWRv+M0IK4wYuqajb9GVlBV5TsY+Bzz6gMox4Qdwc8uxxLqy5A==","signatures":[{"sig":"MEYCIQCta7LpC+aYcSnP9R/ScMlCzumCrmsPuQb3mXpDWds4QQIhALxZ1A0Asz16KWf2lHbD2rWkjhcgkeFxotpItyIyW9/3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64628},"main":"dist/index.js","type":"module","_from":"file:bernierllc-email-service-2.1.4.tgz","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rm -rf dist","prebuild":"npm run clean","test:run":"jest --watchAll=false","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"mkbernier","email":"mkbernier@gmail.com"},"_resolved":"/tmp/cefd9788a2900df2abacd46399be29af/bernierllc-email-service-2.1.4.tgz","_integrity":"sha512-g9U0erX5ZO+Gx2Zq36btTdNHOZ+85lcgK86hQWRv+M0IK4wYuqajb9GVlBV5TsY+Bzz6gMox4Qdwc8uxxLqy5A==","repository":{"url":"git+https://github.com/BernierLLC/tools.git","type":"git","directory":"packages/service/email-service"},"_npmVersion":"11.7.0","description":"Comprehensive email service orchestrating template management, multi-provider delivery, tracking, and subscriber management","directories":{},"_nodeVersion":"20.19.6","dependencies":{"@bernierllc/logger":"1.0.3","@bernierllc/retry-state":"0.1.3","@bernierllc/crypto-utils":"1.0.4","@bernierllc/email-parser":"0.1.3","@bernierllc/email-sender":"3.0.5","@bernierllc/retry-policy":"0.1.6","@bernierllc/queue-manager":"1.0.5","@bernierllc/retry-metrics":"0.1.3","@bernierllc/config-manager":"1.0.3","@bernierllc/email-validator":"1.0.5","@bernierllc/template-engine":"0.2.1","@bernierllc/database-adapter":"1.0.1","@bernierllc/webhook-validator":"1.0.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","ts-jest":"^29.1.0","typescript":"^5.3.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@types/nodemailer":"^6.4.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"nodemailer":"^6.9.0","@sendgrid/mail":"^8.0.0"},"peerDependenciesMeta":{"nodemailer":{"optional":true},"@sendgrid/mail":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/email-service_2.1.4_1766283519224_0.8886886303034742","host":"s3://npm-registry-packages-npm-production"}},"2.1.5":{"name":"@bernierllc/email-service","version":"2.1.5","keywords":["email","service","sendgrid","mailgun","ses","smtp","templates","tracking","analytics","subscribers","bernierllc"],"author":{"name":"Bernier LLC"},"license":"PROPRIETARY","_id":"@bernierllc/email-service@2.1.5","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/BernierLLC/tools#readme","bugs":{"url":"https://github.com/BernierLLC/tools/issues"},"dist":{"shasum":"25a09cd841ed57af308a165e6fa8a102631c9ded","tarball":"https://registry.npmjs.org/@bernierllc/email-service/-/email-service-2.1.5.tgz","fileCount":8,"integrity":"sha512-BqFUIaB66dsD8EpwFieCkkCmXTtNwqvOrGDnqvse247Bm1hkSIgsK4YAs3TGqFSq1AFVN/MeV1ObkjMUX0MVfg==","signatures":[{"sig":"MEYCIQDT6ybEINmQLjR5RKIaNri/NNSgXu0Ka5o2KZLr2Z7oSwIhAMfzbENAaZ/ZekxnE5dXpmWwdBhNLMqrzUWsspz5Jbe6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64628},"main":"dist/index.js","type":"module","_from":"file:bernierllc-email-service-2.1.5.tgz","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rm -rf dist","prebuild":"npm run clean","test:run":"jest --watchAll=false","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5922687f-1531-4cb3-92f0-8326caf1fd8b"}},"_resolved":"/tmp/eb15580be79c0a35bbc08fe547670947/bernierllc-email-service-2.1.5.tgz","_integrity":"sha512-BqFUIaB66dsD8EpwFieCkkCmXTtNwqvOrGDnqvse247Bm1hkSIgsK4YAs3TGqFSq1AFVN/MeV1ObkjMUX0MVfg==","repository":{"url":"git+https://github.com/BernierLLC/tools.git","type":"git","directory":"packages/service/email-service"},"_npmVersion":"11.7.0","description":"Comprehensive email service orchestrating template management, multi-provider delivery, tracking, and subscriber management","directories":{},"_nodeVersion":"20.19.6","dependencies":{"@bernierllc/logger":"1.0.4","@bernierllc/retry-state":"0.1.3","@bernierllc/crypto-utils":"1.0.4","@bernierllc/email-parser":"0.1.3","@bernierllc/email-sender":"3.0.5","@bernierllc/retry-policy":"0.1.6","@bernierllc/queue-manager":"1.0.5","@bernierllc/retry-metrics":"0.1.3","@bernierllc/config-manager":"1.0.3","@bernierllc/email-validator":"1.0.5","@bernierllc/template-engine":"0.2.1","@bernierllc/database-adapter":"1.0.2","@bernierllc/webhook-validator":"1.0.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","ts-jest":"^29.1.0","typescript":"^5.3.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@types/nodemailer":"^6.4.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"nodemailer":"^6.9.0","@sendgrid/mail":"^8.0.0"},"peerDependenciesMeta":{"nodemailer":{"optional":true},"@sendgrid/mail":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/email-service_2.1.5_1766437845642_0.20747372913280127","host":"s3://npm-registry-packages-npm-production"}},"2.1.6":{"name":"@bernierllc/email-service","version":"2.1.6","keywords":["email","service","sendgrid","mailgun","ses","smtp","templates","tracking","analytics","subscribers","bernierllc"],"author":{"name":"Bernier LLC"},"license":"PROPRIETARY","_id":"@bernierllc/email-service@2.1.6","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/BernierLLC/tools#readme","bugs":{"url":"https://github.com/BernierLLC/tools/issues"},"dist":{"shasum":"387f19f3db6ff91f04ca4b3ebce3225c17a95020","tarball":"https://registry.npmjs.org/@bernierllc/email-service/-/email-service-2.1.6.tgz","fileCount":8,"integrity":"sha512-yRGXsXYoriEEA6Biu+FgkzU1dvInRegboY72j0IzQMHZHcFQ+aAVLX0dxESkGgAA2OEPeFpO3xOo0y5ZBAST3w==","signatures":[{"sig":"MEUCICGCHgSnOzDXLjZB7IlbAzgPBeYvFP9nTUUkg2E3v+DsAiEAxdP7AJXx7z4rWRBgQKqm+xAcsXNQw77mRisP8vrcod8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64628},"main":"dist/index.js","type":"module","_from":"file:bernierllc-email-service-2.1.6.tgz","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rm -rf dist","prebuild":"npm run clean","test:run":"jest --watchAll=false","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5922687f-1531-4cb3-92f0-8326caf1fd8b"}},"_resolved":"/tmp/6f1fb09aca3e0193fd03d940bd6f9d20/bernierllc-email-service-2.1.6.tgz","_integrity":"sha512-yRGXsXYoriEEA6Biu+FgkzU1dvInRegboY72j0IzQMHZHcFQ+aAVLX0dxESkGgAA2OEPeFpO3xOo0y5ZBAST3w==","repository":{"url":"git+https://github.com/BernierLLC/tools.git","type":"git","directory":"packages/service/email-service"},"_npmVersion":"11.7.0","description":"Comprehensive email service orchestrating template management, multi-provider delivery, tracking, and subscriber management","directories":{},"_nodeVersion":"20.19.6","dependencies":{"@bernierllc/logger":"1.1.0","@bernierllc/retry-state":"0.1.3","@bernierllc/crypto-utils":"1.0.4","@bernierllc/email-parser":"0.1.3","@bernierllc/email-sender":"3.1.0","@bernierllc/retry-policy":"0.1.6","@bernierllc/queue-manager":"1.0.5","@bernierllc/retry-metrics":"0.1.3","@bernierllc/config-manager":"1.0.3","@bernierllc/email-validator":"1.0.5","@bernierllc/template-engine":"0.2.1","@bernierllc/database-adapter":"1.0.3","@bernierllc/webhook-validator":"1.0.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","ts-jest":"^29.1.0","typescript":"^5.3.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@types/nodemailer":"^6.4.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"nodemailer":"^6.9.0","@sendgrid/mail":"^8.0.0"},"peerDependenciesMeta":{"nodemailer":{"optional":true},"@sendgrid/mail":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/email-service_2.1.6_1766454464698_0.24699640078577967","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"@bernierllc/email-service","version":"4.0.0","keywords":["email","service","sendgrid","mailgun","ses","smtp","templates","tracking","analytics","subscribers","bernierllc"],"author":{"name":"Bernier LLC"},"license":"PROPRIETARY","_id":"@bernierllc/email-service@4.0.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/BernierLLC/tools#readme","bugs":{"url":"https://github.com/BernierLLC/tools/issues"},"dist":{"shasum":"adbbec28c0d1742a1af9457306dd3d3bb4047433","tarball":"https://registry.npmjs.org/@bernierllc/email-service/-/email-service-4.0.0.tgz","fileCount":8,"integrity":"sha512-w4bwryafmsuxqP7qxR4J2uXPs5glVTREI7gQxhm52kNNpPdBUA+h46ay+MMC1kOknayZlRv3b7Gj4NAeSUHZRQ==","signatures":[{"sig":"MEQCIFjnZXWLQ7ANxqfHenmUTak9x+PWEWsGt8iwBxGBrnMVAiBo7Q+IFXxQvAYbIFMijckSep1I4hh9iEjSb7Hrx9NPaw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64686},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"af7e74b3715d56d3a193e1bb6743b337c2b0df6d","scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rm -rf dist","prebuild":"npm run clean","test:run":"jest --watchAll=false","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5922687f-1531-4cb3-92f0-8326caf1fd8b"}},"repository":{"url":"git+https://github.com/BernierLLC/tools.git","type":"git","directory":"packages/service/email-service"},"_npmVersion":"lerna/9.0.3/node@v20.19.6+x64 (linux)","description":"Comprehensive email service orchestrating template management, multi-provider delivery, tracking, and subscriber management","directories":{},"_nodeVersion":"20.19.6","dependencies":{"@bernierllc/logger":"1.3.0","@bernierllc/retry-state":"0.2.0","@bernierllc/crypto-utils":"1.0.6","@bernierllc/email-parser":"0.3.0","@bernierllc/email-sender":"5.0.0","@bernierllc/retry-policy":"0.3.0","@bernierllc/queue-manager":"1.2.0","@bernierllc/retry-metrics":"0.2.0","@bernierllc/config-manager":"1.0.5","@bernierllc/email-validator":"3.0.0","@bernierllc/template-engine":"0.4.0","@bernierllc/database-adapter":"1.2.0","@bernierllc/webhook-validator":"1.0.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","ts-jest":"^29.1.0","typescript":"^5.3.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@types/nodemailer":"^6.4.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"nodemailer":"^6.9.0","@sendgrid/mail":"^8.0.0"},"peerDependenciesMeta":{"nodemailer":{"optional":true},"@sendgrid/mail":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/email-service_4.0.0_1767642471226_0.5550235818425453","host":"s3://npm-registry-packages-npm-production"}},"4.0.1":{"name":"@bernierllc/email-service","version":"4.0.1","keywords":["email","service","sendgrid","mailgun","ses","smtp","templates","tracking","analytics","subscribers","bernierllc"],"author":{"name":"Bernier LLC"},"license":"PROPRIETARY","_id":"@bernierllc/email-service@4.0.1","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/BernierLLC/tools#readme","bugs":{"url":"https://github.com/BernierLLC/tools/issues"},"dist":{"shasum":"1116913db8a22381b1a8f57118690efb1c421d9a","tarball":"https://registry.npmjs.org/@bernierllc/email-service/-/email-service-4.0.1.tgz","fileCount":8,"integrity":"sha512-ecUyAORx/gaERD50uvcUR5Sqq6byHVLQm3CBvLIXzYNX0hDhf0UnE2tBjiW80P3KVWAq3J6B45AZhEdvsYSt8Q==","signatures":[{"sig":"MEYCIQD43m3DzWX+zvn3C79kjrt6lgv9gjnYTtC5bBui8R6AbgIhAP/37rcdyyYbqjKbSv/EuB1wrpzH2KeYqBzDLHy4+//l","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64628},"main":"dist/index.js","type":"module","_from":"file:bernierllc-email-service-4.0.1.tgz","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rm -rf dist","prebuild":"npm run clean","test:run":"jest --watchAll=false","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"mkbernier","email":"mkbernier@gmail.com"},"_resolved":"/Users/mattbernier/projects/tools/packages/service/email-service/bernierllc-email-service-4.0.1.tgz","_integrity":"sha512-ecUyAORx/gaERD50uvcUR5Sqq6byHVLQm3CBvLIXzYNX0hDhf0UnE2tBjiW80P3KVWAq3J6B45AZhEdvsYSt8Q==","repository":{"url":"git+https://github.com/BernierLLC/tools.git","type":"git","directory":"packages/service/email-service"},"_npmVersion":"11.6.2","description":"Comprehensive email service orchestrating template management, multi-provider delivery, tracking, and subscriber management","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@bernierllc/logger":"1.3.1","@bernierllc/retry-state":"0.2.1","@bernierllc/crypto-utils":"1.0.7","@bernierllc/email-parser":"0.4.0","@bernierllc/email-sender":"5.1.1","@bernierllc/retry-policy":"0.3.1","@bernierllc/queue-manager":"1.2.1","@bernierllc/retry-metrics":"0.2.1","@bernierllc/config-manager":"1.0.6","@bernierllc/email-validator":"3.0.1","@bernierllc/template-engine":"0.4.1","@bernierllc/database-adapter":"1.2.1","@bernierllc/webhook-validator":"1.0.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","ts-jest":"^29.1.0","typescript":"^5.3.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@types/nodemailer":"^6.4.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"nodemailer":"^6.9.0","@sendgrid/mail":"^8.0.0"},"peerDependenciesMeta":{"nodemailer":{"optional":true},"@sendgrid/mail":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/email-service_4.0.1_1772569478280_0.6887255424456042","host":"s3://npm-registry-packages-npm-production"}},"4.0.2":{"name":"@bernierllc/email-service","version":"4.0.2","keywords":["email","service","sendgrid","mailgun","ses","smtp","templates","tracking","analytics","subscribers","bernierllc"],"author":{"name":"Bernier LLC"},"license":"PROPRIETARY","_id":"@bernierllc/email-service@4.0.2","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/BernierLLC/tools#readme","bugs":{"url":"https://github.com/BernierLLC/tools/issues"},"dist":{"shasum":"d6bb66ef766a265085b6927d97da184ff5730cf9","tarball":"https://registry.npmjs.org/@bernierllc/email-service/-/email-service-4.0.2.tgz","fileCount":8,"integrity":"sha512-rYft0ZRkY2Jwi1kNHkOusDJCzGvbnRSmmYy1axTnNkrsg1zoNbrK1oC78j3no9nbn2dTeATHM3l1F93/+i0+vw==","signatures":[{"sig":"MEYCIQDpMyMxsz5DCpDFoalG9Z7n/az1ffcWCf9DM7esdQm2igIhAI0FcwsUMN+Y1fwYkYalNy9Emc65jbK3UedvLrUcNO40","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66605},"main":"dist/index.js","type":"module","_from":"file:bernierllc-email-service-4.0.2.tgz","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rm -rf dist","prebuild":"npm run clean","test:run":"jest --watchAll=false --forceExit","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5922687f-1531-4cb3-92f0-8326caf1fd8b"}},"_resolved":"/home/runner/work/tools/tools/packages/service/email-service/bernierllc-email-service-4.0.2.tgz","_integrity":"sha512-rYft0ZRkY2Jwi1kNHkOusDJCzGvbnRSmmYy1axTnNkrsg1zoNbrK1oC78j3no9nbn2dTeATHM3l1F93/+i0+vw==","repository":{"url":"git+https://github.com/BernierLLC/tools.git","type":"git","directory":"packages/service/email-service"},"_npmVersion":"11.11.0","description":"Comprehensive email service orchestrating template management, multi-provider delivery, tracking, and subscriber management","directories":{},"_nodeVersion":"20.20.0","dependencies":{"@bernierllc/logger":"1.3.2","@bernierllc/retry-state":"0.2.2","@bernierllc/crypto-utils":"1.0.8","@bernierllc/email-parser":"0.4.1","@bernierllc/email-sender":"5.2.0","@bernierllc/retry-policy":"0.3.2","@bernierllc/queue-manager":"1.2.2","@bernierllc/retry-metrics":"0.2.2","@bernierllc/config-manager":"1.0.7","@bernierllc/email-validator":"3.0.2","@bernierllc/template-engine":"0.4.2","@bernierllc/database-adapter":"1.2.2","@bernierllc/webhook-validator":"1.0.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","ts-jest":"^29.1.0","typescript":"^5.3.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@types/nodemailer":"^6.4.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"nodemailer":"^6.9.0","@sendgrid/mail":"^8.0.0"},"peerDependenciesMeta":{"nodemailer":{"optional":true},"@sendgrid/mail":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/email-service_4.0.2_1773082975378_0.5585495107987697","host":"s3://npm-registry-packages-npm-production"}},"4.0.3":{"name":"@bernierllc/email-service","version":"4.0.3","keywords":["email","service","sendgrid","mailgun","ses","smtp","templates","tracking","analytics","subscribers","bernierllc"],"author":{"name":"Bernier LLC"},"license":"PROPRIETARY","_id":"@bernierllc/email-service@4.0.3","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/BernierLLC/tools#readme","bugs":{"url":"https://github.com/BernierLLC/tools/issues"},"dist":{"shasum":"a64cf0baef2a8678a97c907e973895af427bd062","tarball":"https://registry.npmjs.org/@bernierllc/email-service/-/email-service-4.0.3.tgz","fileCount":8,"integrity":"sha512-JKF/va4oQp/DSTvUQ0amcvqx2BPHsC4b/GmwOlXMePc3t8QBzeXntr308KpcYE27cYApy0dKJbL/kJkUsdwgTA==","signatures":[{"sig":"MEUCIQC/hZ2vn/klZLDGxNhIoaMkQRcrsdXomH3rsDvLmG9qSAIgDi0ccQha6gvTAL4oodlM5ao5MKfYeR5DokCmZEqz/NY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66605},"main":"dist/index.js","type":"module","_from":"file:bernierllc-email-service-4.0.3.tgz","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rm -rf dist","prebuild":"npm run clean","test:run":"jest --watchAll=false --forceExit","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5922687f-1531-4cb3-92f0-8326caf1fd8b"}},"_resolved":"/home/runner/work/tools/tools/packages/service/email-service/bernierllc-email-service-4.0.3.tgz","_integrity":"sha512-JKF/va4oQp/DSTvUQ0amcvqx2BPHsC4b/GmwOlXMePc3t8QBzeXntr308KpcYE27cYApy0dKJbL/kJkUsdwgTA==","repository":{"url":"git+https://github.com/BernierLLC/tools.git","type":"git","directory":"packages/service/email-service"},"_npmVersion":"11.11.1","description":"Comprehensive email service orchestrating template management, multi-provider delivery, tracking, and subscriber management","directories":{},"_nodeVersion":"20.20.1","dependencies":{"@bernierllc/logger":"1.3.2","@bernierllc/retry-state":"0.2.2","@bernierllc/crypto-utils":"1.0.8","@bernierllc/email-parser":"0.4.1","@bernierllc/email-sender":"5.2.1","@bernierllc/retry-policy":"0.3.2","@bernierllc/queue-manager":"1.2.2","@bernierllc/retry-metrics":"0.2.2","@bernierllc/config-manager":"1.0.7","@bernierllc/email-validator":"3.0.2","@bernierllc/template-engine":"0.4.2","@bernierllc/database-adapter":"1.2.2","@bernierllc/webhook-validator":"1.0.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","ts-jest":"^29.1.0","typescript":"^5.3.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@types/nodemailer":"^6.4.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"nodemailer":"^6.9.0","@sendgrid/mail":"^8.0.0"},"peerDependenciesMeta":{"nodemailer":{"optional":true},"@sendgrid/mail":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/email-service_4.0.3_1773869820678_0.09067864888329491","host":"s3://npm-registry-packages-npm-production"}},"4.0.4":{"name":"@bernierllc/email-service","version":"4.0.4","keywords":["email","service","sendgrid","mailgun","ses","smtp","templates","tracking","analytics","subscribers","bernierllc"],"author":{"name":"Bernier LLC"},"license":"PROPRIETARY","_id":"@bernierllc/email-service@4.0.4","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/BernierLLC/tools#readme","bugs":{"url":"https://github.com/BernierLLC/tools/issues"},"dist":{"shasum":"8ae5b377b70fad68c11726cf1005cb17e3a70519","tarball":"https://registry.npmjs.org/@bernierllc/email-service/-/email-service-4.0.4.tgz","fileCount":8,"integrity":"sha512-uV8w28HtVE8uATzXDDTApkBdGfDNO1c9NQYz4QnIvv6/WxJeB3hyK76nr6BIQ6ZvtEe/AOkN1at1CZAvmHaHqQ==","signatures":[{"sig":"MEUCIQCY7+HLK1acZfj4rp0o+eNoBCFJILnvhGExYH4gxGrQGQIgWqTcX1Ofw7sA/FEt6Lv9/KSdIVAAhQzMAnmj1XjbnJ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66605},"main":"dist/index.js","type":"module","_from":"file:bernierllc-email-service-4.0.4.tgz","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rm -rf dist","prebuild":"npm run clean","test:run":"jest --watchAll=false --forceExit","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5922687f-1531-4cb3-92f0-8326caf1fd8b"}},"_resolved":"/home/runner/work/tools/tools/packages/service/email-service/bernierllc-email-service-4.0.4.tgz","_integrity":"sha512-uV8w28HtVE8uATzXDDTApkBdGfDNO1c9NQYz4QnIvv6/WxJeB3hyK76nr6BIQ6ZvtEe/AOkN1at1CZAvmHaHqQ==","repository":{"url":"git+https://github.com/BernierLLC/tools.git","type":"git","directory":"packages/service/email-service"},"_npmVersion":"11.12.0","description":"Comprehensive email service orchestrating template management, multi-provider delivery, tracking, and subscriber management","directories":{},"_nodeVersion":"20.20.1","dependencies":{"@bernierllc/logger":"1.3.2","@bernierllc/retry-state":"0.2.2","@bernierllc/crypto-utils":"1.0.8","@bernierllc/email-parser":"0.4.1","@bernierllc/email-sender":"5.3.0","@bernierllc/retry-policy":"0.3.2","@bernierllc/queue-manager":"1.2.2","@bernierllc/retry-metrics":"0.2.2","@bernierllc/config-manager":"1.0.7","@bernierllc/email-validator":"3.0.2","@bernierllc/template-engine":"0.4.2","@bernierllc/database-adapter":"1.2.2","@bernierllc/webhook-validator":"1.0.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","ts-jest":"^29.1.0","typescript":"^5.3.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@types/nodemailer":"^6.4.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"nodemailer":"^6.9.0","@sendgrid/mail":"^8.0.0"},"peerDependenciesMeta":{"nodemailer":{"optional":true},"@sendgrid/mail":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/email-service_4.0.4_1774131171526_0.038255082391884576","host":"s3://npm-registry-packages-npm-production"}},"4.0.5":{"name":"@bernierllc/email-service","version":"4.0.5","keywords":["email","service","sendgrid","mailgun","ses","smtp","templates","tracking","analytics","subscribers","bernierllc"],"author":{"name":"Bernier LLC"},"license":"PROPRIETARY","_id":"@bernierllc/email-service@4.0.5","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/BernierLLC/tools#readme","bugs":{"url":"https://github.com/BernierLLC/tools/issues"},"dist":{"shasum":"a4446f1019fb9f3238165edb2a6c09daf02fdf6f","tarball":"https://registry.npmjs.org/@bernierllc/email-service/-/email-service-4.0.5.tgz","fileCount":8,"integrity":"sha512-mE98ONe8CMQ+V7HInrKg24f0Pb/fvFvGuI05LLTDNzzQxTaH4v7c1tgpOf1qBn7+G05++DDzXM0laVNDq864MA==","signatures":[{"sig":"MEQCIBs+bF+j4wk/cNJ/1eZ3SawqME6JCu845wnq6MSYbzSpAiAiFhUPVs3evbNnJK97MMT1grNlSNuJTfYq3stCcDRE6g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66605},"main":"dist/index.js","type":"module","_from":"file:bernierllc-email-service-4.0.5.tgz","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rm -rf dist","prebuild":"npm run clean","test:run":"jest --watchAll=false --forceExit","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5922687f-1531-4cb3-92f0-8326caf1fd8b"}},"_resolved":"/home/runner/work/tools/tools/packages/service/email-service/bernierllc-email-service-4.0.5.tgz","_integrity":"sha512-mE98ONe8CMQ+V7HInrKg24f0Pb/fvFvGuI05LLTDNzzQxTaH4v7c1tgpOf1qBn7+G05++DDzXM0laVNDq864MA==","repository":{"url":"git+https://github.com/BernierLLC/tools.git","type":"git","directory":"packages/service/email-service"},"_npmVersion":"11.14.1","description":"Comprehensive email service orchestrating template management, multi-provider delivery, tracking, and subscriber management","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@bernierllc/logger":"1.4.0","@bernierllc/retry-state":"0.2.2","@bernierllc/crypto-utils":"1.0.8","@bernierllc/email-parser":"0.4.1","@bernierllc/email-sender":"5.3.0","@bernierllc/retry-policy":"0.4.0","@bernierllc/queue-manager":"1.2.3","@bernierllc/retry-metrics":"0.2.2","@bernierllc/config-manager":"1.0.7","@bernierllc/email-validator":"3.0.2","@bernierllc/template-engine":"0.4.2","@bernierllc/database-adapter":"1.2.3","@bernierllc/webhook-validator":"1.0.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","ts-jest":"^29.1.0","typescript":"^5.3.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@types/nodemailer":"^6.4.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"nodemailer":"^6.9.0","@sendgrid/mail":"^8.0.0"},"peerDependenciesMeta":{"nodemailer":{"optional":true},"@sendgrid/mail":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/email-service_4.0.5_1779133779160_0.5285080452580853","host":"s3://npm-registry-packages-npm-production"}},"4.0.6":{"name":"@bernierllc/email-service","version":"4.0.6","keywords":["email","service","sendgrid","mailgun","ses","smtp","templates","tracking","analytics","subscribers","bernierllc"],"author":{"name":"Bernier LLC"},"license":"PROPRIETARY","_id":"@bernierllc/email-service@4.0.6","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/BernierLLC/tools#readme","bugs":{"url":"https://github.com/BernierLLC/tools/issues"},"dist":{"shasum":"4122858d85b492fed8251a931567ac4706edde7d","tarball":"https://registry.npmjs.org/@bernierllc/email-service/-/email-service-4.0.6.tgz","fileCount":8,"integrity":"sha512-+HuzDyQorIhuO7Baf8oj6uWRuAdWylvYdJjmZQQlS+cGZJzFDpmAXcKlbZUz/i4obw6V0FCmZx3yYNwyxokZfw==","signatures":[{"sig":"MEUCIAvKrJz/s7ROOFKouf7jCSCSAu213UIOLu+pWJjWLaisAiEA9XvWVtkhLsii7+o8lJ+hcwMual4fgyeQYpxX30SBkVA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66605},"main":"dist/index.js","type":"module","_from":"file:bernierllc-email-service-4.0.6.tgz","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rm -rf dist","prebuild":"npm run clean","test:run":"jest --watchAll=false --forceExit","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5922687f-1531-4cb3-92f0-8326caf1fd8b"}},"_resolved":"/home/runner/work/tools/tools/packages/service/email-service/bernierllc-email-service-4.0.6.tgz","_integrity":"sha512-+HuzDyQorIhuO7Baf8oj6uWRuAdWylvYdJjmZQQlS+cGZJzFDpmAXcKlbZUz/i4obw6V0FCmZx3yYNwyxokZfw==","repository":{"url":"git+https://github.com/BernierLLC/tools.git","type":"git","directory":"packages/service/email-service"},"_npmVersion":"11.14.1","description":"Comprehensive email service orchestrating template management, multi-provider delivery, tracking, and subscriber management","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@bernierllc/logger":"1.4.2","@bernierllc/retry-state":"0.2.2","@bernierllc/crypto-utils":"1.0.8","@bernierllc/email-parser":"0.4.1","@bernierllc/email-sender":"5.3.0","@bernierllc/retry-policy":"0.5.1","@bernierllc/queue-manager":"1.2.4","@bernierllc/retry-metrics":"0.2.2","@bernierllc/config-manager":"1.0.7","@bernierllc/email-validator":"3.0.2","@bernierllc/template-engine":"0.4.2","@bernierllc/database-adapter":"1.2.4","@bernierllc/webhook-validator":"1.0.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","ts-jest":"^29.1.0","typescript":"^5.3.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@types/nodemailer":"^6.4.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"nodemailer":"^6.9.0","@sendgrid/mail":"^8.0.0"},"peerDependenciesMeta":{"nodemailer":{"optional":true},"@sendgrid/mail":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/email-service_4.0.6_1779157462677_0.5437670594121509","host":"s3://npm-registry-packages-npm-production"}},"4.0.7":{"name":"@bernierllc/email-service","version":"4.0.7","keywords":["email","service","sendgrid","mailgun","ses","smtp","templates","tracking","analytics","subscribers","bernierllc"],"author":{"name":"Bernier LLC"},"license":"PROPRIETARY","_id":"@bernierllc/email-service@4.0.7","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/BernierLLC/tools#readme","bugs":{"url":"https://github.com/BernierLLC/tools/issues"},"dist":{"shasum":"8ed327d3ceb7dfe9f59dd4889044569d96fec525","tarball":"https://registry.npmjs.org/@bernierllc/email-service/-/email-service-4.0.7.tgz","fileCount":8,"integrity":"sha512-pz4EsW7DQLhHgVMHldc34Ok67Opaa+o9ISD0k/9jZExxTslxnKiftdLj8lJTenQm1p1mttDLVydIzI/+gsrCnQ==","signatures":[{"sig":"MEUCIQD0/B4hJzNyJWZCC+YqOOWbnhV+oVHsI8Qlh6g6RgzV5AIgDOBartxGYuq/U0Vw1WRmei3zMBERaobzEusPMa6a8r0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66605},"main":"dist/index.js","type":"module","_from":"file:bernierllc-email-service-4.0.7.tgz","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rm -rf dist","prebuild":"npm run clean","test:run":"jest --watchAll=false --forceExit","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5922687f-1531-4cb3-92f0-8326caf1fd8b"}},"_resolved":"/home/runner/work/tools/tools/packages/service/email-service/bernierllc-email-service-4.0.7.tgz","_integrity":"sha512-pz4EsW7DQLhHgVMHldc34Ok67Opaa+o9ISD0k/9jZExxTslxnKiftdLj8lJTenQm1p1mttDLVydIzI/+gsrCnQ==","repository":{"url":"git+https://github.com/BernierLLC/tools.git","type":"git","directory":"packages/service/email-service"},"_npmVersion":"11.14.1","description":"Comprehensive email service orchestrating template management, multi-provider delivery, tracking, and subscriber management","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@bernierllc/logger":"1.4.3","@bernierllc/retry-state":"0.2.2","@bernierllc/crypto-utils":"1.2.0","@bernierllc/email-parser":"0.4.1","@bernierllc/email-sender":"5.3.0","@bernierllc/retry-policy":"0.5.1","@bernierllc/queue-manager":"1.2.4","@bernierllc/retry-metrics":"0.2.2","@bernierllc/config-manager":"1.0.7","@bernierllc/email-validator":"3.2.0","@bernierllc/template-engine":"0.4.2","@bernierllc/database-adapter":"1.2.5","@bernierllc/webhook-validator":"1.0.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","ts-jest":"^29.1.0","typescript":"^5.3.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@types/nodemailer":"^6.4.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"nodemailer":"^6.9.0","@sendgrid/mail":"^8.0.0"},"peerDependenciesMeta":{"nodemailer":{"optional":true},"@sendgrid/mail":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/email-service_4.0.7_1779221614587_0.1458302652619936","host":"s3://npm-registry-packages-npm-production"}},"4.0.8":{"name":"@bernierllc/email-service","version":"4.0.8","keywords":["email","service","sendgrid","mailgun","ses","smtp","templates","tracking","analytics","subscribers","bernierllc"],"author":{"name":"Bernier LLC"},"license":"PROPRIETARY","_id":"@bernierllc/email-service@4.0.8","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/BernierLLC/tools#readme","bugs":{"url":"https://github.com/BernierLLC/tools/issues"},"dist":{"shasum":"766c74aa4f45004449b02a42cee89b494e59ace9","tarball":"https://registry.npmjs.org/@bernierllc/email-service/-/email-service-4.0.8.tgz","fileCount":8,"integrity":"sha512-fELxhetKN0ytRAI+sQg3XYjLhWqnS5b/dBam5FkBC/Yk9N0Twz/f46w6iGMYZteN9XxWA73VJXmoXQNA+HPIoA==","signatures":[{"sig":"MEUCIFOJ3h9NodhCJUeUMk00Uxy2EYu9qJRR6EVwFEeYnkl1AiEAq3xQDfpYI1lZqgpFk2wMNoTrlghBLpcmPXdZNsuB1Vo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66605},"main":"dist/index.js","type":"module","_from":"file:bernierllc-email-service-4.0.8.tgz","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rm -rf dist","prebuild":"npm run clean","test:run":"jest --watchAll=false --forceExit","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5922687f-1531-4cb3-92f0-8326caf1fd8b"}},"_resolved":"/home/runner/work/tools/tools/packages/service/email-service/bernierllc-email-service-4.0.8.tgz","_integrity":"sha512-fELxhetKN0ytRAI+sQg3XYjLhWqnS5b/dBam5FkBC/Yk9N0Twz/f46w6iGMYZteN9XxWA73VJXmoXQNA+HPIoA==","repository":{"url":"git+https://github.com/BernierLLC/tools.git","type":"git","directory":"packages/service/email-service"},"_npmVersion":"11.14.1","description":"Comprehensive email service orchestrating template management, multi-provider delivery, tracking, and subscriber management","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@bernierllc/logger":"1.4.3","@bernierllc/retry-state":"0.2.2","@bernierllc/crypto-utils":"1.2.0","@bernierllc/email-parser":"0.4.1","@bernierllc/email-sender":"5.3.0","@bernierllc/retry-policy":"0.5.1","@bernierllc/queue-manager":"1.2.4","@bernierllc/retry-metrics":"0.2.2","@bernierllc/config-manager":"1.2.0","@bernierllc/email-validator":"3.2.0","@bernierllc/template-engine":"0.4.2","@bernierllc/database-adapter":"1.2.5","@bernierllc/webhook-validator":"1.0.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","ts-jest":"^29.1.0","typescript":"^5.3.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@types/nodemailer":"^6.4.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"nodemailer":"^6.9.0","@sendgrid/mail":"^8.0.0"},"peerDependenciesMeta":{"nodemailer":{"optional":true},"@sendgrid/mail":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/email-service_4.0.8_1779234069351_0.9411309077693968","host":"s3://npm-registry-packages-npm-production"}},"4.1.0":{"name":"@bernierllc/email-service","version":"4.1.0","keywords":["email","service","sendgrid","mailgun","ses","smtp","templates","tracking","analytics","subscribers","bernierllc"],"author":{"name":"Bernier LLC"},"license":"PROPRIETARY","_id":"@bernierllc/email-service@4.1.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/BernierLLC/tools#readme","bugs":{"url":"https://github.com/BernierLLC/tools/issues"},"dist":{"shasum":"9a6967cbd94824782064dffdf298fdfb7ff467bb","tarball":"https://registry.npmjs.org/@bernierllc/email-service/-/email-service-4.1.0.tgz","fileCount":8,"integrity":"sha512-6c6Ftg8DdCHr2ygSftERGXe9mqovpOgZaHsrbn2Rt8/4o2wbvWmC4en02rD5Wdda6tyVcWE/NaEPlnBTGpf0vw==","signatures":[{"sig":"MEUCIFrvovVSww54P5DfDNm8BI6INj6DLYoz0XmgjWfh/JlkAiEA5caJetYoX8yk3773Znd4PHmx8WTDraf9cs/G7WYkJ8s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66605},"main":"dist/index.js","type":"module","_from":"file:bernierllc-email-service-4.1.0.tgz","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rm -rf dist","prebuild":"npm run clean","test:run":"jest --watchAll=false --forceExit","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5922687f-1531-4cb3-92f0-8326caf1fd8b"}},"_resolved":"/home/runner/work/tools/tools/packages/service/email-service/bernierllc-email-service-4.1.0.tgz","_integrity":"sha512-6c6Ftg8DdCHr2ygSftERGXe9mqovpOgZaHsrbn2Rt8/4o2wbvWmC4en02rD5Wdda6tyVcWE/NaEPlnBTGpf0vw==","repository":{"url":"git+https://github.com/BernierLLC/tools.git","type":"git","directory":"packages/service/email-service"},"_npmVersion":"11.14.1","description":"Comprehensive email service orchestrating template management, multi-provider delivery, tracking, and subscriber management","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@bernierllc/logger":"1.6.0","@bernierllc/retry-state":"0.3.0","@bernierllc/crypto-utils":"1.3.0","@bernierllc/email-parser":"0.6.0","@bernierllc/email-sender":"5.4.0","@bernierllc/retry-policy":"0.6.0","@bernierllc/queue-manager":"1.4.0","@bernierllc/retry-metrics":"0.3.0","@bernierllc/config-manager":"1.3.0","@bernierllc/email-validator":"3.3.0","@bernierllc/template-engine":"0.6.0","@bernierllc/database-adapter":"1.4.0","@bernierllc/webhook-validator":"1.1.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","ts-jest":"^29.1.0","typescript":"^5.3.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@types/nodemailer":"^6.4.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"nodemailer":"^6.9.0","@sendgrid/mail":"^8.0.0"},"peerDependenciesMeta":{"nodemailer":{"optional":true},"@sendgrid/mail":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/email-service_4.1.0_1779241673192_0.2049699773689957","host":"s3://npm-registry-packages-npm-production"}},"4.1.1":{"name":"@bernierllc/email-service","version":"4.1.1","keywords":["email","service","sendgrid","mailgun","ses","smtp","templates","tracking","analytics","subscribers","bernierllc"],"author":{"name":"Bernier LLC"},"license":"PROPRIETARY","_id":"@bernierllc/email-service@4.1.1","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/BernierLLC/tools#readme","bugs":{"url":"https://github.com/BernierLLC/tools/issues"},"dist":{"shasum":"fcc42e146e8374be075bb6d270a3dec72d1f83c4","tarball":"https://registry.npmjs.org/@bernierllc/email-service/-/email-service-4.1.1.tgz","fileCount":8,"integrity":"sha512-zQZ/bDjMMWNR9MZwK6NuaRHR6buF2fARTsJoHsmSEKUaqHwul5CzSN5bM/O6uNs2Y7bryjWnFAs6+/WBAKKjBw==","signatures":[{"sig":"MEYCIQC+o4PJRaUKgveOMQWCIQP0knZ8qiiyOJJPqW7HO4rGJAIhALNa9bMOvvkSBBAm+YTNAr3pCUJ5xQ/VQi3a4YxOdzcp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66605},"main":"dist/index.js","type":"module","_from":"file:bernierllc-email-service-4.1.1.tgz","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rm -rf dist","prebuild":"npm run clean","test:run":"jest --watchAll=false --forceExit","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5922687f-1531-4cb3-92f0-8326caf1fd8b"}},"_resolved":"/home/runner/work/tools/tools/packages/service/email-service/bernierllc-email-service-4.1.1.tgz","_integrity":"sha512-zQZ/bDjMMWNR9MZwK6NuaRHR6buF2fARTsJoHsmSEKUaqHwul5CzSN5bM/O6uNs2Y7bryjWnFAs6+/WBAKKjBw==","repository":{"url":"git+https://github.com/BernierLLC/tools.git","type":"git","directory":"packages/service/email-service"},"_npmVersion":"11.14.1","description":"Comprehensive email service orchestrating template management, multi-provider delivery, tracking, and subscriber management","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@bernierllc/logger":"1.6.0","@bernierllc/retry-state":"0.4.0","@bernierllc/crypto-utils":"1.3.0","@bernierllc/email-parser":"0.6.0","@bernierllc/email-sender":"5.4.0","@bernierllc/retry-policy":"0.6.0","@bernierllc/queue-manager":"1.4.0","@bernierllc/retry-metrics":"0.4.0","@bernierllc/config-manager":"1.3.0","@bernierllc/email-validator":"3.3.0","@bernierllc/template-engine":"0.6.0","@bernierllc/database-adapter":"1.4.0","@bernierllc/webhook-validator":"1.3.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","ts-jest":"^29.1.0","typescript":"^5.3.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@types/nodemailer":"^6.4.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"nodemailer":"^6.9.0","@sendgrid/mail":"^8.0.0"},"peerDependenciesMeta":{"nodemailer":{"optional":true},"@sendgrid/mail":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/email-service_4.1.1_1779243470482_0.0030442523842153513","host":"s3://npm-registry-packages-npm-production"}},"4.2.0":{"name":"@bernierllc/email-service","version":"4.2.0","keywords":["email","service","sendgrid","mailgun","ses","smtp","templates","tracking","analytics","subscribers","bernierllc"],"author":{"name":"Bernier LLC"},"license":"PROPRIETARY","_id":"@bernierllc/email-service@4.2.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/BernierLLC/tools#readme","bugs":{"url":"https://github.com/BernierLLC/tools/issues"},"dist":{"shasum":"52d861dfe8b46ebc1292e0c5ea7097e4e1c4addd","tarball":"https://registry.npmjs.org/@bernierllc/email-service/-/email-service-4.2.0.tgz","fileCount":8,"integrity":"sha512-uob6f2OXE1WF7XnScBL9IGrLdxynO49OlDkgChlInPKV1MEESzXv4T8IwT3JF1Kr8KuZjGcvQ+jWQd3ULkj9MA==","signatures":[{"sig":"MEUCIQCW2uYLP8kZNO4O6dc4dNqYeM3eL5OcTB9u9fMGYhJUVgIgKQoR9oawyM2F6Qf2b1s+XkkzO1/GWkri8Crtb4Qluzo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66605},"main":"dist/index.js","type":"module","_from":"file:bernierllc-email-service-4.2.0.tgz","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rm -rf dist","prebuild":"npm run clean","test:run":"jest --watchAll=false --forceExit","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5922687f-1531-4cb3-92f0-8326caf1fd8b"}},"_resolved":"/home/runner/work/tools/tools/packages/service/email-service/bernierllc-email-service-4.2.0.tgz","_integrity":"sha512-uob6f2OXE1WF7XnScBL9IGrLdxynO49OlDkgChlInPKV1MEESzXv4T8IwT3JF1Kr8KuZjGcvQ+jWQd3ULkj9MA==","repository":{"url":"git+https://github.com/BernierLLC/tools.git","type":"git","directory":"packages/service/email-service"},"_npmVersion":"11.14.1","description":"Comprehensive email service orchestrating template management, multi-provider delivery, tracking, and subscriber management","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@bernierllc/logger":"1.7.0","@bernierllc/retry-state":"0.5.0","@bernierllc/crypto-utils":"1.4.0","@bernierllc/email-parser":"0.7.0","@bernierllc/email-sender":"5.5.0","@bernierllc/retry-policy":"0.7.0","@bernierllc/queue-manager":"1.5.0","@bernierllc/retry-metrics":"0.5.0","@bernierllc/config-manager":"1.4.0","@bernierllc/email-validator":"3.4.0","@bernierllc/template-engine":"0.7.0","@bernierllc/database-adapter":"1.5.0","@bernierllc/webhook-validator":"1.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","ts-jest":"^29.1.0","typescript":"^5.3.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@types/nodemailer":"^6.4.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"nodemailer":"^6.9.0","@sendgrid/mail":"^8.0.0"},"peerDependenciesMeta":{"nodemailer":{"optional":true},"@sendgrid/mail":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/email-service_4.2.0_1779250419732_0.10003547236723898","host":"s3://npm-registry-packages-npm-production"}},"4.2.1":{"name":"@bernierllc/email-service","version":"4.2.1","keywords":["email","service","sendgrid","mailgun","ses","smtp","templates","tracking","analytics","subscribers","bernierllc"],"author":{"name":"Bernier LLC"},"license":"PROPRIETARY","_id":"@bernierllc/email-service@4.2.1","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/BernierLLC/tools#readme","bugs":{"url":"https://github.com/BernierLLC/tools/issues"},"dist":{"shasum":"21807553a5121d846a2114fa98b86ad9197d74af","tarball":"https://registry.npmjs.org/@bernierllc/email-service/-/email-service-4.2.1.tgz","fileCount":8,"integrity":"sha512-yS1kFd/hirEwr4hyPYBQEpWh5FHkGgnepG/qtZ5TSUolZ4puP2MZwo7FRLNXGT86+qZlo4KIfciJ6mIM2BVHzQ==","signatures":[{"sig":"MEYCIQDWj7qx4AC+xa5UsZFoN6ut0H4PoQcK05TbwA3VmroaNQIhAIYReMtSudkRjw2QVuaA0XsECNd8E+Aif3+0+kL5+C36","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66605},"main":"dist/index.js","type":"module","_from":"file:bernierllc-email-service-4.2.1.tgz","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rm -rf dist","prebuild":"npm run clean","test:run":"jest --watchAll=false --forceExit","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5922687f-1531-4cb3-92f0-8326caf1fd8b"}},"_resolved":"/home/runner/work/tools/tools/packages/service/email-service/bernierllc-email-service-4.2.1.tgz","_integrity":"sha512-yS1kFd/hirEwr4hyPYBQEpWh5FHkGgnepG/qtZ5TSUolZ4puP2MZwo7FRLNXGT86+qZlo4KIfciJ6mIM2BVHzQ==","repository":{"url":"git+https://github.com/BernierLLC/tools.git","type":"git","directory":"packages/service/email-service"},"_npmVersion":"11.14.1","description":"Comprehensive email service orchestrating template management, multi-provider delivery, tracking, and subscriber management","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@bernierllc/logger":"1.7.0","@bernierllc/retry-state":"0.5.0","@bernierllc/crypto-utils":"1.4.0","@bernierllc/email-parser":"0.7.0","@bernierllc/email-sender":"5.7.0","@bernierllc/retry-policy":"0.7.0","@bernierllc/queue-manager":"1.5.0","@bernierllc/retry-metrics":"0.5.0","@bernierllc/config-manager":"1.4.0","@bernierllc/email-validator":"3.4.0","@bernierllc/template-engine":"0.7.0","@bernierllc/database-adapter":"1.5.0","@bernierllc/webhook-validator":"1.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","ts-jest":"^29.1.0","typescript":"^5.3.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@types/nodemailer":"^6.4.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"nodemailer":"^6.9.0","@sendgrid/mail":"^8.0.0"},"peerDependenciesMeta":{"nodemailer":{"optional":true},"@sendgrid/mail":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/email-service_4.2.1_1779252020643_0.8898988248328628","host":"s3://npm-registry-packages-npm-production"}},"6.0.0":{"name":"@bernierllc/email-service","version":"6.0.0","keywords":["email","service","sendgrid","mailgun","ses","smtp","templates","tracking","analytics","subscribers","bernierllc"],"author":{"name":"Bernier LLC"},"license":"PROPRIETARY","_id":"@bernierllc/email-service@6.0.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/BernierLLC/tools#readme","bugs":{"url":"https://github.com/BernierLLC/tools/issues"},"dist":{"shasum":"054be30e4e4e71b95de663cc4ae969cfe794d06f","tarball":"https://registry.npmjs.org/@bernierllc/email-service/-/email-service-6.0.0.tgz","fileCount":10,"integrity":"sha512-cfu5s7dsWWTSCr57idu6yAhbmhudboOhpuis2qDH/fLD22u7Uycah6B0qcxnIXCBGIXgEq4MPHSKBs4N8qdllQ==","signatures":[{"sig":"MEUCIQDqfJRkIwYAMwCLw0qq6jGR7SqwlISYd5/IGDFa1yRCNgIgAXXIOjPLmZzZqq2WP5nUj4zIEXBhl6SdktFpS4yiOUs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70023},"main":"dist/index.js","type":"module","_from":"file:bernierllc-email-service-6.0.0.tgz","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rm -rf dist","prebuild":"npm run clean","test:run":"jest --watchAll=false --forceExit","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5922687f-1531-4cb3-92f0-8326caf1fd8b"}},"_resolved":"/home/runner/work/tools/tools/packages/service/email-service/bernierllc-email-service-6.0.0.tgz","_integrity":"sha512-cfu5s7dsWWTSCr57idu6yAhbmhudboOhpuis2qDH/fLD22u7Uycah6B0qcxnIXCBGIXgEq4MPHSKBs4N8qdllQ==","repository":{"url":"git+https://github.com/BernierLLC/tools.git","type":"git","directory":"packages/service/email-service"},"_npmVersion":"11.15.0","description":"Comprehensive email service orchestrating template management, multi-provider delivery, tracking, and subscriber management","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@bernierllc/logger":"1.7.0","@bernierllc/retry-state":"0.5.0","@bernierllc/crypto-utils":"1.4.0","@bernierllc/email-parser":"0.7.0","@bernierllc/email-sender":"5.7.0","@bernierllc/retry-policy":"0.7.0","@bernierllc/queue-manager":"1.5.0","@bernierllc/retry-metrics":"0.5.0","@bernierllc/config-manager":"1.4.0","@bernierllc/email-validator":"3.4.0","@bernierllc/template-engine":"0.7.0","@bernierllc/database-adapter":"1.5.0","@bernierllc/webhook-validator":"1.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","ts-jest":"^29.1.0","typescript":"^5.3.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@types/nodemailer":"^6.4.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"nodemailer":"^6.9.0","@sendgrid/mail":"^8.0.0"},"peerDependenciesMeta":{"nodemailer":{"optional":true},"@sendgrid/mail":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/email-service_6.0.0_1779312725679_0.45720901838596184","host":"s3://npm-registry-packages-npm-production"}},"6.0.1":{"name":"@bernierllc/email-service","version":"6.0.1","keywords":["email","service","sendgrid","mailgun","ses","smtp","templates","tracking","analytics","subscribers","bernierllc"],"author":{"name":"Bernier LLC"},"license":"PROPRIETARY","_id":"@bernierllc/email-service@6.0.1","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/BernierLLC/tools#readme","bugs":{"url":"https://github.com/BernierLLC/tools/issues"},"dist":{"shasum":"176f88e1ee330a8fe24e6d31e8e7a18c548c4998","tarball":"https://registry.npmjs.org/@bernierllc/email-service/-/email-service-6.0.1.tgz","fileCount":10,"integrity":"sha512-+Pn4dCIaKxyE4T769igL03/dMZl8uQQD0H/lhQu24WUMJDO1jXCjSyK4y/xiLvO8u+KmMYLbDkWtmMv1l5c73Q==","signatures":[{"sig":"MEYCIQC5ECp9lA2AE4b7dU0N1u/VR6abQQJo1TS/7nYhxwMF6AIhAJpCZW94jbEo1wf1+4ehTOpqGUw8MheO4fDCX03V3qUs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70023},"main":"dist/index.js","type":"module","_from":"file:bernierllc-email-service-6.0.1.tgz","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rm -rf dist","prebuild":"npm run clean","test:run":"jest --watchAll=false --forceExit","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5922687f-1531-4cb3-92f0-8326caf1fd8b"}},"_resolved":"/home/runner/work/tools/tools/packages/service/email-service/bernierllc-email-service-6.0.1.tgz","_integrity":"sha512-+Pn4dCIaKxyE4T769igL03/dMZl8uQQD0H/lhQu24WUMJDO1jXCjSyK4y/xiLvO8u+KmMYLbDkWtmMv1l5c73Q==","repository":{"url":"git+https://github.com/BernierLLC/tools.git","type":"git","directory":"packages/service/email-service"},"_npmVersion":"12.0.1","description":"Comprehensive email service orchestrating template management, multi-provider delivery, tracking, and subscriber management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@bernierllc/logger":"1.7.1","@bernierllc/retry-state":"0.5.0","@bernierllc/crypto-utils":"1.4.0","@bernierllc/email-parser":"0.7.0","@bernierllc/email-sender":"5.7.0","@bernierllc/retry-policy":"0.7.0","@bernierllc/queue-manager":"1.5.0","@bernierllc/retry-metrics":"0.5.0","@bernierllc/config-manager":"1.4.0","@bernierllc/email-validator":"3.4.0","@bernierllc/template-engine":"0.7.0","@bernierllc/database-adapter":"1.5.1","@bernierllc/webhook-validator":"1.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","ts-jest":"^29.1.0","typescript":"^5.3.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@types/nodemailer":"^6.4.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"nodemailer":"^6.9.0","@sendgrid/mail":"^8.0.0"},"peerDependenciesMeta":{"nodemailer":{"optional":true},"@sendgrid/mail":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/email-service_6.0.1_1784015877861_0.8495677435021172","host":"s3://npm-registry-packages-npm-production"}},"6.0.2":{"name":"@bernierllc/email-service","version":"6.0.2","keywords":["email","service","sendgrid","mailgun","ses","smtp","templates","tracking","analytics","subscribers","bernierllc"],"author":{"name":"Bernier LLC"},"license":"PROPRIETARY","_id":"@bernierllc/email-service@6.0.2","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/BernierLLC/tools#readme","bugs":{"url":"https://github.com/BernierLLC/tools/issues"},"dist":{"shasum":"320064b4d05fef00d419e31c4d35f457f17a7534","tarball":"https://registry.npmjs.org/@bernierllc/email-service/-/email-service-6.0.2.tgz","fileCount":10,"integrity":"sha512-zNj6+qUvbRBDIKPByBzbwXuB61pm+Sv6Y4lLQO/8kw5iZoPE/Bjf6mMaLd4bSfi6slMsDdMcYo4ZmZ3Udn2+vQ==","signatures":[{"sig":"MEUCIQDJ40aExtYvHmnHZFpvmwTjIsi4UD8TtCXn4eG4PGAvggIgODOSjERKdJpmF7RIo6M1Gmi3t2rZ/Inw+cKEPJbBUyg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70023},"main":"dist/index.js","type":"module","_from":"file:bernierllc-email-service-6.0.2.tgz","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rm -rf dist","prebuild":"npm run clean","test:run":"jest --watchAll=false --forceExit","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5922687f-1531-4cb3-92f0-8326caf1fd8b"}},"_resolved":"/home/runner/work/tools/tools/packages/service/email-service/bernierllc-email-service-6.0.2.tgz","_integrity":"sha512-zNj6+qUvbRBDIKPByBzbwXuB61pm+Sv6Y4lLQO/8kw5iZoPE/Bjf6mMaLd4bSfi6slMsDdMcYo4ZmZ3Udn2+vQ==","repository":{"url":"git+https://github.com/BernierLLC/tools.git","type":"git","directory":"packages/service/email-service"},"_npmVersion":"12.0.2","description":"Comprehensive email service orchestrating template management, multi-provider delivery, tracking, and subscriber management","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@bernierllc/logger":"1.7.1","@bernierllc/retry-state":"0.5.0","@bernierllc/crypto-utils":"1.4.0","@bernierllc/email-parser":"0.7.0","@bernierllc/email-sender":"5.8.0","@bernierllc/retry-policy":"0.7.0","@bernierllc/queue-manager":"1.5.0","@bernierllc/retry-metrics":"0.5.0","@bernierllc/config-manager":"1.4.0","@bernierllc/email-validator":"3.4.0","@bernierllc/template-engine":"0.7.0","@bernierllc/database-adapter":"1.5.1","@bernierllc/webhook-validator":"1.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","ts-jest":"^29.1.0","typescript":"^5.3.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@types/nodemailer":"^6.4.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"nodemailer":"^6.9.0","@sendgrid/mail":"^8.0.0"},"peerDependenciesMeta":{"nodemailer":{"optional":true},"@sendgrid/mail":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/email-service_6.0.2_1788112418345_0.8029829792351908","host":"s3://npm-registry-packages-npm-production"}},"6.0.3":{"name":"@bernierllc/email-service","version":"6.0.3","keywords":["email","service","sendgrid","mailgun","ses","smtp","templates","tracking","analytics","subscribers","bernierllc"],"author":{"name":"Bernier LLC"},"license":"PROPRIETARY","_id":"@bernierllc/email-service@6.0.3","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/BernierLLC/tools#readme","bugs":{"url":"https://github.com/BernierLLC/tools/issues"},"dist":{"shasum":"1fc0ee4986a9f26a49f30ada3bbe40a9afc14a99","tarball":"https://registry.npmjs.org/@bernierllc/email-service/-/email-service-6.0.3.tgz","fileCount":10,"integrity":"sha512-cWjBGxk9tT6BGUV0oYlJn85EaU7kWd3Da2qDgd/7tRZiecxsvZ7PIrx31FtmCXGPa1hjjalcA5ecHchFIF25Eg==","signatures":[{"sig":"MEUCICcpBBljdL2/pHzwDsCeJ+q0ERe4jThIqdY62lESY/UDAiEA457VXiOj1mnt5AQncv71mkeoCleOdG3dKVTI9bZ+SQM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCIL31yKb2OllqNFZtE4kakK9wc+CIZtnbZHUP6NYex4gIhAKLpyH33UwUwt9kksDv/M4j3V+Tbb2QzC4UDlIMtgBUp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70023},"main":"dist/index.js","type":"module","_from":"file:bernierllc-email-service-6.0.3.tgz","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rm -rf dist","prebuild":"npm run clean","test:run":"jest --watchAll=false --forceExit","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"5922687f-1531-4cb3-92f0-8326caf1fd8b"}},"_resolved":"/home/runner/work/tools/tools/packages/service/email-service/bernierllc-email-service-6.0.3.tgz","_integrity":"sha512-cWjBGxk9tT6BGUV0oYlJn85EaU7kWd3Da2qDgd/7tRZiecxsvZ7PIrx31FtmCXGPa1hjjalcA5ecHchFIF25Eg==","repository":{"url":"git+https://github.com/BernierLLC/tools.git","type":"git","directory":"packages/service/email-service"},"_npmVersion":"12.1.0","description":"Comprehensive email service orchestrating template management, multi-provider delivery, tracking, and subscriber management","directories":{},"_nodeVersion":"24.21.0","dependencies":{"@bernierllc/logger":"1.7.1","@bernierllc/retry-state":"0.5.0","@bernierllc/crypto-utils":"1.4.0","@bernierllc/email-parser":"0.7.0","@bernierllc/email-sender":"5.9.0","@bernierllc/retry-policy":"0.7.0","@bernierllc/queue-manager":"1.5.0","@bernierllc/retry-metrics":"0.5.0","@bernierllc/config-manager":"1.4.0","@bernierllc/email-validator":"3.4.0","@bernierllc/template-engine":"0.7.0","@bernierllc/database-adapter":"1.5.1","@bernierllc/webhook-validator":"1.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","ts-jest":"^29.1.0","typescript":"^5.3.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@types/nodemailer":"^6.4.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"nodemailer":"^6.9.0","@sendgrid/mail":"^8.0.0"},"peerDependenciesMeta":{"nodemailer":{"optional":true},"@sendgrid/mail":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/email-service_6.0.3_1790709153831_0.3128209550090293","host":"s3://npm-registry-packages-npm-production"}},"6.0.4":{"_id":"@bernierllc/email-service@6.0.4","bugs":{"url":"https://github.com/BernierLLC/tools/issues"},"dist":{"shasum":"36e4f443d4d519d753eedfed5bc487add6adc717","tarball":"https://registry.npmjs.org/@bernierllc/email-service/-/email-service-6.0.4.tgz","fileCount":10,"integrity":"sha512-1rUyw4+8V+GApuZRGJGnr2S4putRpbqsdvev73dxbWehzdi4ewLmdmXp9DSc3+NypBVE3VOeKk2XSlVOZiuGBA==","signatures":[{"sig":"MEYCIQDLrzfoE4NScvO2f+Uq104MO6Pj7FtHsfXGQdzZqv4iVwIhAIRMOSUYIqNIiDgsnlaV0J/don4wbUlefXCSiwJoX5/k","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIApCp1IR0AV4HwBR/W3fP9UY43arjjS8us6H4aPqln8/AiEA6S7FIe+1YdCL9XUDIjzGAPqisCCiY7FAEwUr4f1+kO0="}],"unpackedSize":70036},"main":"dist/index.js","name":"@bernierllc/email-service","type":"module","_from":"file:bernierllc-email-service-6.0.4.tgz","types":"dist/index.d.ts","author":{"name":"Bernier LLC"},"engines":{"node":">=18.0.0"},"license":"PROPRIETARY","scripts":{"lint":"eslint src --ext .ts","test":"jest","build":"tsc","clean":"rm -rf dist","prebuild":"npm run clean","test:run":"jest --watchAll=false --forceExit","test:watch":"jest --watch","test:coverage":"jest --coverage"},"version":"6.0.4","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"5922687f-1531-4cb3-92f0-8326caf1fd8b"}},"homepage":"https://github.com/BernierLLC/tools#readme","keywords":["email","service","sendgrid","mailgun","ses","smtp","templates","tracking","analytics","subscribers","bernierllc"],"_resolved":"/home/runner/work/tools/tools/packages/service/email-service/bernierllc-email-service-6.0.4.tgz","_integrity":"sha512-1rUyw4+8V+GApuZRGJGnr2S4putRpbqsdvev73dxbWehzdi4ewLmdmXp9DSc3+NypBVE3VOeKk2XSlVOZiuGBA==","repository":{"url":"git+https://github.com/BernierLLC/tools.git","type":"git","directory":"packages/service/email-service"},"_npmVersion":"12.2.0","description":"Comprehensive email service orchestrating template management, multi-provider delivery, tracking, and subscriber management","directories":{},"maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"_nodeVersion":"24.21.0","dependencies":{"@bernierllc/logger":"^1.7.1","@bernierllc/retry-state":"^0.5.0","@bernierllc/crypto-utils":"^1.4.0","@bernierllc/email-parser":"^0.7.0","@bernierllc/email-sender":"^5.9.0","@bernierllc/retry-policy":"^0.7.0","@bernierllc/queue-manager":"^1.5.0","@bernierllc/retry-metrics":"^0.5.0","@bernierllc/config-manager":"^1.4.0","@bernierllc/email-validator":"^3.4.0","@bernierllc/template-engine":"^0.7.0","@bernierllc/database-adapter":"^1.5.1","@bernierllc/webhook-validator":"^1.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.0.0","ts-jest":"^29.1.0","typescript":"^5.3.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@types/nodemailer":"^6.4.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"nodemailer":"^6.9.0","@sendgrid/mail":"^8.0.0"},"peerDependenciesMeta":{"nodemailer":{"optional":true},"@sendgrid/mail":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/email-service_6.0.4_1790884277582_0.06554023803716169"}}},"time":{"created":"2025-10-08T02:23:29.112Z","modified":"2026-10-01T19:51:17.899Z","2.0.1":"2025-10-08T02:23:29.389Z","2.1.1":"2025-11-02T18:45:18.231Z","2.1.2":"2025-12-21T00:25:38.892Z","2.1.4":"2025-12-21T02:18:39.367Z","2.1.5":"2025-12-22T21:10:45.785Z","2.1.6":"2025-12-23T01:47:44.842Z","4.0.0":"2026-01-05T19:47:51.364Z","4.0.1":"2026-03-03T20:24:38.437Z","4.0.2":"2026-03-09T19:02:55.526Z","4.0.3":"2026-03-18T21:37:00.823Z","4.0.4":"2026-03-21T22:12:51.671Z","4.0.5":"2026-05-18T19:49:39.334Z","4.0.6":"2026-05-19T02:24:22.810Z","4.0.7":"2026-05-19T20:13:34.730Z","4.0.8":"2026-05-19T23:41:09.500Z","4.1.0":"2026-05-20T01:47:53.348Z","4.1.1":"2026-05-20T02:17:50.628Z","4.2.0":"2026-05-20T04:13:39.905Z","4.2.1":"2026-05-20T04:40:20.797Z","6.0.0":"2026-05-20T21:32:05.893Z","6.0.1":"2026-07-14T07:57:57.973Z","6.0.2":"2026-08-30T17:53:38.491Z","6.0.3":"2026-09-29T19:12:33.926Z","6.0.4":"2026-10-01T19:51:17.671Z"},"bugs":{"url":"https://github.com/BernierLLC/tools/issues"},"author":{"name":"Bernier LLC"},"license":"PROPRIETARY","homepage":"https://github.com/BernierLLC/tools#readme","keywords":["email","service","sendgrid","mailgun","ses","smtp","templates","tracking","analytics","subscribers","bernierllc"],"repository":{"url":"git+https://github.com/BernierLLC/tools.git","type":"git","directory":"packages/service/email-service"},"description":"Comprehensive email service orchestrating template management, multi-provider delivery, tracking, and subscriber management","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"readme":"# @bernierllc/email-service\n\nComprehensive email service orchestrating template management, multi-provider delivery, tracking, and subscriber management.\n\n## Features\n\n- **Multi-Provider Support** - SendGrid, Mailgun, AWS SES, and SMTP\n- **Template Management** - Create, update, and render email templates with variable substitution\n- **Magic Link Authentication** - Secure, time-limited authentication links for passwordless login\n- **Automatic Retry Logic** - Exponential backoff with jitter for transient failures\n- **Email Validation** - Validate recipient addresses before sending (syntax, domain, MX records)\n- **Delivery Tracking** - Track email delivery, opens, clicks, and bounces\n- **Subscriber Management** - Manage subscribers, lists, and preferences\n- **Queue Integration** - Schedule and send emails in background\n- **Webhook Handling** - Process provider webhooks for delivery events\n- **Database Persistence** - Store templates, delivery records, and subscribers\n- **Analytics** - Comprehensive delivery statistics and reporting\n\n## Installation\n\n```bash\nnpm install @bernierllc/email-service\n```\n\n### Peer Dependencies\n\nInstall email provider(s) you need:\n\n```bash\n# SendGrid\nnpm install @sendgrid/mail\n\n# SMTP (included)\nnpm install nodemailer\n```\n\n## Usage\n\n### Quick Start\n\n```typescript\nimport { EmailService } from '@bernierllc/email-service';\n\nconst service = new EmailService({\n  providers: [\n    {\n      type: 'smtp',\n      smtp: {\n        host: 'smtp.gmail.com',\n        port: 587,\n        secure: false,\n        auth: { user: 'you@gmail.com', pass: 'password' }\n      }\n    }\n  ],\n  defaultProvider: 'smtp',\n  database: {\n    type: 'sqlite',\n    database: './data/email.db'\n  },\n  templates: {\n    cacheEnabled: true,\n    cacheTTL: 3600\n  },\n  tracking: {\n    enabled: true,\n    domain: 'yourdomain.com'\n  }\n});\n\nawait service.initialize();\n\n// Send an email\nconst result = await service.send({\n  from: 'noreply@yourdomain.com',\n  to: ['user@example.com'],\n  subject: 'Welcome!',\n  html: '<h1>Hello!</h1><p>Welcome to our service.</p>'\n});\n\nconsole.log(`Email sent: ${result.messageId}`);\n```\n\n## Core Concepts\n\n### 1. Multi-Provider Email Sending\n\n```typescript\n// Configure multiple providers\nconst service = new EmailService({\n  providers: [\n    {\n      type: 'sendgrid',\n      apiKey: process.env.SENDGRID_API_KEY\n    },\n    {\n      type: 'mailgun',\n      apiKey: process.env.MAILGUN_API_KEY,\n      domain: 'mg.yourdomain.com'\n    },\n    {\n      type: 'ses',\n      region: 'us-east-1',\n      apiKey: process.env.AWS_ACCESS_KEY,\n      secretKey: process.env.AWS_SECRET_KEY\n    },\n    {\n      type: 'smtp',\n      smtp: {\n        host: 'smtp.gmail.com',\n        port: 587,\n        secure: false,\n        auth: {\n          user: process.env.SMTP_USER,\n          pass: process.env.SMTP_PASS\n        }\n      }\n    }\n  ],\n  defaultProvider: 'sendgrid',\n  database: { type: 'sqlite', database: './email.db' }\n});\n\n// Send via specific provider\nawait service.send({\n  from: 'noreply@yourdomain.com',\n  to: ['user@example.com'],\n  subject: 'Test',\n  html: '<p>Test</p>',\n  provider: 'mailgun' // Override default\n});\n```\n\n### 2. Template Management\n\n```typescript\n// Create template\nconst template = await service.createTemplate({\n  name: 'welcome-email',\n  subject: 'Welcome {{name}}!',\n  html: `\n    <h1>Hello {{name}}</h1>\n    <p>Welcome to {{company}}!</p>\n    <p>Your account email is: {{email}}</p>\n  `,\n  text: 'Hello {{name}}, welcome to {{company}}!'\n});\n\n// Send using template\nawait service.send({\n  from: 'noreply@yourdomain.com',\n  to: ['user@example.com'],\n  templateId: template.id,\n  templateData: {\n    name: 'John Doe',\n    company: 'Acme Corp',\n    email: 'john@example.com'\n  }\n});\n\n// Update template\nawait service.updateTemplate(template.id, {\n  subject: 'Welcome to {{company}}, {{name}}!',\n  html: '<h1>Welcome {{name}}!</h1>'\n});\n\n// Get template\nconst retrieved = await service.getTemplate(template.id);\nconsole.log(retrieved.variables); // ['name', 'company', 'email']\n\n// Delete template\nawait service.deleteTemplate(template.id);\n```\n\n### 3. Magic Link Authentication\n\nSend secure, time-limited authentication links for passwordless login, email verification, password resets, and more.\n\n```typescript\n// Configure magic link support\nconst service = new EmailService({\n  providers: [/* ... */],\n  database: {/* ... */},\n  magicLink: {\n    secret: process.env.MAGIC_LINK_SECRET, // Required: Secret key for signing tokens\n    expirationMinutes: 30,                  // Optional: Default 60 minutes\n    issuer: 'YourApp'                       // Optional: Token issuer name\n  }\n});\n\nawait service.initialize();\n\n// Send magic link for passwordless login\nconst result = await service.sendMagicLink({\n  recipient: 'user@example.com',\n  purpose: 'sign in',\n  redirectUrl: 'https://app.example.com/auth/verify',\n  subject: 'Your Login Link',              // Optional: Custom subject\n  expirationMinutes: 15                    // Optional: Override default expiration\n});\n\nconsole.log(result.magicLink);  // https://app.example.com/auth/verify?token=eyJ...\nconsole.log(result.token);      // eyJ... (signed JWT token)\nconsole.log(result.expiresAt);  // 2025-01-15T12:45:00.000Z\n\n// Send with custom data in token\nconst resetResult = await service.sendMagicLink({\n  recipient: 'user@example.com',\n  purpose: 'reset your password',\n  redirectUrl: 'https://app.example.com/reset-password',\n  customData: {\n    userId: '12345',\n    action: 'password-reset'\n  }\n});\n\n// Use custom template for magic link email\nconst welcomeResult = await service.sendMagicLink({\n  recipient: 'newuser@example.com',\n  purpose: 'verify your email',\n  redirectUrl: 'https://app.example.com/verify',\n  template: 'welcome-verification',  // Use existing template\n  templateData: {\n    userName: 'John Doe',\n    companyName: 'Acme Corp'\n  }\n});\n```\n\n**Magic Link Features**:\n- ✅ Secure signed tokens using `@bernierllc/crypto-utils`\n- ✅ Configurable expiration times\n- ✅ Custom data embedded in token\n- ✅ Default professional email template (or use your own)\n- ✅ Automatic URL parameter handling (existing query params preserved)\n- ✅ Support for all email providers\n\n**Verifying Magic Link Tokens**:\n\n```typescript\nimport { verifySignedToken } from '@bernierllc/crypto-utils';\n\n// In your auth/verify endpoint\napp.get('/auth/verify', async (req, res) => {\n  const token = req.query.token as string;\n\n  try {\n    const payload = await verifySignedToken(\n      token,\n      process.env.MAGIC_LINK_SECRET!\n    );\n\n    // Token is valid - log user in\n    console.log(payload.email);      // user@example.com\n    console.log(payload.purpose);    // 'sign in'\n    console.log(payload.customData); // Any custom data you included\n\n    // Create session and redirect\n    req.session.userId = payload.email;\n    res.redirect('/dashboard');\n  } catch (error) {\n    // Token expired, invalid, or tampered with\n    res.status(401).send('Invalid or expired link');\n  }\n});\n```\n\n### 4. Retry Logic & Email Validation\n\nAutomatic retry with exponential backoff and email address validation.\n\n```typescript\nconst service = new EmailService({\n  providers: [/* ... */],\n  database: {/* ... */},\n\n  // Retry configuration (optional)\n  retry: {\n    maxRetries: 3,                  // Number of retry attempts\n    initialDelayMs: 1000,           // Initial delay between retries\n    maxDelayMs: 30000,              // Maximum delay\n    jitter: true,                   // Add randomness to delays\n    enableMetrics: true             // Track retry metrics\n  },\n\n  // Email validation (optional)\n  validation: {\n    validateRecipients: true,       // Validate email addresses before sending\n    strict: true                    // Use strict validation rules\n  }\n});\n\n// Emails will automatically retry on transient failures\nconst result = await service.send({\n  to: 'user@example.com',\n  subject: 'Test',\n  html: '<p>This will retry up to 3 times if it fails</p>'\n});\n\nconsole.log(result.retryCount); // Number of retries that occurred\n```\n\n**Retry Features**:\n- ✅ Exponential backoff with jitter to avoid thundering herd\n- ✅ Configurable max retries and delays\n- ✅ Automatic retry on transient failures\n- ✅ Retry metrics tracking (attempts, successes, failures)\n- ✅ Integrates with `@bernierllc/retry-policy`, `retry-state`, and `retry-metrics`\n\n**Validation Features**:\n- ✅ Syntax validation (RFC 5322 compliance)\n- ✅ Domain validation (MX record checks when strict mode enabled)\n- ✅ Disposable email detection\n- ✅ Multiple recipient validation\n- ✅ Integrates with `@bernierllc/email-validator`\n\n### 5. Delivery Tracking\n\n```typescript\n// Send email\nconst result = await service.send({\n  from: 'noreply@yourdomain.com',\n  to: ['user@example.com'],\n  subject: 'Order Confirmation',\n  html: '<h1>Thanks for your order!</h1>'\n});\n\n// Get delivery record\nconst delivery = await service.getDelivery(result.deliveryId);\nconsole.log(delivery.status); // 'sent', 'delivered', 'opened', 'clicked', etc.\n\n// Track opens\nawait service.trackOpen(result.deliveryId);\n\n// Track clicks\nawait service.trackClick(result.deliveryId);\n\n// Get statistics\nconst stats = await service.getDeliveryStats();\nconsole.log(`Open rate: ${stats.openRate}%`);\nconsole.log(`Click rate: ${stats.clickRate}%`);\nconsole.log(`Bounce rate: ${stats.bounceRate}%`);\n\n// Get statistics for date range\nconst monthStats = await service.getDeliveryStats(\n  new Date('2025-01-01'),\n  new Date('2025-01-31')\n);\n```\n\n### 4. Subscriber Management\n\n```typescript\n// Create subscriber\nconst subscriber = await service.createSubscriber({\n  email: 'user@example.com',\n  name: 'John Doe',\n  lists: ['newsletter', 'updates'],\n  tags: ['premium', 'early-adopter'],\n  metadata: {\n    source: 'website',\n    signupDate: new Date()\n  }\n});\n\n// Get subscriber\nconst found = await service.getSubscriber(subscriber.id);\n\n// Update subscriber\nawait service.updateSubscriber(subscriber.id, {\n  name: 'John Smith',\n  tags: ['premium', 'verified']\n});\n\n// Unsubscribe\nawait service.unsubscribe('user@example.com');\n\n// Create subscriber list\nconst list = await service.createList(\n  'Monthly Newsletter',\n  'Our monthly product updates and news'\n);\n```\n\n### 5. Scheduled Emails\n\n```typescript\n// Configure queue\nconst service = new EmailService({\n  providers: [/* ... */],\n  database: { type: 'sqlite', database: './email.db' },\n  queue: {\n    backend: new MemoryBackend(),\n    concurrency: 5,\n    retryPolicy: {\n      maxAttempts: 3,\n      backoff: { type: 'exponential', delay: 1000 }\n    }\n  }\n});\n\n// Schedule for later\nawait service.send({\n  from: 'noreply@yourdomain.com',\n  to: ['user@example.com'],\n  subject: 'Reminder',\n  html: '<p>This is your reminder</p>',\n  scheduledAt: new Date(Date.now() + 24 * 60 * 60 * 1000) // 24 hours\n});\n\n// Send with priority\nawait service.send({\n  from: 'alerts@yourdomain.com',\n  to: ['admin@yourdomain.com'],\n  subject: 'URGENT: System Alert',\n  html: '<p>Critical alert</p>',\n  priority: 'high' // high, normal, low\n});\n```\n\n### 6. Bulk Sending\n\n```typescript\nconst results = await service.sendBulk([\n  {\n    from: 'noreply@yourdomain.com',\n    to: ['user1@example.com'],\n    subject: 'Personalized for User 1',\n    html: '<p>Hello User 1</p>'\n  },\n  {\n    from: 'noreply@yourdomain.com',\n    to: ['user2@example.com'],\n    subject: 'Personalized for User 2',\n    html: '<p>Hello User 2</p>'\n  }\n]);\n\nresults.forEach((result, index) => {\n  console.log(`Email ${index + 1}: ${result.success ? 'sent' : 'failed'}`);\n});\n```\n\n### 7. Webhook Handling\n\n```typescript\n// Register webhook handler\nservice.registerWebhookHandler('delivered', async (event) => {\n  console.log(`Email ${event.messageId} was delivered`);\n  // Update your database, trigger workflows, etc.\n});\n\nservice.registerWebhookHandler('opened', async (event) => {\n  console.log(`Email ${event.messageId} was opened`);\n  // Track user engagement\n});\n\nservice.registerWebhookHandler('clicked', async (event) => {\n  console.log(`Link clicked in ${event.messageId}`);\n  // Track click-through rates\n});\n\nservice.registerWebhookHandler('bounced', async (event) => {\n  console.log(`Email ${event.messageId} bounced`);\n  // Update subscriber status\n  await service.unsubscribe(event.data.email);\n});\n\n// Process webhook from provider\nawait service.handleWebhook({\n  provider: 'sendgrid',\n  event: 'delivered',\n  messageId: 'msg_123',\n  timestamp: new Date(),\n  data: { /* provider-specific data */ }\n});\n```\n\n## API Reference\n\n### EmailService\n\n#### Constructor\n\n```typescript\nnew EmailService(config: EmailServiceConfig)\n```\n\n**Configuration:**\n\n```typescript\ninterface EmailServiceConfig {\n  providers: ProviderConfig[];\n  defaultProvider?: EmailProvider;\n  database: DatabaseConfig;\n  queue?: QueueOptions;\n  templates?: {\n    cacheEnabled?: boolean;\n    cacheTTL?: number;\n  };\n  tracking?: {\n    enabled?: boolean;\n    domain?: string;\n  };\n  compliance?: {\n    unsubscribeLink?: boolean;\n    footerRequired?: boolean;\n  };\n}\n\ninterface ProviderConfig {\n  type: 'sendgrid' | 'mailgun' | 'ses' | 'smtp';\n  apiKey?: string;\n  domain?: string;\n  region?: string;\n  smtp?: SMTPConfig;\n  rateLimit?: RateLimitConfig;\n}\n```\n\n#### Methods\n\n##### Email Sending\n\n- `send(request: EmailRequest): Promise<SendEmailResult>` - Send email\n- `sendBulk(requests: EmailRequest[]): Promise<SendEmailResult[]>` - Send multiple emails\n\n##### Template Management\n\n- `createTemplate(request: TemplateCreateRequest): Promise<EmailTemplate>` - Create template\n- `getTemplate(id: string): Promise<EmailTemplate | null>` - Get template\n- `updateTemplate(id: string, update: TemplateUpdateRequest): Promise<EmailTemplate>` - Update template\n- `deleteTemplate(id: string): Promise<boolean>` - Delete template\n\n##### Delivery Tracking\n\n- `getDelivery(id: string): Promise<DeliveryRecord | null>` - Get delivery record\n- `trackOpen(deliveryId: string): Promise<void>` - Track email open\n- `trackClick(deliveryId: string): Promise<void>` - Track link click\n- `getDeliveryStats(startDate?: Date, endDate?: Date): Promise<DeliveryStats>` - Get statistics\n\n##### Subscriber Management\n\n- `createSubscriber(request: SubscriberCreateRequest): Promise<Subscriber>` - Create subscriber\n- `getSubscriber(id: string): Promise<Subscriber | null>` - Get subscriber\n- `updateSubscriber(id: string, update: SubscriberUpdateRequest): Promise<Subscriber>` - Update subscriber\n- `unsubscribe(email: string): Promise<boolean>` - Unsubscribe email\n- `createList(name: string, description?: string): Promise<SubscriberList>` - Create list\n\n##### Webhook Handling\n\n- `registerWebhookHandler(event: string, handler: WebhookHandler): void` - Register handler\n- `handleWebhook(event: WebhookEvent): Promise<void>` - Process webhook\n\n##### Lifecycle\n\n- `initialize(): Promise<void>` - Initialize service\n- `shutdown(): Promise<void>` - Cleanup and shutdown\n\n## Type Definitions\n\n```typescript\ninterface EmailRequest {\n  from: EmailAddress | string;\n  to: EmailAddress[] | string[];\n  cc?: EmailAddress[] | string[];\n  bcc?: EmailAddress[] | string[];\n  subject: string;\n  html?: string;\n  text?: string;\n  templateId?: string;\n  templateData?: TemplateContext;\n  attachments?: EmailAttachment[];\n  headers?: Record<string, string>;\n  tags?: string[];\n  metadata?: Record<string, any>;\n  priority?: 'high' | 'normal' | 'low';\n  scheduledAt?: Date;\n  provider?: EmailProvider;\n}\n\ninterface SendEmailResult {\n  success: boolean;\n  messageId?: string;\n  deliveryId?: string;\n  provider?: EmailProvider;\n  error?: string;\n  timestamp: Date;\n  queuedForLater?: boolean;\n}\n\ninterface DeliveryStats {\n  total: number;\n  sent: number;\n  delivered: number;\n  opened: number;\n  clicked: number;\n  bounced: number;\n  failed: number;\n  openRate: number;\n  clickRate: number;\n  bounceRate: number;\n}\n\nenum DeliveryStatus {\n  QUEUED = 'queued',\n  SENDING = 'sending',\n  SENT = 'sent',\n  DELIVERED = 'delivered',\n  OPENED = 'opened',\n  CLICKED = 'clicked',\n  BOUNCED = 'bounced',\n  FAILED = 'failed',\n  UNSUBSCRIBED = 'unsubscribed'\n}\n```\n\n## Best Practices\n\n### Error Handling\n\n```typescript\ntry {\n  await service.send(emailRequest);\n} catch (error) {\n  if (error instanceof ProviderError) {\n    // Switch to backup provider\n    console.error('Provider failed:', error.provider);\n  } else if (error instanceof TemplateError) {\n    // Template rendering failed\n    console.error('Template error:', error.message);\n  } else if (error instanceof DeliveryError) {\n    // Delivery failed\n    console.error('Delivery error:', error.message);\n  }\n}\n```\n\n### Template Variables\n\n```typescript\n// Always validate template data matches template variables\nconst template = await service.getTemplate(templateId);\nconst missingVars = template.variables.filter(\n  v => !(v in templateData)\n);\nif (missingVars.length > 0) {\n  throw new Error(`Missing template variables: ${missingVars.join(', ')}`);\n}\n```\n\n### Rate Limiting\n\n```typescript\n// Configure per-provider rate limits\nconst service = new EmailService({\n  providers: [\n    {\n      type: 'sendgrid',\n      apiKey: process.env.SENDGRID_API_KEY,\n      rateLimit: {\n        maxPerSecond: 100,\n        maxPerMinute: 5000,\n        maxPerHour: 100000\n      }\n    }\n  ],\n  // ...\n});\n```\n\n### Monitoring\n\n```typescript\n// Regular health monitoring\nsetInterval(async () => {\n  const stats = await service.getDeliveryStats();\n\n  if (stats.bounceRate > 5) {\n    console.warn('High bounce rate detected:', stats.bounceRate);\n  }\n\n  if (stats.failed > 100) {\n    console.error('High failure count:', stats.failed);\n  }\n}, 60000); // Every minute\n```\n\n## Dependencies\n\nThis package orchestrates:\n\n- [@bernierllc/email-sender](../../core/email-sender) - Multi-provider email delivery\n- [@bernierllc/email-parser](../../core/email-parser) - Email content parsing\n- [@bernierllc/template-engine](../../core/template-engine) - Template rendering\n- [@bernierllc/queue-manager](../../core/queue-manager) - Background job processing\n- [@bernierllc/webhook-validator](../../core/webhook-validator) - Webhook verification\n- [@bernierllc/database-adapter](../../core/database-adapter) - Data persistence\n- [@bernierllc/logger](../../core/logger) - Structured logging\n- [@bernierllc/config-manager](../../core/config-manager) - Configuration management\n\n## Integration Status\n\n- **Logger**: Integrated - Uses @bernierllc/logger for structured logging\n- **Docs-Suite**: Ready - Markdown documentation available\n- **NeverHub integration**: Planned - Service discovery and event bus integration with @bernierllc/neverhub-adapter\n\n## Examples\n\nSee the [examples directory](./examples) for complete working examples:\n\n- `basic-smtp.ts` - Basic SMTP email sending\n- `templates.ts` - Template management and rendering\n- `tracking.ts` - Delivery tracking and analytics\n- `subscribers.ts` - Subscriber management\n- `webhooks.ts` - Webhook handling\n- `multi-provider.ts` - Multi-provider configuration\n\n## License\n\nCopyright (c) 2025 Bernier LLC. All rights reserved.\n\nThis package is proprietary software licensed for use only within the scope of the project it was delivered for.\n","readmeFilename":"README.md"}