{"_id":"@bernierllc/email-calendar","_rev":"7-c09ea728dcb5954d0b4edf5d55e75dd7","name":"@bernierllc/email-calendar","dist-tags":{"latest":"0.6.0"},"versions":{"0.0.1":{"name":"@bernierllc/email-calendar","version":"0.0.1","keywords":["oidc","trusted-publishing","setup"],"_id":"@bernierllc/email-calendar@0.0.1","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"6039796245b0928558194bfe37a70c5b874b274d","tarball":"https://registry.npmjs.org/@bernierllc/email-calendar/-/email-calendar-0.0.1.tgz","fileCount":2,"integrity":"sha512-F72LoSVMS21bUKQp07w5ATkGp0AjMdpJ7FquuYoAVmjztNJ+yjgx6dmdlfmcRJv0o/FP7nTcCMagCW9uffZ9Ng==","signatures":[{"sig":"MEYCIQClQX1q+5eA6M3yLL2bCfKpfU5RmGbALsah3icR5KgFkAIhANd5MUgDb1Uvpbt8BSSjIkw8sXdWZyONg7YF12Ogkm8A","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2067},"_npmUser":{"name":"mkbernier","email":"mkbernier@gmail.com"},"_npmVersion":"11.6.2","description":"OIDC trusted publishing setup package for @bernierllc/email-calendar","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/email-calendar_0.0.1_1771732653850_0.5729709624001407","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@bernierllc/email-calendar","version":"0.1.0","keywords":["email","calendar","icalendar","ics","rfc5545","invite","vevent","vcalendar","typescript"],"author":{"name":"Bernier LLC"},"license":"PROPRIETARY","_id":"@bernierllc/email-calendar@0.1.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernier-llc/tools#readme","bugs":{"url":"https://github.com/bernier-llc/tools/issues"},"dist":{"shasum":"ed8525899875973a0bbb3148bf300b807d129363","tarball":"https://registry.npmjs.org/@bernierllc/email-calendar/-/email-calendar-0.1.0.tgz","fileCount":27,"integrity":"sha512-eTdMDorqQ32DE6NhaMIV+yzmbJQIRLTT7s1L3UqBBp0CKW6PXMjmgoQzeFWBDmPsFionDZGWAoasjiAyx8Chhw==","signatures":[{"sig":"MEUCIQDMmrfejCNL4thYuV3WrwWWIAB18B7poLUAe7iqMvxe9gIgY9zABSD6kgHYJXTgG2kK7wxFyMETJER5S1MT+9EiTpk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50037},"main":"dist/index.js","_from":"file:bernierllc-email-calendar-0.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","lint:fix":"eslint src --ext .ts --fix","prebuild":"npm run clean","test:run":"jest --watchAll=false --forceExit","test:coverage":"jest --coverage"},"_npmUser":{"name":"mkbernier","email":"mkbernier@gmail.com"},"_resolved":"/Users/mattbernier/projects/tools/packages/core/email-calendar/bernierllc-email-calendar-0.1.0.tgz","_integrity":"sha512-eTdMDorqQ32DE6NhaMIV+yzmbJQIRLTT7s1L3UqBBp0CKW6PXMjmgoQzeFWBDmPsFionDZGWAoasjiAyx8Chhw==","repository":{"url":"git+https://github.com/bernier-llc/tools.git","type":"git"},"_npmVersion":"11.6.2","description":"iCalendar (RFC 5545) generation and parsing for email calendar invites and responses","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@bernierllc/email-attachments":"0.1.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","ts-jest":"^29.1.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/email-calendar_0.1.0_1772560116084_0.5646602767665221","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@bernierllc/email-calendar","version":"0.2.0","keywords":["email","calendar","icalendar","ics","rfc5545","invite","vevent","vcalendar","typescript"],"author":{"name":"Bernier LLC"},"license":"PROPRIETARY","_id":"@bernierllc/email-calendar@0.2.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernier-llc/tools#readme","bugs":{"url":"https://github.com/bernier-llc/tools/issues"},"dist":{"shasum":"b1a9479f2a43093171634ec994cfc7258d7a5e53","tarball":"https://registry.npmjs.org/@bernierllc/email-calendar/-/email-calendar-0.2.0.tgz","fileCount":27,"integrity":"sha512-iHfTgg5tGejMbiXtqId76k34j/eIEqUG9wLNmOkzpFK03abPU7NoOl+/tTAUErnczKe6IhJTu2ZMVT7p5fSV7A==","signatures":[{"sig":"MEUCIQCw2qRITh0YcOVqFznoR0Qq0DwLK9OmkPeUPDMwpWNJtQIgMOEeC3Zo1rGgZHjyxGl2mY6V9Yg4GJl/BUSG9TUWpnc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50037},"main":"dist/index.js","_from":"file:bernierllc-email-calendar-0.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","lint:fix":"eslint src --ext .ts --fix","prebuild":"npm run clean","test:run":"jest --watchAll=false --forceExit","test:coverage":"jest --coverage"},"_npmUser":{"name":"mkbernier","email":"mkbernier@gmail.com"},"_resolved":"/Users/mattbernier/projects/tools/packages/core/email-calendar/bernierllc-email-calendar-0.2.0.tgz","_integrity":"sha512-iHfTgg5tGejMbiXtqId76k34j/eIEqUG9wLNmOkzpFK03abPU7NoOl+/tTAUErnczKe6IhJTu2ZMVT7p5fSV7A==","repository":{"url":"git+https://github.com/bernier-llc/tools.git","type":"git"},"_npmVersion":"11.6.2","description":"iCalendar (RFC 5545) generation and parsing for email calendar invites and responses","directories":{},"_nodeVersion":"25.2.1","dependencies":{"@bernierllc/email-attachments":"0.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","ts-jest":"^29.1.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/email-calendar_0.2.0_1772569190881_0.19715191637611285","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@bernierllc/email-calendar","version":"0.2.1","keywords":["email","calendar","icalendar","ics","rfc5545","invite","vevent","vcalendar","typescript"],"author":{"name":"Bernier LLC"},"license":"PROPRIETARY","_id":"@bernierllc/email-calendar@0.2.1","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernier-llc/tools#readme","bugs":{"url":"https://github.com/bernier-llc/tools/issues"},"dist":{"shasum":"f08913f8eae85f000c6f7db6928e7fa4385b656e","tarball":"https://registry.npmjs.org/@bernierllc/email-calendar/-/email-calendar-0.2.1.tgz","fileCount":27,"integrity":"sha512-F7eBTMp9DQ4ELpj5ls0LIGvkYwJJ/EsKov7iXS33e+5vukNUosR6PyK92klZn9ICMHXPLbxSVEKNwTLaORRFtg==","signatures":[{"sig":"MEUCIQDaGv+MMd/HQmtKlh314064s9S4ijsHlqNPHgnWLk/53gIgDyZhVJL1oVnSpINujG8w3h+wInwvifCRExeMlyKfreI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50037},"main":"dist/index.js","_from":"file:bernierllc-email-calendar-0.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","lint:fix":"eslint src --ext .ts --fix","prebuild":"npm run clean","test:run":"jest --watchAll=false --forceExit","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b3808c8a-4baf-4c9e-bee6-96f844acae6b"}},"_resolved":"/home/runner/work/tools/tools/packages/core/email-calendar/bernierllc-email-calendar-0.2.1.tgz","_integrity":"sha512-F7eBTMp9DQ4ELpj5ls0LIGvkYwJJ/EsKov7iXS33e+5vukNUosR6PyK92klZn9ICMHXPLbxSVEKNwTLaORRFtg==","repository":{"url":"git+https://github.com/bernier-llc/tools.git","type":"git"},"_npmVersion":"11.11.0","description":"iCalendar (RFC 5545) generation and parsing for email calendar invites and responses","directories":{},"_nodeVersion":"20.20.0","dependencies":{"@bernierllc/email-attachments":"0.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","ts-jest":"^29.1.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/email-calendar_0.2.1_1773086289016_0.45988173396972765","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@bernierllc/email-calendar","version":"0.3.0","keywords":["email","calendar","icalendar","ics","rfc5545","invite","vevent","vcalendar","typescript"],"author":{"name":"Bernier LLC"},"license":"PROPRIETARY","_id":"@bernierllc/email-calendar@0.3.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernier-llc/tools#readme","bugs":{"url":"https://github.com/bernier-llc/tools/issues"},"dist":{"shasum":"9a696fa324fcb5cb8a277e632b6ddad842d25ff3","tarball":"https://registry.npmjs.org/@bernierllc/email-calendar/-/email-calendar-0.3.0.tgz","fileCount":27,"integrity":"sha512-VwLp4Vqh6qbdigKn2zZUyaugZrWhX5TOEg/5kZu7MaUOFoGEjP07LbVf6onT2VDrLFdCkHiPMBg8kGICA0fhkw==","signatures":[{"sig":"MEYCIQCZrG595MLC+AGmJkUABefwI2KmXpnRS3+uXYqwdLYuiQIhAPhusb+Vl9dKVUH2A5D/TZ+KctxrIdIA8NmTC7RvK8Yd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50037},"main":"dist/index.js","_from":"file:bernierllc-email-calendar-0.3.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","lint:fix":"eslint src --ext .ts --fix","prebuild":"npm run clean","test:run":"jest --watchAll=false --forceExit","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b3808c8a-4baf-4c9e-bee6-96f844acae6b"}},"_resolved":"/home/runner/work/tools/tools/packages/core/email-calendar/bernierllc-email-calendar-0.3.0.tgz","_integrity":"sha512-VwLp4Vqh6qbdigKn2zZUyaugZrWhX5TOEg/5kZu7MaUOFoGEjP07LbVf6onT2VDrLFdCkHiPMBg8kGICA0fhkw==","repository":{"url":"git+https://github.com/bernier-llc/tools.git","type":"git"},"_npmVersion":"11.14.1","description":"iCalendar (RFC 5545) generation and parsing for email calendar invites and responses","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@bernierllc/email-attachments":"0.3.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","ts-jest":"^29.1.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/email-calendar_0.3.0_1779241122722_0.9922365731106628","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@bernierllc/email-calendar","version":"0.4.0","keywords":["email","calendar","icalendar","ics","rfc5545","invite","vevent","vcalendar","typescript"],"author":{"name":"Bernier LLC"},"license":"PROPRIETARY","_id":"@bernierllc/email-calendar@0.4.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernier-llc/tools#readme","bugs":{"url":"https://github.com/bernier-llc/tools/issues"},"dist":{"shasum":"4063959f6d753f62b2cfdceb05226b3ed155480c","tarball":"https://registry.npmjs.org/@bernierllc/email-calendar/-/email-calendar-0.4.0.tgz","fileCount":27,"integrity":"sha512-UHl9BtZD6LoUUwKrogbXWMJzRprzKmOuDB7eVmj3K+iJZL6Z4/Ip3owHJvy5e7R8oaYBG4Y5SR2aSjBIRd9aOA==","signatures":[{"sig":"MEUCIHvtBfqw1wQzzQRAmxizeheo6j+AJVTo8rofbj4FL0wzAiEArpSybFKDV/xRqgKpcyNQ7UyZKpTBM4DVxhP91vuIIRo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50037},"main":"dist/index.js","_from":"file:bernierllc-email-calendar-0.4.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","lint:fix":"eslint src --ext .ts --fix","prebuild":"npm run clean","test:run":"jest --watchAll=false --forceExit","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b3808c8a-4baf-4c9e-bee6-96f844acae6b"}},"_resolved":"/home/runner/work/tools/tools/packages/core/email-calendar/bernierllc-email-calendar-0.4.0.tgz","_integrity":"sha512-UHl9BtZD6LoUUwKrogbXWMJzRprzKmOuDB7eVmj3K+iJZL6Z4/Ip3owHJvy5e7R8oaYBG4Y5SR2aSjBIRd9aOA==","repository":{"url":"git+https://github.com/bernier-llc/tools.git","type":"git"},"_npmVersion":"11.14.1","description":"iCalendar (RFC 5545) generation and parsing for email calendar invites and responses","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@bernierllc/email-attachments":"0.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","ts-jest":"^29.1.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/email-calendar_0.4.0_1779249867189_0.43548813085633653","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@bernierllc/email-calendar","version":"0.6.0","description":"iCalendar (RFC 5545) generation and parsing for email calendar invites and responses","main":"dist/index.js","types":"dist/index.d.ts","keywords":["email","calendar","icalendar","ics","rfc5545","invite","vevent","vcalendar","typescript"],"author":{"name":"Bernier LLC"},"license":"PROPRIETARY","repository":{"type":"git","url":"git+https://github.com/bernier-llc/tools.git"},"dependencies":{"@bernierllc/email-attachments":"0.6.0"},"devDependencies":{"@types/jest":"^29.5.0","@types/node":"^20.0.0","jest":"^29.5.0","ts-jest":"^29.1.0","typescript":"^5.0.0"},"engines":{"node":">=18.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"scripts":{"build":"tsc","test":"jest","test:run":"jest --watchAll=false --forceExit","test:coverage":"jest --coverage","lint":"eslint src --ext .ts","lint:fix":"eslint src --ext .ts --fix","clean":"rm -rf dist","prebuild":"npm run clean"},"_id":"@bernierllc/email-calendar@0.6.0","bugs":{"url":"https://github.com/bernier-llc/tools/issues"},"homepage":"https://github.com/bernier-llc/tools#readme","_integrity":"sha512-kn+21JYGlwgR0H77MtStPWeVZ4AgaGxhtg8pGW6ELsN/kPP244a/5FR8ORjQ3LhrqVwfyUbnv+dgX7MsQRGeUg==","_resolved":"/home/runner/work/tools/tools/packages/core/email-calendar/bernierllc-email-calendar-0.6.0.tgz","_from":"file:bernierllc-email-calendar-0.6.0.tgz","_nodeVersion":"20.20.2","_npmVersion":"11.14.1","dist":{"integrity":"sha512-kn+21JYGlwgR0H77MtStPWeVZ4AgaGxhtg8pGW6ELsN/kPP244a/5FR8ORjQ3LhrqVwfyUbnv+dgX7MsQRGeUg==","shasum":"d189c235c3d77085cf6ec0c7dada58df8ec40f93","tarball":"https://registry.npmjs.org/@bernierllc/email-calendar/-/email-calendar-0.6.0.tgz","fileCount":27,"unpackedSize":49984,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIH9E2WoKVtbXSVrOGbFjY417KaLE3bTSmLpUURe5fTpoAiEA/zZupoJIt/+quAxme/EGDvR9pPO4uMHHw5vIMpTe19U="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b3808c8a-4baf-4c9e-bee6-96f844acae6b"}},"directories":{},"maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/email-calendar_0.6.0_1779251914096_0.36206274306015174"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-22T03:57:33.737Z","modified":"2026-05-20T04:38:34.352Z","0.0.1":"2026-02-22T03:57:33.981Z","0.1.0":"2026-03-03T17:48:36.228Z","0.2.0":"2026-03-03T20:19:51.044Z","0.2.1":"2026-03-09T19:58:09.187Z","0.3.0":"2026-05-20T01:38:42.868Z","0.4.0":"2026-05-20T04:04:27.347Z","0.6.0":"2026-05-20T04:38:34.251Z"},"bugs":{"url":"https://github.com/bernier-llc/tools/issues"},"author":{"name":"Bernier LLC"},"license":"PROPRIETARY","homepage":"https://github.com/bernier-llc/tools#readme","keywords":["email","calendar","icalendar","ics","rfc5545","invite","vevent","vcalendar","typescript"],"repository":{"type":"git","url":"git+https://github.com/bernier-llc/tools.git"},"description":"iCalendar (RFC 5545) generation and parsing for email calendar invites and responses","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"readme":"# @bernierllc/email-calendar\n\niCalendar (RFC 5545) generation and parsing for email calendar invites and responses. Generates `.ics` files and converts them to email attachments compatible with all email providers.\n\n## Installation\n\n```bash\nnpm install @bernierllc/email-calendar\n```\n\n## Usage\n\n```typescript\nimport { generateICS, parseICS, toEmailAttachment } from '@bernierllc/email-calendar';\n\n// Generate a calendar invite\nconst ics = generateICS({\n  summary: 'Team Standup',\n  start: new Date('2026-03-01T09:00:00Z'),\n  end: new Date('2026-03-01T09:30:00Z'),\n  organizer: { name: 'Jane', email: 'jane@example.com' },\n  attendees: [\n    { name: 'Bob', email: 'bob@example.com' },\n  ],\n  location: 'Conference Room A',\n});\n\n// Convert to an email attachment\nconst attachment = toEmailAttachment(ics, {\n  filename: 'invite.ics',\n  method: 'REQUEST',\n});\n\n// Parse an incoming ICS file\nconst event = parseICS(icsString);\nconsole.log(event.summary, event.start, event.end);\n```\n\n## Exports\n\n- `generateICS()` -- create iCalendar content from event parameters\n- `parseICS()` -- parse iCalendar content into structured event data\n- `toEmailAttachment()` -- convert ICS content to an email-ready attachment object\n- `CalendarError` -- custom error class with error codes\n- Types: `CalendarEvent`, `CalendarAttendee`, `CalendarOrganizer`, `ICSGenerateOptions`, `ICSParseResult`, and more\n\n## Provider Capability Support\n\nThis section documents how calendar invites behave across email providers, based on the canonical `CAPABILITY_MATRIX` in `@bernierllc/email-manager`.\n\n### Capability Levels by Provider\n\n| Provider | `calendarInvites` | `calendarEventMgmt` | Notes |\n|----------|------------------|---------------------|-------|\n| SendGrid | **platform** | **platform** | ICS attached to SendGrid emails |\n| Mailgun | **platform** | **platform** | ICS attached to Mailgun emails |\n| Postmark | **platform** | **platform** | ICS attached to Postmark emails |\n| SES | **platform** | **platform** | ICS attached to SES emails |\n| SMTP | **platform** | **platform** | ICS attached to SMTP emails |\n\n### How It Works\n\nCalendar invites are implemented entirely at the **platform level** for all providers. This package:\n\n1. Generates RFC 5545-compliant iCalendar (`.ics`) content\n2. Converts the ICS content into a MIME attachment using `@bernierllc/email-attachments`\n3. The attachment is then sent as part of a regular email through any provider\n\nNo provider has a native calendar invite API. The ICS file format is a universal standard that email clients (Outlook, Gmail, Apple Mail, Thunderbird, etc.) recognize and process natively, regardless of which email provider sent the message.\n\n### Degradation Behavior\n\nThere is no degradation. Calendar invites work identically across all providers because the feature is entirely provider-independent. The ICS file is a standard email attachment -- any provider that can send attachments (all of them) supports calendar invites.\n\n### No Override Needed\n\nSince this feature operates at the platform level for all providers and produces a universal file format, there are no provider-specific behaviors to override. The output is always a standards-compliant `.ics` file attached to the email.\n\n## License\n\nCopyright (c) 2025 Bernier LLC. All rights reserved.\n\nThis package is licensed to the client under a limited-use license. The client may use and modify this code only within the scope of the project it was delivered for. Redistribution or use in other products or commercial offerings is not permitted without written consent from Bernier LLC.\n","readmeFilename":"README.md"}