{"_id":"@adatechnology/notification-contracts","_rev":"8-bd7036b7e85aa5e2e06b701202b9c1a8","name":"@adatechnology/notification-contracts","dist-tags":{"latest":"0.1.0","rc":"0.1.0-rc.6"},"versions":{"0.1.0-rc.1":{"name":"@adatechnology/notification-contracts","version":"0.1.0-rc.1","license":"MIT","_id":"@adatechnology/notification-contracts@0.1.0-rc.1","maintainers":[{"name":"miyazaki","email":"andersonfrfilho@gmail.com"}],"dist":{"shasum":"fd7ed14ce51b9cecf4713a90a0d3364cbee29cf1","tarball":"https://registry.npmjs.org/@adatechnology/notification-contracts/-/notification-contracts-0.1.0-rc.1.tgz","fileCount":8,"integrity":"sha512-1NklHHFMmzpTVx1JqAkUkRFtm5QJqM86H9vSvUP6AoysG0NM8+X5RrmcAwTi2OfG2xNOaYhnNBVcUQZjyaUGVA==","signatures":[{"sig":"MEQCIHt0L/hF1b/2+XTph1Hd9CtJxZCoaelW57mQw4KvV8KOAiAILx3ljEu4qTPvtBzXRCjoXVUX6J5OihW7zJaarvOvfQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":163730},"main":"dist/index.js","type":"module","_from":"file:adatechnology-notification-contracts-0.1.0-rc.1.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"bun test","build":"tsup","check":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"miyazaki","email":"andersonfrfilho@gmail.com"},"_resolved":"/tmp/7feb124706beb9150652d8a9836a658c/adatechnology-notification-contracts-0.1.0-rc.1.tgz","_integrity":"sha512-1NklHHFMmzpTVx1JqAkUkRFtm5QJqM86H9vSvUP6AoysG0NM8+X5RrmcAwTi2OfG2xNOaYhnNBVcUQZjyaUGVA==","_npmVersion":"10.9.8","description":"Shared types, zod schemas, and port interfaces for the notification trio (contracts only — no runtime behavior)","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","@types/bun":"1.3.14","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/notification-contracts_0.1.0-rc.1_1785852811630_0.9211089454714672","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-rc.2":{"name":"@adatechnology/notification-contracts","version":"0.1.0-rc.2","license":"MIT","_id":"@adatechnology/notification-contracts@0.1.0-rc.2","maintainers":[{"name":"miyazaki","email":"andersonfrfilho@gmail.com"}],"dist":{"shasum":"73ecb552a0d9f387acf0b339fbe1e7e1af13688f","tarball":"https://registry.npmjs.org/@adatechnology/notification-contracts/-/notification-contracts-0.1.0-rc.2.tgz","fileCount":8,"integrity":"sha512-MKQp3GitUggBWdCNrINZl1ui3trwwc1SqrWy00TX6Rdji3QXOG/S4sZ5iylgHWRPQq3sv3C+O4ICpsZztpNXlw==","signatures":[{"sig":"MEQCIA1cHF5zNqvv0GAzBQcWFNQVeUTqICP95u9TnX5V73uoAiBtAQrHheELq002ajJxpL/wa0gtgNqGhlwXdMuTOBNl3w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":181091},"main":"dist/index.js","type":"module","_from":"file:adatechnology-notification-contracts-0.1.0-rc.2.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"bun test","build":"tsup","check":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"miyazaki","email":"andersonfrfilho@gmail.com"},"_resolved":"/tmp/dc7fce78be45f98c4c2299233b99d56b/adatechnology-notification-contracts-0.1.0-rc.2.tgz","_integrity":"sha512-MKQp3GitUggBWdCNrINZl1ui3trwwc1SqrWy00TX6Rdji3QXOG/S4sZ5iylgHWRPQq3sv3C+O4ICpsZztpNXlw==","_npmVersion":"10.9.8","description":"Shared types, zod schemas, and port interfaces for the notification trio (contracts only — no runtime behavior)","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^3.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","@types/bun":"1.3.14","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/notification-contracts_0.1.0-rc.2_1786034189544_0.48272999269791583","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-rc.3":{"name":"@adatechnology/notification-contracts","version":"0.1.0-rc.3","license":"MIT","_id":"@adatechnology/notification-contracts@0.1.0-rc.3","maintainers":[{"name":"miyazaki","email":"andersonfrfilho@gmail.com"}],"dist":{"shasum":"6766fbda3e2ec760ad6e7b482912a81bd0dcc0f9","tarball":"https://registry.npmjs.org/@adatechnology/notification-contracts/-/notification-contracts-0.1.0-rc.3.tgz","fileCount":8,"integrity":"sha512-ign38pbiRTMMpx0uKUoNOOv1x90oR+6l2PKMbj7+7b69xb46wpRR2pQBhFOuFqg83RgUee331laZ0P4n1yJjTA==","signatures":[{"sig":"MEUCIF+OIYgPwJ3yS4B0+h/iL617jWqWeqf9VcnfTjgizrkBAiEAjo1vXqemThHdTXoQsXp8dxN+rzOA9MN6qPEGCggeuEg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":234409},"main":"dist/index.js","type":"module","_from":"file:adatechnology-notification-contracts-0.1.0-rc.3.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"bun test","build":"tsup","check":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"miyazaki","email":"andersonfrfilho@gmail.com"},"_resolved":"/tmp/9c00b3ea3ce16b84d081e2599cf36b66/adatechnology-notification-contracts-0.1.0-rc.3.tgz","_integrity":"sha512-ign38pbiRTMMpx0uKUoNOOv1x90oR+6l2PKMbj7+7b69xb46wpRR2pQBhFOuFqg83RgUee331laZ0P4n1yJjTA==","_npmVersion":"10.9.8","description":"Shared types, zod schemas, and port interfaces for the notification trio (contracts only — no runtime behavior)","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","@types/bun":"1.3.14","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/notification-contracts_0.1.0-rc.3_1787587602330_0.35308910834540086","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-rc.4":{"name":"@adatechnology/notification-contracts","version":"0.1.0-rc.4","license":"MIT","_id":"@adatechnology/notification-contracts@0.1.0-rc.4","maintainers":[{"name":"miyazaki","email":"andersonfrfilho@gmail.com"}],"dist":{"shasum":"4170979f1be13916198ea644da0bad243cf2b616","tarball":"https://registry.npmjs.org/@adatechnology/notification-contracts/-/notification-contracts-0.1.0-rc.4.tgz","fileCount":8,"integrity":"sha512-7vnVHu9oLyZxEgYxD3KU9trYQxRgHbVxQmpv9GmcEwQDuXhVlr+UKDor9Q342E+Cw8NE55e522bsb16tZ2dVKw==","signatures":[{"sig":"MEUCIF2O7cICcZUQZypkttggdhJAiejGWDoXI4a37mlGYlBAAiEA+uhyln8iCCv/ZDtCi3RaxE2S0LnkMTBayvBmJYDopAY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":253738},"main":"dist/index.js","type":"module","_from":"file:adatechnology-notification-contracts-0.1.0-rc.4.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"bun test","build":"tsup","check":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"miyazaki","email":"andersonfrfilho@gmail.com"},"_resolved":"/tmp/2abcb3c2ebc3766d40a27975614b7c83/adatechnology-notification-contracts-0.1.0-rc.4.tgz","_integrity":"sha512-7vnVHu9oLyZxEgYxD3KU9trYQxRgHbVxQmpv9GmcEwQDuXhVlr+UKDor9Q342E+Cw8NE55e522bsb16tZ2dVKw==","_npmVersion":"10.9.8","description":"Shared types, zod schemas, and port interfaces for the notification trio (contracts only — no runtime behavior)","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","@types/bun":"1.3.14","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/notification-contracts_0.1.0-rc.4_1787623203849_0.9757900603523044","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-rc.5":{"name":"@adatechnology/notification-contracts","version":"0.1.0-rc.5","license":"MIT","_id":"@adatechnology/notification-contracts@0.1.0-rc.5","maintainers":[{"name":"miyazaki","email":"andersonfrfilho@gmail.com"}],"dist":{"shasum":"db0cdd91ad59a3dc3d0279ba630255be64f1ecfc","tarball":"https://registry.npmjs.org/@adatechnology/notification-contracts/-/notification-contracts-0.1.0-rc.5.tgz","fileCount":8,"integrity":"sha512-NXDmoYTjDlXK5x+Das9czsNFJIJ34tTMChWjhenDBuJN9vjGHQxIpItvERyEam7dZdoHiCtLlcO2/JazHKjFGg==","signatures":[{"sig":"MEUCIGKZbgaJVBYQxbq0MWXCh7M3es5BxiKg43458TI+c8G2AiEA+/k0LdqrvNALJ3DT/2tkGtzQ3XEwah3R6y8CcwLck5k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":256814},"main":"dist/index.js","type":"module","_from":"file:adatechnology-notification-contracts-0.1.0-rc.5.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"bun test","build":"tsup","check":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"miyazaki","email":"andersonfrfilho@gmail.com"},"_resolved":"/tmp/4dcd62e2c30946b78331445ba579ca10/adatechnology-notification-contracts-0.1.0-rc.5.tgz","_integrity":"sha512-NXDmoYTjDlXK5x+Das9czsNFJIJ34tTMChWjhenDBuJN9vjGHQxIpItvERyEam7dZdoHiCtLlcO2/JazHKjFGg==","_npmVersion":"10.9.8","description":"Shared types, zod schemas, and port interfaces for the notification trio (contracts only — no runtime behavior)","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","@types/bun":"1.3.14","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/notification-contracts_0.1.0-rc.5_1787623917816_0.38753181572603146","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-rc.6":{"name":"@adatechnology/notification-contracts","version":"0.1.0-rc.6","license":"MIT","_id":"@adatechnology/notification-contracts@0.1.0-rc.6","maintainers":[{"name":"miyazaki","email":"andersonfrfilho@gmail.com"}],"dist":{"shasum":"eb60d717035065f6e5fa4eeae19acdc1bd0f38d3","tarball":"https://registry.npmjs.org/@adatechnology/notification-contracts/-/notification-contracts-0.1.0-rc.6.tgz","fileCount":8,"integrity":"sha512-3f29To2AxJz09v2Jyddq3/6+Db29srqSZKd3Z/Wz3YtqEcntscBp4SnwB2fIK8AsemBZzkKbltnBFUVMB2HvpQ==","signatures":[{"sig":"MEYCIQDuTr94+x88FYfiFaZVPnUqPxrdCxCB/HbYKSd7+wJypwIhAJsR0d45tG3NBHkFtQy6tv9NBB4yR1xV8IvwHR6p3D8T","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":259734},"main":"dist/index.js","type":"module","_from":"file:adatechnology-notification-contracts-0.1.0-rc.6.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"test":"bun test","build":"tsup","check":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"miyazaki","email":"andersonfrfilho@gmail.com"},"_resolved":"/tmp/df786cd1a28ae0d1b0692ea09358b66f/adatechnology-notification-contracts-0.1.0-rc.6.tgz","_integrity":"sha512-3f29To2AxJz09v2Jyddq3/6+Db29srqSZKd3Z/Wz3YtqEcntscBp4SnwB2fIK8AsemBZzkKbltnBFUVMB2HvpQ==","_npmVersion":"10.9.8","description":"Shared types, zod schemas, and port interfaces for the notification trio (contracts only — no runtime behavior)","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.24.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","@types/bun":"1.3.14","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/notification-contracts_0.1.0-rc.6_1787657687287_0.7441222807464154","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@adatechnology/notification-contracts","version":"0.1.0","description":"Shared types, zod schemas, and port interfaces for the notification trio (contracts only — no runtime behavior)","license":"MIT","publishConfig":{"access":"public"},"type":"module","main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"dependencies":{"zod":"^3.24.1"},"devDependencies":{"@types/bun":"1.3.14","tsup":"^8.5.1","typescript":"^5.7.3"},"scripts":{"build":"tsup","check":"tsc -p tsconfig.json --noEmit","test":"bun test"},"_id":"@adatechnology/notification-contracts@0.1.0","_integrity":"sha512-/X/UViyEqCpYP8H/O7Qo3MQVUsKuCVTwXIoAF9oToZgUZEf1p9KSCXUEuC/sivsTkunPBVUa9by4geyg6kuQvA==","_resolved":"/tmp/fdf355828dd60b2011a02fba13af2012/adatechnology-notification-contracts-0.1.0.tgz","_from":"file:adatechnology-notification-contracts-0.1.0.tgz","_nodeVersion":"22.23.2","_npmVersion":"10.9.8","dist":{"integrity":"sha512-/X/UViyEqCpYP8H/O7Qo3MQVUsKuCVTwXIoAF9oToZgUZEf1p9KSCXUEuC/sivsTkunPBVUa9by4geyg6kuQvA==","shasum":"a8ab4c95c3ebb9b128196d75c0243bf929db13ae","tarball":"https://registry.npmjs.org/@adatechnology/notification-contracts/-/notification-contracts-0.1.0.tgz","fileCount":8,"unpackedSize":259729,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAOJnaWTrnAYyZ87hpMTx4FVD7YprwwakTi/s7CFM/oIAiA3oWpUIhc77vDAGV+9HbqTmvj0llIFKMgDkZIhOudW2w=="}]},"_npmUser":{"name":"miyazaki","email":"andersonfrfilho@gmail.com"},"directories":{},"maintainers":[{"name":"miyazaki","email":"andersonfrfilho@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/notification-contracts_0.1.0_1788318096270_0.5803040943395859"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-04T14:13:31.479Z","modified":"2026-09-02T03:01:36.600Z","0.1.0-rc.1":"2026-08-04T14:13:31.766Z","0.1.0-rc.2":"2026-08-06T16:36:29.701Z","0.1.0-rc.3":"2026-08-24T16:06:42.494Z","0.1.0-rc.4":"2026-08-25T02:00:04.000Z","0.1.0-rc.5":"2026-08-25T02:11:57.963Z","0.1.0-rc.6":"2026-08-25T11:34:47.429Z","0.1.0":"2026-09-02T03:01:36.410Z"},"license":"MIT","description":"Shared types, zod schemas, and port interfaces for the notification trio (contracts only — no runtime behavior)","maintainers":[{"name":"miyazaki","email":"andersonfrfilho@gmail.com"}],"readme":"# @adatechnology/notification-contracts\n\nTipos, schemas zod e portas do trio de notificações. **Sem comportamento de runtime** — o módulo\nvalida com ele, os drivers implementam as portas dele, o frontend tipa as chamadas com ele, e\nmudança de contrato quebra todos em compile-time em vez de em produção.\n\nÚnica dependência: `zod`.\n\n## Instalação\n\n```bash\nbun add @adatechnology/notification-contracts\n```\n\n## O que traz\n\n| Área | Conteúdo |\n|---|---|\n| Entidades | `Notification`, `Delivery`, `Device`, `Preference`, `Template`, `Suppression` |\n| Canais | `NOTIFICATION_CHANNEL` — `inbox`, `push`, `email`, `whatsapp` |\n| Portas de driver | `PushDriverPort`, `EmailDriverPort`, `WhatsAppDriverPort`, `InboxDriverPort` |\n| Portas do host | `RecipientResolverPort`, `QueuePort`, `RealtimeNotifierPort`, `LoggerPort` |\n| Entrada | `sendNotificationSchema`, `registerDeviceSchema`, `updatePreferencesSchema`, … |\n| Eventos | hooks de ciclo de vida da entrega |\n| Erros | `NotificationError` e subclasses, com `statusCode` e `code` estáveis |\n\n## `DeliveryAttemptResult` é união discriminada\n\n```ts\ntype DeliveryAttemptResult =\n  | { outcome: 'sent'; providerMessageId?: string }\n  | { outcome: 'retriable'; errorCode: string; message: string }\n  | { outcome: 'permanent'; errorCode: string; message: string }\n  | { outcome: 'invalid-target'; errorCode: string; message: string }\n```\n\nQuem classifica é o **driver**, nunca o módulo: só ele conhece o vocabulário de erro do provedor.\n`invalid-target` é separado de `permanent` porque tem consequência própria — o device é desativado\nou o e-mail entra na lista de supressão, em vez de a fila insistir para sempre num token morto.\n\n## Invariantes\n\n- **`companyId` nunca entra em schema de corpo.** Vem do contexto autenticado do host.\n- **Nenhum tipo de HTTP aqui.** Rota é assunto do `@adatechnology/module-http`; este pacote é\n  domínio. Um contracts que conhece a palavra \"rota\" acaba amarrado ao transporte.\n- **Nenhuma porta valida token.** O host resolve identidade e entrega pronta (`security.md` §2).\n- Alvo de entrega (telefone, e-mail) nunca aparece cru em log — ver `maskTarget`/`hashTarget` no\n  módulo.\n\n## Licença\n\nMIT © Ada Technology\n","readmeFilename":"README.md"}