{"_id":"@bimetal/channel","_rev":"10-d7ec0af9783d846f6ec13eb39c55d9e3","name":"@bimetal/channel","dist-tags":{"next":"1.0.0-rc.3","latest":"0.37.0"},"versions":{"0.29.0":{"name":"@bimetal/channel","version":"0.29.0","keywords":["channel","notification","alerting","messaging","pluggable","headless","domain-agnostic"],"author":{"name":"Andreas Biederbeck"},"license":"PolyForm-Noncommercial-1.0.0","_id":"@bimetal/channel@0.29.0","maintainers":[{"name":"biederbe","email":"mail@biederbeck.de"}],"homepage":"https://github.com/bimetal/bimetal#readme","bugs":{"url":"https://github.com/bimetal/bimetal/issues"},"dist":{"shasum":"e9ee13a0f43fec9fce762c18f4ed79212a655a6d","tarball":"https://registry.npmjs.org/@bimetal/channel/-/channel-0.29.0.tgz","fileCount":23,"integrity":"sha512-4g8KV/6dxZTYVUiDDkp25wQFTSDPTsNfi/gQId4LEsxkzoLSzqaXcg4d5x0HcGzbdDaKfTT0XqPlECh/0l2IRw==","signatures":[{"sig":"MEUCIQCtOEdBNmtuLJXZUkEau1wOLKkf1p3qsH5AeQuFTs3AzAIgCRShqHl6cemxOgq/bKKX9V7fvFwiSSdD16h+Vu9Mxt8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72042},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"186d8761ec5cd0a33f6ea349beb975099167fbc9","scripts":{"dev":"tsc -b --watch","test":"vitest run","build":"tsc -b","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"biederbe","email":"mail@biederbeck.de"},"repository":{"url":"git+https://github.com/bimetal/bimetal.git","type":"git","directory":"packages/transport/channel"},"_npmVersion":"11.17.0","description":"Generic pluggable notification-channel abstraction. Domain-agnostic send-to-recipient with a capability model and a zero-dependency template renderer. In-process default, external adapters (Webhook, Slack, Email, SMS, …) implement the same Channel interfa","directories":{},"sideEffects":false,"_nodeVersion":"26.4.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.1"},"_npmOperationalInternal":{"tmp":"tmp/channel_0.29.0_1784139030463_0.546799553906036","host":"s3://npm-registry-packages-npm-production"}},"0.30.0":{"name":"@bimetal/channel","version":"0.30.0","keywords":["channel","notification","alerting","messaging","pluggable","headless","domain-agnostic"],"author":{"name":"Andreas Biederbeck"},"license":"PolyForm-Noncommercial-1.0.0","_id":"@bimetal/channel@0.30.0","maintainers":[{"name":"biederbe","email":"mail@biederbeck.de"}],"homepage":"https://github.com/bimetal/bimetal#readme","bugs":{"url":"https://github.com/bimetal/bimetal/issues"},"dist":{"shasum":"7ae5900c2594f3af4ac58ab02aeb2e90ade4e7f5","tarball":"https://registry.npmjs.org/@bimetal/channel/-/channel-0.30.0.tgz","fileCount":23,"integrity":"sha512-yppr3rbQ0I8zXeoa9GL1dr2u8hdsgcagKAFKDBdCE/qZ+q4iJdeM3pYrIKiiu5YfOl9AbWGcZRzkjdTxfoEDDQ==","signatures":[{"sig":"MEUCIQCTCS8C/rufpVC3BFyifc5fJB8aGbcyTuiUkYeODwMjQQIgTWQlXHwTD8ST4HEolgYEV3eNRw8Yw+JvWDp2Y+xo+Po=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72042},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"51dea0f01db49be01780bf4692853f6882cc98f2","scripts":{"dev":"tsc -b --watch","test":"vitest run","build":"tsc -b","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"biederbe","email":"mail@biederbeck.de"},"repository":{"url":"git+https://github.com/bimetal/bimetal.git","type":"git","directory":"packages/transport/channel"},"_npmVersion":"11.17.0","description":"Generic pluggable notification-channel abstraction. Domain-agnostic send-to-recipient with a capability model and a zero-dependency template renderer. In-process default, external adapters (Webhook, Slack, Email, SMS, …) implement the same Channel interfa","directories":{},"sideEffects":false,"_nodeVersion":"26.4.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.1"},"_npmOperationalInternal":{"tmp":"tmp/channel_0.30.0_1784223903381_0.931685893743526","host":"s3://npm-registry-packages-npm-production"}},"0.32.0":{"name":"@bimetal/channel","version":"0.32.0","keywords":["channel","notification","alerting","messaging","pluggable","headless","domain-agnostic"],"author":{"name":"Andreas Biederbeck"},"license":"PolyForm-Noncommercial-1.0.0","_id":"@bimetal/channel@0.32.0","maintainers":[{"name":"biederbe","email":"mail@biederbeck.de"}],"homepage":"https://github.com/bimetal/bimetal#readme","bugs":{"url":"https://github.com/bimetal/bimetal/issues"},"dist":{"shasum":"ef8a951b732f88a70bdd1a06c05237f73a128ee1","tarball":"https://registry.npmjs.org/@bimetal/channel/-/channel-0.32.0.tgz","fileCount":23,"integrity":"sha512-qcjWLNxMWnDrX0EyQLz7tUsAEBZp4urgz21lbsqNOxateVygDrh8q9Mei3f8SHmpmeO7/506nmxlV2SQOLDrcw==","signatures":[{"sig":"MEQCICmYhL+rGLrv6pXYz6CwY4FV2BZi78fEP5/LCXYFLBEeAiBWOPlokHewJw9lRqDVKPhedSEqpAuqI5ZfC7yWb/H2nQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72042},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"4dd8f4baf3c73447e7bec4a54c815b414c6bcba1","scripts":{"dev":"tsc -b --watch","test":"vitest run","build":"tsc -b","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"biederbe","email":"mail@biederbeck.de"},"repository":{"url":"git+https://github.com/bimetal/bimetal.git","type":"git","directory":"packages/transport/channel"},"_npmVersion":"11.17.0","description":"Generic pluggable notification-channel abstraction. Domain-agnostic send-to-recipient with a capability model and a zero-dependency template renderer. In-process default, external adapters (Webhook, Slack, Email, SMS, …) implement the same Channel interfa","directories":{},"sideEffects":false,"_nodeVersion":"26.4.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.1"},"_npmOperationalInternal":{"tmp":"tmp/channel_0.32.0_1784451122423_0.5755479169210727","host":"s3://npm-registry-packages-npm-production"}},"0.34.0":{"name":"@bimetal/channel","version":"0.34.0","keywords":["channel","notification","alerting","messaging","pluggable","headless","domain-agnostic"],"author":{"name":"Andreas Biederbeck"},"license":"PolyForm-Noncommercial-1.0.0","_id":"@bimetal/channel@0.34.0","maintainers":[{"name":"biederbe","email":"mail@biederbeck.de"}],"homepage":"https://github.com/bimetal/bimetal#readme","bugs":{"url":"https://github.com/bimetal/bimetal/issues"},"dist":{"shasum":"55e65c708ce7bf9c8622b9b264ac354ffc56df17","tarball":"https://registry.npmjs.org/@bimetal/channel/-/channel-0.34.0.tgz","fileCount":23,"integrity":"sha512-tBDmW/JaToT4bgysA/TvYPdOSacIZRS2n/Ujk5FkTqmPgo8cd2TFD0c6lVHBbLod6ajcQbb77JRK+z2CbRiAjw==","signatures":[{"sig":"MEUCIQCpR/N2rS9Liu/TepZDgSzqU4Cc3A4ffiw77F8Wlw4nHwIgKTgc0e7Z6JEeI4M10G1KLT3pd1pVPSJYR7CYVpKRdZY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72205},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"0ab9c94645e5187e22508816ff6bf33a13c0ce35","scripts":{"dev":"tsc -b --watch","test":"vitest run","build":"tsc -b","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"biederbe","email":"mail@biederbeck.de"},"repository":{"url":"git+https://github.com/bimetal/bimetal.git","type":"git","directory":"packages/transport/channel"},"_npmVersion":"11.17.0","description":"Generic pluggable notification-channel abstraction. Domain-agnostic send-to-recipient with a capability model and a zero-dependency template renderer. In-process default, external adapters (Webhook, Slack, Email, SMS, …) implement the same Channel interfa","directories":{},"sideEffects":false,"_nodeVersion":"26.4.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.1"},"_npmOperationalInternal":{"tmp":"tmp/channel_0.34.0_1784529404943_0.7581544393167077","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-rc.1":{"name":"@bimetal/channel","version":"1.0.0-rc.1","keywords":["channel","notification","alerting","messaging","pluggable","headless","domain-agnostic"],"author":{"name":"Andreas Biederbeck"},"license":"PolyForm-Noncommercial-1.0.0","_id":"@bimetal/channel@1.0.0-rc.1","maintainers":[{"name":"biederbe","email":"mail@biederbeck.de"}],"homepage":"https://github.com/bimetal/bimetal#readme","bugs":{"url":"https://github.com/bimetal/bimetal/issues"},"dist":{"shasum":"df5ac291ca36d4e1f11b7b8c05d0c6fb8879fca2","tarball":"https://registry.npmjs.org/@bimetal/channel/-/channel-1.0.0-rc.1.tgz","fileCount":23,"integrity":"sha512-0EOAWrHK4N8Uvxa5Ao66NNNd2J0t3Twkn7Dri83O1UDNwYPtlBL+YIGC8No6jzTTrrOtKGdxNfQ95H9zafnD6Q==","signatures":[{"sig":"MEUCIHq5lANPue/IHsuvH33oXlnO3J/M3i/rRt3+VqoAqKqhAiEAmo9r6UMk9rsZXJyILlmijhmadLthhI09vsdk5JrJSnk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":74249},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"906ba734fbbbc028d11051bfcc7577242eba2139","scripts":{"dev":"tsc -b --watch","test":"vitest run","build":"tsc -b","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"biederbe","email":"mail@biederbeck.de"},"repository":{"url":"git+https://github.com/bimetal/bimetal.git","type":"git","directory":"packages/transport/channel"},"_npmVersion":"11.17.0","description":"Generic pluggable notification-channel abstraction. Domain-agnostic send-to-recipient with a capability model and a zero-dependency template renderer. In-process default, external adapters (Webhook, Slack, Email, SMS, …) implement the same Channel interfa","directories":{},"sideEffects":false,"_nodeVersion":"26.4.0","dependencies":{},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^3.2.1"},"_npmOperationalInternal":{"tmp":"tmp/channel_1.0.0-rc.1_1784739416829_0.9962168658169626","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-rc.2":{"name":"@bimetal/channel","version":"1.0.0-rc.2","keywords":["channel","notification","alerting","messaging","pluggable","headless","domain-agnostic"],"author":{"name":"Andreas Biederbeck"},"license":"Apache-2.0","_id":"@bimetal/channel@1.0.0-rc.2","maintainers":[{"name":"biederbe","email":"mail@biederbeck.de"}],"homepage":"https://github.com/bimetal/bimetal#readme","bugs":{"url":"https://github.com/bimetal/bimetal/issues"},"dist":{"shasum":"b178c705d80b37297af9ac31f9c0693819d5d24b","tarball":"https://registry.npmjs.org/@bimetal/channel/-/channel-1.0.0-rc.2.tgz","fileCount":24,"integrity":"sha512-4LNkItpjLEnOMAXYqcOW255MBQBCzHCF/FhYnlCvW4BEs6iW9xQ+LE0y2H0otBFARWTxXxfaaaX3c/tafORFCg==","signatures":[{"sig":"MEUCIH4Z4HuQQW7WhOeDQyzvXdrgoLYRY4VP2oYh62L70QAMAiEAh1n/RG/rLQdu0JP1KSWWNMwaHMzDA9sBdg4bcswUlcc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":83445},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"913c01472f17bffe76658f9e6c760838c0e238b2","scripts":{"dev":"tsc -b --watch","test":"vitest run","build":"tsc -b","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"biederbe","email":"mail@biederbeck.de"},"repository":{"url":"git+https://github.com/bimetal/bimetal.git","type":"git","directory":"packages/transport/channel"},"_npmVersion":"11.17.0","description":"Generic pluggable notification-channel abstraction. Domain-agnostic send-to-recipient with a capability model and a zero-dependency template renderer. In-process default, external adapters (Webhook, Slack, Email, SMS, …) implement the same Channel interfa","directories":{},"sideEffects":false,"_nodeVersion":"26.4.0","dependencies":{},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^3.2.1"},"_npmOperationalInternal":{"tmp":"tmp/channel_1.0.0-rc.2_1784833977989_0.8318270600096742","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-rc.3":{"name":"@bimetal/channel","version":"1.0.0-rc.3","keywords":["channel","notification","alerting","messaging","pluggable","headless","domain-agnostic"],"author":{"name":"Andreas Biederbeck"},"license":"Apache-2.0","_id":"@bimetal/channel@1.0.0-rc.3","maintainers":[{"name":"biederbe","email":"mail@biederbeck.de"}],"homepage":"https://github.com/bimetal/bimetal#readme","bugs":{"url":"https://github.com/bimetal/bimetal/issues"},"dist":{"shasum":"fdb8e8af7a10853fa67250694b9e424847e05edf","tarball":"https://registry.npmjs.org/@bimetal/channel/-/channel-1.0.0-rc.3.tgz","fileCount":24,"integrity":"sha512-xkoFzZEO4kIHLhCSM4qyt8AAixFl/wt08+x5zgWN/GhSnzpG/LQvdAChd/t52u/qVaKGN8tX2mJKEjnBqaJ9wA==","signatures":[{"sig":"MEYCIQC+K+ik8h7qs+eNLwAH2PaMgk128M9bsMDMk1U13v1FigIhALzsBAyJEM4dRDmwHFXN+u1AThLvxZRs3X6HilWd8R3J","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":83445},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"869ba9953a91ee395a35ae56bceb98f63acf1a70","scripts":{"dev":"tsc -b --watch","test":"vitest run","build":"tsc -b","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"biederbe","email":"mail@biederbeck.de"},"repository":{"url":"git+https://github.com/bimetal/bimetal.git","type":"git","directory":"packages/transport/channel"},"_npmVersion":"11.17.0","description":"Generic pluggable notification-channel abstraction. Domain-agnostic send-to-recipient with a capability model and a zero-dependency template renderer. In-process default, external adapters (Webhook, Slack, Email, SMS, …) implement the same Channel interfa","directories":{},"sideEffects":false,"_nodeVersion":"26.4.0","dependencies":{},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^3.2.1"},"_npmOperationalInternal":{"tmp":"tmp/channel_1.0.0-rc.3_1785017873098_0.5906541411838204","host":"s3://npm-registry-packages-npm-production"}},"0.35.0":{"name":"@bimetal/channel","version":"0.35.0","keywords":["channel","notification","alerting","messaging","pluggable","headless","domain-agnostic"],"author":{"name":"Andreas Biederbeck"},"license":"Apache-2.0","_id":"@bimetal/channel@0.35.0","maintainers":[{"name":"biederbe","email":"mail@biederbeck.de"}],"homepage":"https://github.com/bimetal/bimetal#readme","bugs":{"url":"https://github.com/bimetal/bimetal/issues"},"dist":{"shasum":"d1207075d95e9906c5dfbd70529bf792ac075f79","tarball":"https://registry.npmjs.org/@bimetal/channel/-/channel-0.35.0.tgz","fileCount":24,"integrity":"sha512-Ve8T/O9buQnx8OPZCLMF+pe7EQL+cLrrFNhgxiO+ozQgVdY8XkpkOfgocoJpLwtrpJtGDXG1zAArU63cFys1VQ==","signatures":[{"sig":"MEUCIQDjcgFo2rGdLRjifiyRG+6ERskJhnbL6z6r432YcxB9FwIgZPZ441FYrm/sNRxjhcQ99XFj3IU/7NvPg4+Xgl2uDHs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":83441},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"879bd4f41496ec870dbfac92a8228bf93226f256","scripts":{"dev":"tsc -b --watch","test":"vitest run","build":"tsc -b","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"biederbe","email":"mail@biederbeck.de"},"repository":{"url":"git+https://github.com/bimetal/bimetal.git","type":"git","directory":"packages/transport/channel"},"_npmVersion":"11.17.0","description":"Generic pluggable notification-channel abstraction. Domain-agnostic send-to-recipient with a capability model and a zero-dependency template renderer. In-process default, external adapters (Webhook, Slack, Email, SMS, …) implement the same Channel interfa","directories":{},"sideEffects":false,"_nodeVersion":"26.4.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.1"},"_npmOperationalInternal":{"tmp":"tmp/channel_0.35.0_1785078767069_0.6645391725999941","host":"s3://npm-registry-packages-npm-production"}},"0.36.0":{"name":"@bimetal/channel","version":"0.36.0","keywords":["channel","notification","alerting","messaging","pluggable","headless","domain-agnostic"],"author":{"name":"Andreas Biederbeck"},"license":"Apache-2.0","_id":"@bimetal/channel@0.36.0","maintainers":[{"name":"biederbe","email":"mail@biederbeck.de"}],"homepage":"https://github.com/bimetal/bimetal#readme","bugs":{"url":"https://github.com/bimetal/bimetal/issues"},"dist":{"shasum":"65cdf0c3abce61d62feb74a2a5c2b23a81a3fd65","tarball":"https://registry.npmjs.org/@bimetal/channel/-/channel-0.36.0.tgz","fileCount":24,"integrity":"sha512-OMbl+ybdtOu2V0Ae7uaqYi/P2sTIiytc8PWmaefOuCHZyQIHu69VSMnbZplseT2u+7vwEUzmQ6f+1Iad2sCNIA==","signatures":[{"sig":"MEYCIQDvNJhXcml9W+kIZEVovaGisSIYxLV7IWuuu8E+8/s/VAIhAJ4rNn5JmEktAMDHapfl6Z09AkRXn129HhvMGBoihlsd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCe2Nzdjd7MRVU5jk6Hzl0pw/HFSU6tmqQhrnF8AMc4BAIhALD+PP1gnl8R4m9BUVAqhHguzOGWYeeLb7BUSexjjddG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":83441},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"c398884cce8cfe7004bcd7523398ebaf63c5452c","scripts":{"dev":"tsc -b --watch","test":"vitest run","build":"tsc -b","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"biederbe","email":"mail@biederbeck.de"},"repository":{"url":"git+https://github.com/bimetal/bimetal.git","type":"git","directory":"packages/transport/channel"},"_npmVersion":"11.17.0","description":"Generic pluggable notification-channel abstraction. Domain-agnostic send-to-recipient with a capability model and a zero-dependency template renderer. In-process default, external adapters (Webhook, Slack, Email, SMS, …) implement the same Channel interfa","directories":{},"sideEffects":false,"_nodeVersion":"26.5.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.1"},"_npmOperationalInternal":{"tmp":"tmp/channel_0.36.0_1788079339109_0.23535294002049345","host":"s3://npm-registry-packages-npm-production"}},"0.37.0":{"_id":"@bimetal/channel@0.37.0","bugs":{"url":"https://github.com/bimetal/bimetal/issues"},"dist":{"shasum":"588d57ef6dcace31fcdd871bdd6955d6af4f855d","tarball":"https://registry.npmjs.org/@bimetal/channel/-/channel-0.37.0.tgz","fileCount":24,"integrity":"sha512-+HX1jEs2uB6Pwq26qSj+JDeqqT/80hLTgUzvNvCw9DXRfBk1ey2ePmtJqVU/2aW89Bjs82CefP1NxlgaRvfHFA==","signatures":[{"sig":"MEUCIC7FmofG/x7ArMwX3RcJLJC4WWq+i7+0YeFrZRIaH7BLAiEAlYsImZR0GWCxy62ACQC776IMLmrKbg3Nlgkira8AHRc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIC03VW3PrPgDtc+mFaDQ6W4u2n0S9q0gG8RJRSyuwr+8AiA6TJb8337TJVLWbGBTCUfybAhmKV0dJdOZoo2pKkzDQg=="}],"unpackedSize":83463},"main":"./dist/index.js","name":"@bimetal/channel","type":"module","types":"./dist/index.d.ts","author":{"name":"Andreas Biederbeck"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"7c443deff9a8b0a534c68757c83f5a6b0794e018","license":"Apache-2.0","scripts":{"dev":"tsc -b --watch","test":"vitest run","build":"tsc -b","typecheck":"tsc --noEmit -p tsconfig.test.json","test:watch":"vitest","prepublishOnly":"npm run build"},"version":"0.37.0","_npmUser":{"name":"biederbe","email":"mail@biederbeck.de"},"homepage":"https://github.com/bimetal/bimetal#readme","keywords":["channel","notification","alerting","messaging","pluggable","headless","domain-agnostic"],"repository":{"url":"git+https://github.com/bimetal/bimetal.git","type":"git","directory":"packages/transport/channel"},"_npmVersion":"11.17.0","description":"Generic pluggable notification-channel abstraction. Domain-agnostic send-to-recipient with a capability model and a zero-dependency template renderer. In-process default, external adapters (Webhook, Slack, Email, SMS, …) implement the same Channel interfa","directories":{},"maintainers":[{"name":"biederbe","email":"mail@biederbeck.de"}],"sideEffects":false,"_nodeVersion":"26.5.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.1","vitest":"^5.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/channel_0.37.0_1789245280878_0.9917259349522187"}}},"time":{"created":"2026-07-15T18:10:29.819Z","modified":"2026-09-12T20:34:41.119Z","0.29.0":"2026-07-15T18:10:30.631Z","0.30.0":"2026-07-16T17:45:03.535Z","0.32.0":"2026-07-19T08:52:02.557Z","0.34.0":"2026-07-20T06:36:45.100Z","1.0.0-rc.1":"2026-07-22T16:56:56.952Z","1.0.0-rc.2":"2026-07-23T19:12:58.122Z","1.0.0-rc.3":"2026-07-25T22:17:53.254Z","0.35.0":"2026-07-26T15:12:47.211Z","0.36.0":"2026-08-30T08:42:19.188Z","0.37.0":"2026-09-12T20:34:40.962Z"},"bugs":{"url":"https://github.com/bimetal/bimetal/issues"},"author":{"name":"Andreas Biederbeck"},"license":"Apache-2.0","homepage":"https://github.com/bimetal/bimetal#readme","keywords":["channel","notification","alerting","messaging","pluggable","headless","domain-agnostic"],"repository":{"url":"git+https://github.com/bimetal/bimetal.git","type":"git","directory":"packages/transport/channel"},"description":"Generic pluggable notification-channel abstraction. Domain-agnostic send-to-recipient with a capability model and a zero-dependency template renderer. In-process default, external adapters (Webhook, Slack, Email, SMS, …) implement the same Channel interfa","maintainers":[{"name":"biederbe","email":"mail@biederbeck.de"}],"readme":"# @bimetal/channel\n\nGeneric pluggable notification-channel abstraction. Domain-agnostic „send-to-recipient\" mit Capability-Modell + abhängigkeitsfreiem Template-Renderer. In-Process-Default; externe Adapter (Webhook, Slack, Email, SMS, …) implementieren das gleiche Interface.\n\nZero external dependencies. Zero `@bimetal/*` dependencies. Standort im Stack neben `@bimetal/broker`: beide sind Transport-Primitive, keine domain-spezifischen Packages.\n\n## Installation\n\n```bash\nnpm install @bimetal/channel\n```\n\n## What's Inside\n\n### Types\n\n- **`Channel<TMessage = ChannelMessage>`** — `send(recipient, message)`, `capabilities`, optional `close()`. Adapter hängen NUR hieran, nicht am Alerting-Kern.\n- **`ChannelMessage`** — `{ subject?, body, meta? }`. Pre-rendert; der Channel schickt sie unverändert.\n- **`ChannelCapabilities`** — `{ batch, retries }`. Einzige Quelle der Wahrheit für Adapter-Fähigkeiten.\n- **`Recipient`**, **`Template`**\n\n### Default-Template (zero-dep)\n\n- **`interpolate(template, data)`** — minimaler `{{pfad}}`-Renderer, prototype-sicher (`Object.hasOwn`). **Bewusst kein** Handlebars/Mustache — das verletzt „zero external deps\". Eine App klinkt einen eigenen Renderer über das `Template`-Interface ein.\n- **`defaultTemplate`** — `Template`-Implementierung über `interpolate`.\n\n### In-Process-Default\n\n- **`createInProcessChannel(options?)`** — Test-Collector mit `sent()` / `clear()`; optionaler `fail`-Hook simuliert Zustellfehler. Beweist die Verdrahtung ohne Netzwerk/Credentials.\n\n### Geteilter HTTP-Helfer (für die HTTP-Adapter)\n\n- **`httpSend(req, options?)`** — POST über das `fetch`-Global; `fetch` ist injizierbar (`HttpSendOptions.fetch`), also unit-testbar ohne Netzwerk. Per-Request-Timeout via `AbortController` (`timeoutMs`, Default 10s) — ein hängender Provider blockiert nie den Orchestrator-Tick.\n- **`ChannelHttpError`** — Zustellfehler mit HTTP-Status. **`.message` ist body-frei (`HTTP <status>`)** — sicher zum Persistieren in einem Event-Log; der gekappte Provider-Body liegt nur auf `.detail` (transiente Diagnose). Hält Credential-/PII-Echos aus unveränderlichen Logs heraus.\n\n## Designprinzipien\n\n- **Generic over `TMessage`**: kein DomainEvent-/Alert-Lock-in. Der Channel kennt weder Event-Sourcing noch Kalender.\n- **Capabilities zuerst**: Adapter-Unterschiede (`batch`, `retries`) werden explizit kommuniziert, nicht durch An-/Abwesenheit von Methoden.\n- **Body-freie Fehler**: ein non-2xx wirft `ChannelHttpError` mit body-freier message — die Security-Eigenschaft, auf der der Alerting-Fehlervertrag aufsetzt.\n- **Zero-dep Template**: der Default-Renderer ist absichtlich minimal; mächtigere Engines sind App-Sache über das Interface.\n\n## License\n\nApache License 2.0\n","readmeFilename":"README.md"}