{"_id":"@h-ai/reach","_rev":"48-44e649aa9c35dc644dcc495e020b44c8","name":"@h-ai/reach","dist-tags":{"latest":"0.1.0-alpha.56"},"versions":{"0.1.0-alpha5":{"name":"@h-ai/reach","version":"0.1.0-alpha5","license":"Apache-2.0","_id":"@h-ai/reach@0.1.0-alpha5","maintainers":[{"name":"gudaoxuri","email":"i@sunisle.org"}],"dist":{"shasum":"5ec9c2c921506de42de9202514f53b5ac82417c3","tarball":"https://registry.npmjs.org/@h-ai/reach/-/reach-0.1.0-alpha5.tgz","fileCount":6,"integrity":"sha512-Gq7+8gU5/76XYaIior8B8AHBjfC0Jty51eSWLH04Fpa054k1kj0zKNr0PmO+Di6mnTd+G3bpOlx+3E8SdHG/kw==","signatures":[{"sig":"MEUCIAeF9RbwUa28oOXEVWWGX/s2b6Gzgg+s25411M1eOpXTAiEAok8ZwgHRhrPY4D6CxAQ4G3mmou/3aGBmYKLllcYxUgE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":193111},"main":"./dist/index.js","type":"module","_from":"file:h-ai-reach-0.1.0-alpha5.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rimraf dist .turbo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gudaoxuri","email":"i@sunisle.org"},"_resolved":"/tmp/8bb6197abbcd11b3e6d725a03b6aca70/h-ai-reach-0.1.0-alpha5.tgz","_integrity":"sha512-Gq7+8gU5/76XYaIior8B8AHBjfC0Jty51eSWLH04Fpa054k1kj0zKNr0PmO+Di6mnTd+G3bpOlx+3E8SdHG/kw==","_npmVersion":"10.8.2","description":"Hai Framework user reach module for email, SMS, and webhook channels.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.3.6","@h-ai/core":"0.1.0-alpha5","@h-ai/cache":"0.1.0-alpha5","@h-ai/reldb":"0.1.0-alpha5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","rimraf":"^6.0.1","vitest":"^4.0.18","typescript":"^5.7.2","@types/node":"^25.1.0","@types/nodemailer":"^7.0.11"},"optionalDependencies":{"nodemailer":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/reach_0.1.0-alpha5_1775449640408_0.01965134800944912","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha7":{"name":"@h-ai/reach","version":"0.1.0-alpha7","license":"Apache-2.0","_id":"@h-ai/reach@0.1.0-alpha7","maintainers":[{"name":"gudaoxuri","email":"i@sunisle.org"}],"dist":{"shasum":"f84302eeaeddee19048f1df07f69f5516de5d4fb","tarball":"https://registry.npmjs.org/@h-ai/reach/-/reach-0.1.0-alpha7.tgz","fileCount":6,"integrity":"sha512-yDsKMh+GSQHwaIaveOJyQaa2VVP8PHjTocC4q6glfxaYdPwPoGLrQXRXEnWTxKCX4/+xNjGAVMnzPpa+dqBfYA==","signatures":[{"sig":"MEQCIBg46PYYbUx7cGhRjezwyS+OLf8PB0sApNfOm2L1QkpzAiBpRxWhYaIOFDlLHg6ywDZvCnnNFS7UJvpgAIvDjcrGcw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":193111},"main":"./dist/index.js","type":"module","_from":"file:h-ai-reach-0.1.0-alpha7.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rimraf dist .turbo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gudaoxuri","email":"i@sunisle.org"},"_resolved":"/tmp/bde7a65f74c9b8ddb48975af96389e08/h-ai-reach-0.1.0-alpha7.tgz","_integrity":"sha512-yDsKMh+GSQHwaIaveOJyQaa2VVP8PHjTocC4q6glfxaYdPwPoGLrQXRXEnWTxKCX4/+xNjGAVMnzPpa+dqBfYA==","_npmVersion":"10.8.2","description":"Hai Framework user reach module for email, SMS, and webhook channels.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.3.6","@h-ai/core":"0.1.0-alpha7","@h-ai/cache":"0.1.0-alpha7","@h-ai/reldb":"0.1.0-alpha7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","rimraf":"^6.0.1","vitest":"^4.0.18","typescript":"^5.7.2","@types/node":"^25.1.0","@types/nodemailer":"^7.0.11"},"optionalDependencies":{"nodemailer":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/reach_0.1.0-alpha7_1775525001648_0.40036632854703713","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha8":{"name":"@h-ai/reach","version":"0.1.0-alpha8","license":"Apache-2.0","_id":"@h-ai/reach@0.1.0-alpha8","maintainers":[{"name":"gudaoxuri","email":"i@sunisle.org"}],"dist":{"shasum":"126fb5bb502b219df9150a9008dbf77efc1f84e5","tarball":"https://registry.npmjs.org/@h-ai/reach/-/reach-0.1.0-alpha8.tgz","fileCount":6,"integrity":"sha512-OlBybrKRyS0cNTihDkuqWakBdNGWcVrauGe7lV3ENIDkVgoaJ4AKh0zIoPsSxw7DTd6Vcz7HVRA+rvUm+EGGnQ==","signatures":[{"sig":"MEUCIQDwnez2916tP5lV5Sia0oQgYr0ARDal3brXkYpVU2A5gwIgOjXssuKlxLoxn3W6dhitZqde2mTZn7wEI+qnlNzbnd8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":193111},"main":"./dist/index.js","type":"module","_from":"file:h-ai-reach-0.1.0-alpha8.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rimraf dist .turbo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gudaoxuri","email":"i@sunisle.org"},"_resolved":"/tmp/cc0725d147b4d694bc52afbfedc792a3/h-ai-reach-0.1.0-alpha8.tgz","_integrity":"sha512-OlBybrKRyS0cNTihDkuqWakBdNGWcVrauGe7lV3ENIDkVgoaJ4AKh0zIoPsSxw7DTd6Vcz7HVRA+rvUm+EGGnQ==","_npmVersion":"10.8.2","description":"Hai Framework user reach module for email, SMS, and webhook channels.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.3.6","@h-ai/core":"0.1.0-alpha8","@h-ai/cache":"0.1.0-alpha8","@h-ai/reldb":"0.1.0-alpha8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","rimraf":"^6.0.1","vitest":"^4.0.18","typescript":"^5.7.2","@types/node":"^25.1.0","@types/nodemailer":"^7.0.11"},"optionalDependencies":{"nodemailer":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/reach_0.1.0-alpha8_1775552609839_0.25226942299385224","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha9":{"name":"@h-ai/reach","version":"0.1.0-alpha9","license":"Apache-2.0","_id":"@h-ai/reach@0.1.0-alpha9","maintainers":[{"name":"gudaoxuri","email":"i@sunisle.org"}],"dist":{"shasum":"c01701259dfb2cc6c3f63f0242482fea238b82c7","tarball":"https://registry.npmjs.org/@h-ai/reach/-/reach-0.1.0-alpha9.tgz","fileCount":6,"integrity":"sha512-oC9K0ORHK/hxkbgSJfLuGAp6ImqLf9YXU7rbRSyXjCyVVGGG1M5xSmKNlPyZtoh/QyVhffjliolGqePAyyxBaw==","signatures":[{"sig":"MEQCICBEdK5BkKRJiHSkXaB/LrEHrnAE5YkGfRokpPaZZ6O2AiBTuEvVtjdlEDEUf2UX0gEKnRJCgcmkdpONQZYL+kQ0SQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":193111},"main":"./dist/index.js","type":"module","_from":"file:h-ai-reach-0.1.0-alpha9.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rimraf dist .turbo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gudaoxuri","email":"i@sunisle.org"},"_resolved":"/tmp/f28ec8ead2eae64f8900186c5b39a4ca/h-ai-reach-0.1.0-alpha9.tgz","_integrity":"sha512-oC9K0ORHK/hxkbgSJfLuGAp6ImqLf9YXU7rbRSyXjCyVVGGG1M5xSmKNlPyZtoh/QyVhffjliolGqePAyyxBaw==","_npmVersion":"10.8.2","description":"Hai Framework user reach module for email, SMS, and webhook channels.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.3.6","@h-ai/core":"0.1.0-alpha9","@h-ai/cache":"0.1.0-alpha9","@h-ai/reldb":"0.1.0-alpha9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","rimraf":"^6.0.1","vitest":"^4.0.18","typescript":"^5.7.2","@types/node":"^25.1.0","@types/nodemailer":"^7.0.11"},"optionalDependencies":{"nodemailer":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/reach_0.1.0-alpha9_1775746105945_0.18932631129414013","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.10":{"name":"@h-ai/reach","version":"0.1.0-alpha.10","license":"Apache-2.0","_id":"@h-ai/reach@0.1.0-alpha.10","maintainers":[{"name":"gudaoxuri","email":"i@sunisle.org"}],"dist":{"shasum":"66a276084d2417b5198137b92533839931d879a3","tarball":"https://registry.npmjs.org/@h-ai/reach/-/reach-0.1.0-alpha.10.tgz","fileCount":6,"integrity":"sha512-/2XL23cBwAVKG//jvEJ/7YPepU/2dVLb7wcsMZxORCqUVudrE+/yGHu1jmHa67usFSGCLO1GEWIS00mDBJzMmg==","signatures":[{"sig":"MEYCIQC0t+2KFF9r8E/QXgbyo1uG+Mw7AjCdQpIAuv9Gm8YHCAIhAOHETgY4aihTDlKIVjeZyFpIsRQ4ki1B3jNIYDSJ2Ftc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":193223},"main":"./dist/index.js","type":"module","_from":"file:h-ai-reach-0.1.0-alpha.10.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rimraf dist .turbo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gudaoxuri","email":"i@sunisle.org"},"_resolved":"/tmp/2ea2ce6d1f9a199f97ab1e7068b25fc6/h-ai-reach-0.1.0-alpha.10.tgz","_integrity":"sha512-/2XL23cBwAVKG//jvEJ/7YPepU/2dVLb7wcsMZxORCqUVudrE+/yGHu1jmHa67usFSGCLO1GEWIS00mDBJzMmg==","_npmVersion":"10.9.7","description":"Hai Framework user reach module for email, SMS, and webhook channels.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.3.6","@h-ai/core":"0.1.0-alpha.10","@h-ai/cache":"0.1.0-alpha.10","@h-ai/reldb":"0.1.0-alpha.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","rimraf":"^6.0.1","vitest":"^4.0.18","typescript":"^6.0.2","@types/node":"^25.1.0","@types/nodemailer":"^8.0.0"},"optionalDependencies":{"nodemailer":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/reach_0.1.0-alpha.10_1775817615659_0.8688036729403039","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.11":{"name":"@h-ai/reach","version":"0.1.0-alpha.11","license":"Apache-2.0","_id":"@h-ai/reach@0.1.0-alpha.11","maintainers":[{"name":"gudaoxuri","email":"i@sunisle.org"}],"dist":{"shasum":"a6ba8b95413e7b4f279bca4de30a193e39a156ab","tarball":"https://registry.npmjs.org/@h-ai/reach/-/reach-0.1.0-alpha.11.tgz","fileCount":6,"integrity":"sha512-9Ve5sCD6iY1Gpsb9XABN29MMpISORLeYCefno/N0tRKR2cGhaxigPpbTX60rrC7sh+qJk4vofVvfPXVQ9kS9Vg==","signatures":[{"sig":"MEUCIQDjsZpvTk3zt/JQ0+kNYy3+nIZSZBSfVuUpZgqoULSNcQIgBAvKJgag5EFAo5O1lCNSmWZHeX63VUUotOHHTW6vd6M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":193223},"main":"./dist/index.js","type":"module","_from":"file:h-ai-reach-0.1.0-alpha.11.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rimraf dist .turbo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gudaoxuri","email":"i@sunisle.org"},"_resolved":"/tmp/acfe29c229d39dadd73697bcb5377bc1/h-ai-reach-0.1.0-alpha.11.tgz","_integrity":"sha512-9Ve5sCD6iY1Gpsb9XABN29MMpISORLeYCefno/N0tRKR2cGhaxigPpbTX60rrC7sh+qJk4vofVvfPXVQ9kS9Vg==","_npmVersion":"10.9.7","description":"Hai Framework user reach module for email, SMS, and webhook channels.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.3.6","@h-ai/core":"0.1.0-alpha.11","@h-ai/cache":"0.1.0-alpha.11","@h-ai/reldb":"0.1.0-alpha.11"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","rimraf":"^6.0.1","vitest":"^4.0.18","typescript":"^6.0.2","@types/node":"^25.1.0","@types/nodemailer":"^8.0.0"},"optionalDependencies":{"nodemailer":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/reach_0.1.0-alpha.11_1776422330913_0.12360990468312627","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.12":{"name":"@h-ai/reach","version":"0.1.0-alpha.12","license":"Apache-2.0","_id":"@h-ai/reach@0.1.0-alpha.12","maintainers":[{"name":"gudaoxuri","email":"i@sunisle.org"}],"dist":{"shasum":"08ca4176dcfa298082652a2f3bd8ae792a1671e1","tarball":"https://registry.npmjs.org/@h-ai/reach/-/reach-0.1.0-alpha.12.tgz","fileCount":6,"integrity":"sha512-A0Y1MWYkXvlgUOV1y7s0EBbybCjP+920D2yKZMvVenuvJI25r3u+L/onR/cNQvUhdMZ/kLBB74El+XpQ9pfKAQ==","signatures":[{"sig":"MEYCIQCBdqwqsLH1ZUqNWQ5jtW8G95WYOwIDyhtnvfPNlJkSYAIhAIRg/ZOOx4TeNIZgXnmsBmISj0/To7YSg7sdWMKzoev3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":193223},"main":"./dist/index.js","type":"module","_from":"file:h-ai-reach-0.1.0-alpha.12.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rimraf dist .turbo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gudaoxuri","email":"i@sunisle.org"},"_resolved":"/tmp/c3771a7b64554b408bf2c0a53f2ac176/h-ai-reach-0.1.0-alpha.12.tgz","_integrity":"sha512-A0Y1MWYkXvlgUOV1y7s0EBbybCjP+920D2yKZMvVenuvJI25r3u+L/onR/cNQvUhdMZ/kLBB74El+XpQ9pfKAQ==","_npmVersion":"10.9.7","description":"Hai Framework user reach module for email, SMS, and webhook channels.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.3.6","@h-ai/core":"0.1.0-alpha.12","@h-ai/cache":"0.1.0-alpha.12","@h-ai/reldb":"0.1.0-alpha.12"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","rimraf":"^6.0.1","vitest":"^4.0.18","typescript":"^6.0.2","@types/node":"^25.1.0","@types/nodemailer":"^8.0.0"},"optionalDependencies":{"nodemailer":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/reach_0.1.0-alpha.12_1776864914473_0.0070948167950668495","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.13":{"name":"@h-ai/reach","version":"0.1.0-alpha.13","license":"Apache-2.0","_id":"@h-ai/reach@0.1.0-alpha.13","maintainers":[{"name":"gudaoxuri","email":"i@sunisle.org"}],"dist":{"shasum":"7046b8be83b5f3cfbc9554f745cb236ee7cfab34","tarball":"https://registry.npmjs.org/@h-ai/reach/-/reach-0.1.0-alpha.13.tgz","fileCount":6,"integrity":"sha512-iHYvW77lHCHEVcvlIJHLS8XTxvlbYiL4MWGgdMILpS0ZgIMdZ1JU9HHlPM4+sElSdFkdVIzcFgCNViH9W2ZQQA==","signatures":[{"sig":"MEYCIQC8LGd63PYA3kzKIVu619/YsonIohYrSL5ete8vaq+0sQIhAJh85MktfI5vWeAIlG8ArpzZITkd1oDJszvirMEtRcyq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":193223},"main":"./dist/index.js","type":"module","_from":"file:h-ai-reach-0.1.0-alpha.13.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rimraf dist .turbo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gudaoxuri","email":"i@sunisle.org"},"_resolved":"/tmp/a8f6e30b9490d0e7ddb6c0918dee1535/h-ai-reach-0.1.0-alpha.13.tgz","_integrity":"sha512-iHYvW77lHCHEVcvlIJHLS8XTxvlbYiL4MWGgdMILpS0ZgIMdZ1JU9HHlPM4+sElSdFkdVIzcFgCNViH9W2ZQQA==","_npmVersion":"10.9.7","description":"Hai Framework user reach module for email, SMS, and webhook channels.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.3.6","@h-ai/core":"0.1.0-alpha.13","@h-ai/cache":"0.1.0-alpha.13","@h-ai/reldb":"0.1.0-alpha.13"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","rimraf":"^6.0.1","vitest":"^4.0.18","typescript":"^6.0.2","@types/node":"^25.1.0","@types/nodemailer":"^8.0.0"},"optionalDependencies":{"nodemailer":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/reach_0.1.0-alpha.13_1777042807844_0.12266141780862627","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.15":{"name":"@h-ai/reach","version":"0.1.0-alpha.15","license":"Apache-2.0","_id":"@h-ai/reach@0.1.0-alpha.15","maintainers":[{"name":"gudaoxuri","email":"i@sunisle.org"}],"dist":{"shasum":"690019c095da9b1578c3d5d49b1609415d265fbd","tarball":"https://registry.npmjs.org/@h-ai/reach/-/reach-0.1.0-alpha.15.tgz","fileCount":6,"integrity":"sha512-Fa3+HsHZSdOSYaq5HF4ui3b8Tk62mFI6t9Y35yMj67b0PLvhUesg4drwi8D0VnH1Vmy0PO2RizcPmF3Ujdd72g==","signatures":[{"sig":"MEYCIQDZd0VyQ70pxhpMcxSMnzBDRGlDQPM640N/sDmZjRxwMgIhAJ6FM6JxRUHSQtdUSj3yfJiJ9HEzgkHl21jNhufY+UUE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":193223},"main":"./dist/index.js","type":"module","_from":"file:h-ai-reach-0.1.0-alpha.15.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rimraf dist .turbo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gudaoxuri","email":"i@sunisle.org"},"_resolved":"/tmp/2e10dd6e2de7a4ffd0c0be8b663011ab/h-ai-reach-0.1.0-alpha.15.tgz","_integrity":"sha512-Fa3+HsHZSdOSYaq5HF4ui3b8Tk62mFI6t9Y35yMj67b0PLvhUesg4drwi8D0VnH1Vmy0PO2RizcPmF3Ujdd72g==","_npmVersion":"10.9.8","description":"Hai Framework user reach module for email, SMS, and webhook channels.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^4.3.6","@h-ai/core":"0.1.0-alpha.15","@h-ai/cache":"0.1.0-alpha.15","@h-ai/reldb":"0.1.0-alpha.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","rimraf":"^6.0.1","vitest":"^4.0.18","typescript":"^6.0.2","@types/node":"^25.1.0","@types/nodemailer":"^8.0.0"},"optionalDependencies":{"nodemailer":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/reach_0.1.0-alpha.15_1779772887322_0.989964343427505","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.16":{"name":"@h-ai/reach","version":"0.1.0-alpha.16","license":"Apache-2.0","_id":"@h-ai/reach@0.1.0-alpha.16","maintainers":[{"name":"gudaoxuri","email":"i@sunisle.org"}],"dist":{"shasum":"fad8905cd95295a5c459a8e941cccfd65824d5eb","tarball":"https://registry.npmjs.org/@h-ai/reach/-/reach-0.1.0-alpha.16.tgz","fileCount":6,"integrity":"sha512-gZkLDjLDlxHkcpsu8m5mBU3VsmRRwrg/nCxSK7rVsC7amLWQAEb3tVFGP73UunusQhETSfo/xmAwsdBtFZ9nwQ==","signatures":[{"sig":"MEYCIQCghuRSga3JRp2rR9J2aylgUSiniYjFkGjD2gmXAVhYJgIhAKOUO7Mx6C3ZTRrcrjaFX3mRdzfqsOPGQYJUdmRy/f+E","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":193223},"main":"./dist/index.js","type":"module","_from":"file:h-ai-reach-0.1.0-alpha.16.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rimraf dist .turbo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gudaoxuri","email":"i@sunisle.org"},"_resolved":"/tmp/f17ef90fd2097323e0f0f0368eaa140e/h-ai-reach-0.1.0-alpha.16.tgz","_integrity":"sha512-gZkLDjLDlxHkcpsu8m5mBU3VsmRRwrg/nCxSK7rVsC7amLWQAEb3tVFGP73UunusQhETSfo/xmAwsdBtFZ9nwQ==","_npmVersion":"10.9.8","description":"Hai Framework user reach module for email, SMS, and webhook channels.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^4.3.6","@h-ai/core":"0.1.0-alpha.16","@h-ai/cache":"0.1.0-alpha.16","@h-ai/reldb":"0.1.0-alpha.16"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","rimraf":"^6.0.1","vitest":"^4.0.18","typescript":"^6.0.2","@types/node":"^25.1.0","@types/nodemailer":"^8.0.0"},"optionalDependencies":{"nodemailer":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/reach_0.1.0-alpha.16_1779786793494_0.302038887235641","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.18":{"name":"@h-ai/reach","version":"0.1.0-alpha.18","license":"Apache-2.0","_id":"@h-ai/reach@0.1.0-alpha.18","maintainers":[{"name":"gudaoxuri","email":"i@sunisle.org"}],"dist":{"shasum":"5a21d93103ded6da59003c1bda69103cb8a5250f","tarball":"https://registry.npmjs.org/@h-ai/reach/-/reach-0.1.0-alpha.18.tgz","fileCount":6,"integrity":"sha512-UbhRsmDvYF3VPgsIng+8d3oDxTQrhKM0uKII4UvOp0aONxXOlmqaduIXVCGzR8q2cXd4GGnawSU9QVm5qCMIpQ==","signatures":[{"sig":"MEUCID641wXCK/S4b1WouZM3Oo09F3W2NlesNhzP+9SyzwhxAiEAl9M8O+mAVUhKYuxRuEY8q4hkXm/CJp/THUisT7NJ6VM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":193222},"main":"./dist/index.js","type":"module","_from":"file:h-ai-reach-0.1.0-alpha.18.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rimraf dist .turbo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gudaoxuri","email":"i@sunisle.org"},"_resolved":"/tmp/4401ec670eebcf0463375ebd9ec9adb9/h-ai-reach-0.1.0-alpha.18.tgz","_integrity":"sha512-UbhRsmDvYF3VPgsIng+8d3oDxTQrhKM0uKII4UvOp0aONxXOlmqaduIXVCGzR8q2cXd4GGnawSU9QVm5qCMIpQ==","_npmVersion":"10.9.8","description":"Hai Framework user reach module for email, SMS, and webhook channels.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^4.4.3","@h-ai/core":"0.1.0-alpha.18","@h-ai/cache":"0.1.0-alpha.18","@h-ai/reldb":"0.1.0-alpha.18"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/nodemailer":"^8.0.0"},"optionalDependencies":{"nodemailer":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/reach_0.1.0-alpha.18_1779945551874_0.8704123945447959","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.19":{"name":"@h-ai/reach","version":"0.1.0-alpha.19","license":"Apache-2.0","_id":"@h-ai/reach@0.1.0-alpha.19","maintainers":[{"name":"gudaoxuri","email":"i@sunisle.org"}],"dist":{"shasum":"a2af19020ea8cfafb2ddf506fc34ba5023932b1e","tarball":"https://registry.npmjs.org/@h-ai/reach/-/reach-0.1.0-alpha.19.tgz","fileCount":6,"integrity":"sha512-wybWckzGUGU1AE3t5sVRlwF8nqWnd0blFqdOYwUOKWk68K62p3xY/gUIWpL+3DPMXYkxgQkaZAR6ALz/8wnTpQ==","signatures":[{"sig":"MEQCIAxXlUQ2NQdupzAoHCCBV3CzD6Gfqcdfr7jFEkxmKOhAAiAcZeVMibjFpZC6slcESDuzJPHNCfqJ6bfRYaaE6oVOhw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":222333},"main":"./dist/index.js","type":"module","_from":"file:h-ai-reach-0.1.0-alpha.19.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rimraf dist .turbo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gudaoxuri","email":"i@sunisle.org"},"_resolved":"/tmp/aa18bb1c6fe2889931fec72cd9cc6b17/h-ai-reach-0.1.0-alpha.19.tgz","_integrity":"sha512-wybWckzGUGU1AE3t5sVRlwF8nqWnd0blFqdOYwUOKWk68K62p3xY/gUIWpL+3DPMXYkxgQkaZAR6ALz/8wnTpQ==","_npmVersion":"10.9.8","description":"Hai Framework user reach module for email, SMS, and webhook channels.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^4.4.3","@h-ai/core":"0.1.0-alpha.19","@h-ai/cache":"0.1.0-alpha.19","@h-ai/reldb":"0.1.0-alpha.19"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/nodemailer":"^8.0.0"},"optionalDependencies":{"nodemailer":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/reach_0.1.0-alpha.19_1779977231934_0.472349506112703","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.20":{"name":"@h-ai/reach","version":"0.1.0-alpha.20","license":"Apache-2.0","_id":"@h-ai/reach@0.1.0-alpha.20","maintainers":[{"name":"gudaoxuri","email":"i@sunisle.org"}],"dist":{"shasum":"030e699cd10113cbebe2e5d17bd36643ba115158","tarball":"https://registry.npmjs.org/@h-ai/reach/-/reach-0.1.0-alpha.20.tgz","fileCount":6,"integrity":"sha512-53fWajr5OksIQJlNtyNcQeAiainVBJkofM1Dduy9kSTRe8679nfuWGQRvZHAeia332K4T887bknwPj7J11m9sg==","signatures":[{"sig":"MEQCIA3XA0bovy75UEbQRCH+ZazRC6EsWbcK5TR64isOL5XxAiAm1BnD4IrCUfoNykVoOMe4P+TEh4m+ettExae4IxmV+g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":222073},"main":"./dist/index.js","type":"module","_from":"file:h-ai-reach-0.1.0-alpha.20.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rimraf dist .turbo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gudaoxuri","email":"i@sunisle.org"},"_resolved":"/tmp/506ebafb50b006f0c22be01f2079add6/h-ai-reach-0.1.0-alpha.20.tgz","_integrity":"sha512-53fWajr5OksIQJlNtyNcQeAiainVBJkofM1Dduy9kSTRe8679nfuWGQRvZHAeia332K4T887bknwPj7J11m9sg==","_npmVersion":"10.9.8","description":"Hai Framework user reach module for email, SMS, and webhook channels.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^4.4.3","@h-ai/core":"0.1.0-alpha.20","@h-ai/cache":"0.1.0-alpha.20","@h-ai/reldb":"0.1.0-alpha.20"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/nodemailer":"^8.0.0"},"optionalDependencies":{"nodemailer":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/reach_0.1.0-alpha.20_1780061820078_0.6642312487797088","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.21":{"name":"@h-ai/reach","version":"0.1.0-alpha.21","license":"Apache-2.0","_id":"@h-ai/reach@0.1.0-alpha.21","maintainers":[{"name":"gudaoxuri","email":"i@sunisle.org"}],"dist":{"shasum":"19bada40fa7b2582541d81e3b332378d05de39e4","tarball":"https://registry.npmjs.org/@h-ai/reach/-/reach-0.1.0-alpha.21.tgz","fileCount":6,"integrity":"sha512-pIpqJCgqhgRII1s981FxeQI5qZc1dn2PO9Vg+1kJUGQxLXJitBUxrNL9K/Z43AnZGaqk1F1dg2IFFNcdJfAjMA==","signatures":[{"sig":"MEQCIFcgAKM2Ym1Nb36P+eIXA1VxxrDuTaxr/JumOmHdyq+AAiBFvIVEkhmpyRO+LbeHQcxkwA/alswF8BAW7zJD7ydn+g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":222073},"main":"./dist/index.js","type":"module","_from":"file:h-ai-reach-0.1.0-alpha.21.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rimraf dist .turbo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gudaoxuri","email":"i@sunisle.org"},"_resolved":"/tmp/d01dbbe9eccf7a8c043331dce854785f/h-ai-reach-0.1.0-alpha.21.tgz","_integrity":"sha512-pIpqJCgqhgRII1s981FxeQI5qZc1dn2PO9Vg+1kJUGQxLXJitBUxrNL9K/Z43AnZGaqk1F1dg2IFFNcdJfAjMA==","_npmVersion":"10.9.8","description":"Hai Framework user reach module for email, SMS, and webhook channels.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^4.4.3","@h-ai/core":"0.1.0-alpha.21","@h-ai/cache":"0.1.0-alpha.21","@h-ai/reldb":"0.1.0-alpha.21"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/nodemailer":"^8.0.0"},"optionalDependencies":{"nodemailer":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/reach_0.1.0-alpha.21_1780479500543_0.5246146938020579","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.22":{"name":"@h-ai/reach","version":"0.1.0-alpha.22","license":"Apache-2.0","_id":"@h-ai/reach@0.1.0-alpha.22","maintainers":[{"name":"gudaoxuri","email":"i@sunisle.org"}],"dist":{"shasum":"5b0cbd0118e5c377a62c1e9b84cf99a61edd50bb","tarball":"https://registry.npmjs.org/@h-ai/reach/-/reach-0.1.0-alpha.22.tgz","fileCount":6,"integrity":"sha512-Mz2tD4x+PKOByPmRqrWb43JJm0WGsQlWurhtNVSidkL7b3wWrKhneaqA59Vl3qBlvur0/fSKrJ0SHeK5tTgMRQ==","signatures":[{"sig":"MEYCIQCD9iuvLppVr8HixNB+n3zffW9P6BPKtQIvj8o6zZGMAwIhAOH6psCvYD3w6DhaPvwGdRgzG2Kw5bT46G82/PM/dcXF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":222073},"main":"./dist/index.js","type":"module","_from":"file:h-ai-reach-0.1.0-alpha.22.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rimraf dist .turbo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gudaoxuri","email":"i@sunisle.org"},"_resolved":"/tmp/f55be5f85ff668beda940d6c4af06875/h-ai-reach-0.1.0-alpha.22.tgz","_integrity":"sha512-Mz2tD4x+PKOByPmRqrWb43JJm0WGsQlWurhtNVSidkL7b3wWrKhneaqA59Vl3qBlvur0/fSKrJ0SHeK5tTgMRQ==","_npmVersion":"10.9.8","description":"Hai Framework user reach module for email, SMS, and webhook channels.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^4.4.3","@h-ai/core":"0.1.0-alpha.22","@h-ai/cache":"0.1.0-alpha.22","@h-ai/reldb":"0.1.0-alpha.22"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/nodemailer":"^8.0.0"},"optionalDependencies":{"nodemailer":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/reach_0.1.0-alpha.22_1780886606281_0.8534769558592223","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.23":{"name":"@h-ai/reach","version":"0.1.0-alpha.23","license":"Apache-2.0","_id":"@h-ai/reach@0.1.0-alpha.23","maintainers":[{"name":"gudaoxuri","email":"i@sunisle.org"}],"dist":{"shasum":"c847e480ba8d386255e9e3b341a95ecb8f630b00","tarball":"https://registry.npmjs.org/@h-ai/reach/-/reach-0.1.0-alpha.23.tgz","fileCount":6,"integrity":"sha512-U72/MNyqUTO7HmdPk1YAjul4ZJj5aY3pW4vwEVi60PyAMNlZOIHbxlLwgClrTpBJSSbpZ1cd2vexD8szFxC2Bg==","signatures":[{"sig":"MEQCIFRG2a+WYOAfqrVaoluxwbcZ/+tJtN77GioqK9x5flwRAiAtHcTzNtDq+LmRlVUaa3caLhtMB6qT9uLsnct+0mfQ9w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":222073},"main":"./dist/index.js","type":"module","_from":"file:h-ai-reach-0.1.0-alpha.23.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rimraf dist .turbo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gudaoxuri","email":"i@sunisle.org"},"_resolved":"/tmp/487695b9725fb0240867848e45fc4727/h-ai-reach-0.1.0-alpha.23.tgz","_integrity":"sha512-U72/MNyqUTO7HmdPk1YAjul4ZJj5aY3pW4vwEVi60PyAMNlZOIHbxlLwgClrTpBJSSbpZ1cd2vexD8szFxC2Bg==","_npmVersion":"10.9.8","description":"Hai Framework user reach module for email, SMS, and webhook channels.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^4.4.3","@h-ai/core":"0.1.0-alpha.23","@h-ai/cache":"0.1.0-alpha.23","@h-ai/reldb":"0.1.0-alpha.23"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/nodemailer":"^8.0.0"},"optionalDependencies":{"nodemailer":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/reach_0.1.0-alpha.23_1781166024596_0.8990179970053547","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.24":{"name":"@h-ai/reach","version":"0.1.0-alpha.24","license":"Apache-2.0","_id":"@h-ai/reach@0.1.0-alpha.24","maintainers":[{"name":"gudaoxuri","email":"i@sunisle.org"}],"dist":{"shasum":"369a23e6fe9fa5e4f3581e3f4eb07cd85a6b9e04","tarball":"https://registry.npmjs.org/@h-ai/reach/-/reach-0.1.0-alpha.24.tgz","fileCount":6,"integrity":"sha512-yD1qkDsq4/QbX5B6BHHfG0+/tuRnnSo8gAb9XolMrHU2HHv69kQZapoT7Vng/NmG/Nf2mOhkhwO5eNpmYh/CfQ==","signatures":[{"sig":"MEYCIQCD/XLUCmpcItwuxPEMylyyWvGOUZGkwn0GS2usoHN+rwIhAMxiFHlZNelBlTYqvRGbSRBVPTAFj9opZTdyAzWOZADE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":222073},"main":"./dist/index.js","type":"module","_from":"file:h-ai-reach-0.1.0-alpha.24.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rimraf dist .turbo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gudaoxuri","email":"i@sunisle.org"},"_resolved":"/tmp/e50dbda0fa8842e24e8994a9b160331e/h-ai-reach-0.1.0-alpha.24.tgz","_integrity":"sha512-yD1qkDsq4/QbX5B6BHHfG0+/tuRnnSo8gAb9XolMrHU2HHv69kQZapoT7Vng/NmG/Nf2mOhkhwO5eNpmYh/CfQ==","_npmVersion":"10.9.8","description":"Hai Framework user reach module for email, SMS, and webhook channels.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^4.4.3","@h-ai/core":"0.1.0-alpha.24","@h-ai/cache":"0.1.0-alpha.24","@h-ai/reldb":"0.1.0-alpha.24"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/nodemailer":"^8.0.0"},"optionalDependencies":{"nodemailer":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/reach_0.1.0-alpha.24_1781236235345_0.8366452468324044","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.25":{"name":"@h-ai/reach","version":"0.1.0-alpha.25","license":"Apache-2.0","_id":"@h-ai/reach@0.1.0-alpha.25","maintainers":[{"name":"gudaoxuri","email":"i@sunisle.org"}],"dist":{"shasum":"704365e60062d299e7d709b3cd1dd96667c4d6e6","tarball":"https://registry.npmjs.org/@h-ai/reach/-/reach-0.1.0-alpha.25.tgz","fileCount":6,"integrity":"sha512-Ql12R/pImxadQYUXQ04MfEFLl9vILvnIXXV+4XTjwq90mFQuCFi5gI/Yr3KNOPeyJtQes+Xl9Hs4XL2WqVRC/Q==","signatures":[{"sig":"MEQCIDTrn2Y2u8oDBA5inpddDNfJ2zoADoj3qqBq03nXlYmoAiBHuTEOtIxKwANm65FNiFitFditnVPc7JOsVZntu/8ojw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":222073},"main":"./dist/index.js","type":"module","_from":"file:h-ai-reach-0.1.0-alpha.25.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rimraf dist .turbo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gudaoxuri","email":"i@sunisle.org"},"_resolved":"/tmp/8b89da1e13f1ee02af294f891a219869/h-ai-reach-0.1.0-alpha.25.tgz","_integrity":"sha512-Ql12R/pImxadQYUXQ04MfEFLl9vILvnIXXV+4XTjwq90mFQuCFi5gI/Yr3KNOPeyJtQes+Xl9Hs4XL2WqVRC/Q==","_npmVersion":"10.9.8","description":"Hai Framework user reach module for email, SMS, and webhook channels.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^4.4.3","@h-ai/core":"0.1.0-alpha.25","@h-ai/cache":"0.1.0-alpha.25","@h-ai/reldb":"0.1.0-alpha.25"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/nodemailer":"^8.0.0"},"optionalDependencies":{"nodemailer":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/reach_0.1.0-alpha.25_1781605444901_0.03989197873693806","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.26":{"name":"@h-ai/reach","version":"0.1.0-alpha.26","license":"Apache-2.0","_id":"@h-ai/reach@0.1.0-alpha.26","maintainers":[{"name":"gudaoxuri","email":"i@sunisle.org"}],"dist":{"shasum":"9f7109ac8c1864cbe42ac6f98638aceeda4dede5","tarball":"https://registry.npmjs.org/@h-ai/reach/-/reach-0.1.0-alpha.26.tgz","fileCount":6,"integrity":"sha512-j5m7HnH6ldyfTiLdzPQ2HxTcK3LQ9cKbHGhRv8JNEDl7zJAyJZDL3MNtTu7VYI2VX757vrGDYbSb697GxNIwJQ==","signatures":[{"sig":"MEUCIQCjcEmDgvaC08/Rpv9J52T86IeAk0O8Lz9tZl9Njz+qWQIgGg7P5w/jVlCstgopQwcoD+s46UhWS3IyHrLoV1KBLL8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":222073},"main":"./dist/index.js","type":"module","_from":"file:h-ai-reach-0.1.0-alpha.26.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rimraf dist .turbo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gudaoxuri","email":"i@sunisle.org"},"_resolved":"/tmp/a4cf4c99e3dc65766695ae8bfa7f2f07/h-ai-reach-0.1.0-alpha.26.tgz","_integrity":"sha512-j5m7HnH6ldyfTiLdzPQ2HxTcK3LQ9cKbHGhRv8JNEDl7zJAyJZDL3MNtTu7VYI2VX757vrGDYbSb697GxNIwJQ==","_npmVersion":"10.9.8","description":"Hai Framework user reach module for email, SMS, and webhook channels.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^4.4.3","@h-ai/core":"0.1.0-alpha.26","@h-ai/cache":"0.1.0-alpha.26","@h-ai/reldb":"0.1.0-alpha.26"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/nodemailer":"^8.0.0"},"optionalDependencies":{"nodemailer":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/reach_0.1.0-alpha.26_1782262960775_0.10440244883522687","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.27":{"name":"@h-ai/reach","version":"0.1.0-alpha.27","license":"Apache-2.0","_id":"@h-ai/reach@0.1.0-alpha.27","maintainers":[{"name":"gudaoxuri","email":"i@sunisle.org"}],"dist":{"shasum":"bc9cc3021cddf0c4c28762597f097c1058cedd33","tarball":"https://registry.npmjs.org/@h-ai/reach/-/reach-0.1.0-alpha.27.tgz","fileCount":6,"integrity":"sha512-+p06/BCVoOmR1fkpIqt2hbglVhL4Ikfe1vI1bjaUi8OovPIx7EuG+UQuIKf00UxdqaBqcx9V+aAbTd/6bMIomA==","signatures":[{"sig":"MEUCIQCP7WlUJ7SpWO0IKA5yzltJQAfOdk9vvkzFjMiAIAIQIQIgGQ19deHNLa6wxxxKMWsNVbxBg9h3mMdyeJ0kCrkVMDg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":222073},"main":"./dist/index.js","type":"module","_from":"file:h-ai-reach-0.1.0-alpha.27.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rimraf dist .turbo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gudaoxuri","email":"i@sunisle.org"},"_resolved":"/tmp/c766a48ac93493bfda15b23232d49e01/h-ai-reach-0.1.0-alpha.27.tgz","_integrity":"sha512-+p06/BCVoOmR1fkpIqt2hbglVhL4Ikfe1vI1bjaUi8OovPIx7EuG+UQuIKf00UxdqaBqcx9V+aAbTd/6bMIomA==","_npmVersion":"10.9.8","description":"Hai Framework user reach module for email, SMS, and webhook channels.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"^4.4.3","@h-ai/core":"0.1.0-alpha.27","@h-ai/cache":"0.1.0-alpha.27","@h-ai/reldb":"0.1.0-alpha.27"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/nodemailer":"^8.0.0"},"optionalDependencies":{"nodemailer":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/reach_0.1.0-alpha.27_1782292973808_0.21814120250908697","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.28":{"name":"@h-ai/reach","version":"0.1.0-alpha.28","license":"Apache-2.0","_id":"@h-ai/reach@0.1.0-alpha.28","maintainers":[{"name":"gudaoxuri","email":"i@sunisle.org"}],"dist":{"shasum":"951d67e2acbf13c6d5f9b99ece9d1ae4597536dc","tarball":"https://registry.npmjs.org/@h-ai/reach/-/reach-0.1.0-alpha.28.tgz","fileCount":6,"integrity":"sha512-q5PhVn9tlC/q9I+kaCMTFfroPXmZw8HsayTbenjuzFtn0FWcH6VPnGsp5uYxn5nNmLMvmqEiimfDSpcYeoLkMg==","signatures":[{"sig":"MEUCIC9GK2971dLsPuy4UHewQlUUGrpfu+gqAD9o6gQ0hHR7AiEAnCGD1gGUQMZBfGARDuvPV0BBNKJXtRiv0X1nedNrlGo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":222073},"main":"./dist/index.js","type":"module","_from":"file:h-ai-reach-0.1.0-alpha.28.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rimraf dist .turbo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gudaoxuri","email":"i@sunisle.org"},"_resolved":"/tmp/365947e0631b571e114a952908a9a9b7/h-ai-reach-0.1.0-alpha.28.tgz","_integrity":"sha512-q5PhVn9tlC/q9I+kaCMTFfroPXmZw8HsayTbenjuzFtn0FWcH6VPnGsp5uYxn5nNmLMvmqEiimfDSpcYeoLkMg==","_npmVersion":"10.9.8","description":"Hai Framework user reach module for email, SMS, and webhook channels.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^4.4.3","@h-ai/core":"0.1.0-alpha.28","@h-ai/cache":"0.1.0-alpha.28","@h-ai/reldb":"0.1.0-alpha.28"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/nodemailer":"^8.0.0"},"optionalDependencies":{"nodemailer":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/reach_0.1.0-alpha.28_1782467864923_0.9361878946843267","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.29":{"name":"@h-ai/reach","version":"0.1.0-alpha.29","license":"Apache-2.0","_id":"@h-ai/reach@0.1.0-alpha.29","maintainers":[{"name":"gudaoxuri","email":"i@sunisle.org"}],"dist":{"shasum":"69cb695a3c99c4c20462959f2c042b8adf51919b","tarball":"https://registry.npmjs.org/@h-ai/reach/-/reach-0.1.0-alpha.29.tgz","fileCount":6,"integrity":"sha512-wAvhmMWx6XRuJRjuyBh4bcA9SEbX5Szkd8+v3A9dhnmBK8CVpb5rVJQjeJevZwzoKaiCMINcD2UOBdr6OYg7wg==","signatures":[{"sig":"MEQCIDEfWDMxVZ5/3oYvOifbl32MoeZzDASr1728mI7mXeGEAiAJxzA4hC9XtDQKUK2HN/z+f1oHe5Y8T1ZS3hCWthuQbA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":222073},"main":"./dist/index.js","type":"module","_from":"file:h-ai-reach-0.1.0-alpha.29.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rimraf dist .turbo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gudaoxuri","email":"i@sunisle.org"},"_resolved":"/tmp/0098b9f871a2d6ba8facfe9d5bcdf2c4/h-ai-reach-0.1.0-alpha.29.tgz","_integrity":"sha512-wAvhmMWx6XRuJRjuyBh4bcA9SEbX5Szkd8+v3A9dhnmBK8CVpb5rVJQjeJevZwzoKaiCMINcD2UOBdr6OYg7wg==","_npmVersion":"10.9.8","description":"Hai Framework user reach module for email, SMS, and webhook channels.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^4.4.3","@h-ai/core":"0.1.0-alpha.29","@h-ai/cache":"0.1.0-alpha.29","@h-ai/reldb":"0.1.0-alpha.29"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/nodemailer":"^8.0.0"},"optionalDependencies":{"nodemailer":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/reach_0.1.0-alpha.29_1782782640328_0.6951851075443651","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.30":{"name":"@h-ai/reach","version":"0.1.0-alpha.30","license":"Apache-2.0","_id":"@h-ai/reach@0.1.0-alpha.30","maintainers":[{"name":"gudaoxuri","email":"i@sunisle.org"}],"dist":{"shasum":"146f54007098cfefefbd0c6a78b091a8475d0056","tarball":"https://registry.npmjs.org/@h-ai/reach/-/reach-0.1.0-alpha.30.tgz","fileCount":6,"integrity":"sha512-WuSAeRZQ/3MJlQ1ki6aL3KBGRX1Wvem0wl+H9Hzcv9/NXZc58Mupw1m7qf1Z3WidYNIF0s4hOVIEF7NiN6e2zA==","signatures":[{"sig":"MEUCIQC8a5mxt6QlgztQ1l1nT2qG5wibr3tACCrZzwZ+itHJJAIgQQ85FDhnZy0185Uf+lGKMPrkqzxT3qDjRp5JIIHYqRs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":222073},"main":"./dist/index.js","type":"module","_from":"file:h-ai-reach-0.1.0-alpha.30.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rimraf dist .turbo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gudaoxuri","email":"i@sunisle.org"},"_resolved":"/tmp/4b5bc0d5316ae494a6d53d18f88c77a8/h-ai-reach-0.1.0-alpha.30.tgz","_integrity":"sha512-WuSAeRZQ/3MJlQ1ki6aL3KBGRX1Wvem0wl+H9Hzcv9/NXZc58Mupw1m7qf1Z3WidYNIF0s4hOVIEF7NiN6e2zA==","_npmVersion":"10.9.8","description":"Hai Framework user reach module for email, SMS, and webhook channels.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"zod":"^4.4.3","@h-ai/core":"0.1.0-alpha.30","@h-ai/cache":"0.1.0-alpha.30","@h-ai/reldb":"0.1.0-alpha.30"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/nodemailer":"^8.0.0"},"optionalDependencies":{"nodemailer":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/reach_0.1.0-alpha.30_1782808000102_0.8207839329689788","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.31":{"name":"@h-ai/reach","version":"0.1.0-alpha.31","license":"Apache-2.0","_id":"@h-ai/reach@0.1.0-alpha.31","maintainers":[{"name":"gudaoxuri","email":"i@sunisle.org"}],"dist":{"shasum":"0488d5b7873798245d76981977ed794d9097b0c9","tarball":"https://registry.npmjs.org/@h-ai/reach/-/reach-0.1.0-alpha.31.tgz","fileCount":6,"integrity":"sha512-C18MBxikrMF/6VpBDGnLFkObAyqjNzx9w7/aTEXizFunjT+iIfIkNSNuiz8TDwioiYpVxbUFkkW9EUORg+nmig==","signatures":[{"sig":"MEUCIFVIyRkL8zR4YBUHu6JHdT5ISpzqVBjQJmLHfuABJcR2AiEA/dPEDyflfSWFXC8OMPGOATFGkr1okfujlR/x9wX6cek=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":222073},"main":"./dist/index.js","type":"module","_from":"file:h-ai-reach-0.1.0-alpha.31.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rimraf dist .turbo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gudaoxuri","email":"i@sunisle.org"},"_resolved":"/tmp/f6b70f12c2c505e94b3bc44e7cc94797/h-ai-reach-0.1.0-alpha.31.tgz","_integrity":"sha512-C18MBxikrMF/6VpBDGnLFkObAyqjNzx9w7/aTEXizFunjT+iIfIkNSNuiz8TDwioiYpVxbUFkkW9EUORg+nmig==","_npmVersion":"10.9.8","description":"Hai Framework user reach module for email, SMS, and webhook channels.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","@h-ai/core":"0.1.0-alpha.31","@h-ai/cache":"0.1.0-alpha.31","@h-ai/reldb":"0.1.0-alpha.31"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/nodemailer":"^8.0.0"},"optionalDependencies":{"nodemailer":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/reach_0.1.0-alpha.31_1783038035174_0.7101205812625566","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.32":{"name":"@h-ai/reach","version":"0.1.0-alpha.32","license":"Apache-2.0","_id":"@h-ai/reach@0.1.0-alpha.32","maintainers":[{"name":"gudaoxuri","email":"i@sunisle.org"}],"dist":{"shasum":"383a91d5e9d199b4d1f321663ee16bc34eb6513b","tarball":"https://registry.npmjs.org/@h-ai/reach/-/reach-0.1.0-alpha.32.tgz","fileCount":6,"integrity":"sha512-p6Gxb8GYXu03clXnZJitc/aTZWle1teiK096fRHn4xsVdsBy5P+ptEDV2ykC4/D383tHuVYZuyAILfrADkWDJA==","signatures":[{"sig":"MEUCIHU19hoiHjm9p8Jqzvk+jq9Q7nZMFPbwnFlIuxQuUH4pAiEArtboEMpruWj3g/uxLlj9qyvtoa0H2XtVJDw/JYpDWC4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":222073},"main":"./dist/index.js","type":"module","_from":"file:h-ai-reach-0.1.0-alpha.32.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rimraf dist .turbo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gudaoxuri","email":"i@sunisle.org"},"_resolved":"/tmp/96136c638b9fb1200461340781f784d7/h-ai-reach-0.1.0-alpha.32.tgz","_integrity":"sha512-p6Gxb8GYXu03clXnZJitc/aTZWle1teiK096fRHn4xsVdsBy5P+ptEDV2ykC4/D383tHuVYZuyAILfrADkWDJA==","_npmVersion":"10.9.8","description":"Hai Framework user reach module for email, SMS, and webhook channels.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","@h-ai/core":"0.1.0-alpha.32","@h-ai/cache":"0.1.0-alpha.32","@h-ai/reldb":"0.1.0-alpha.32"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/nodemailer":"^8.0.0"},"optionalDependencies":{"nodemailer":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/reach_0.1.0-alpha.32_1783055849204_0.19795325626918503","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.33":{"name":"@h-ai/reach","version":"0.1.0-alpha.33","license":"Apache-2.0","_id":"@h-ai/reach@0.1.0-alpha.33","maintainers":[{"name":"gudaoxuri","email":"i@sunisle.org"}],"dist":{"shasum":"cfdb8c33d4cb36cc87b3507546fc6e8a228d80a4","tarball":"https://registry.npmjs.org/@h-ai/reach/-/reach-0.1.0-alpha.33.tgz","fileCount":6,"integrity":"sha512-E5y50tXG/I9VVGp+/hQqEvIpg8070vx+APypHBkYy3vnRZw9VRu550OdgGlg1p4/z4VC00ZOKvqMEFExVM2Qbg==","signatures":[{"sig":"MEQCIAg8aQyp5pI7uzmQPifFFla/8grr1f4Xp2bGs3fCG06YAiBKhvQYRJzIC5YsMLvlqFshrx+v5zCTRcgBm5z5A9/C6Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":222073},"main":"./dist/index.js","type":"module","_from":"file:h-ai-reach-0.1.0-alpha.33.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rimraf dist .turbo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gudaoxuri","email":"i@sunisle.org"},"_resolved":"/tmp/87b5b90d981564b873353d6e20e4afc5/h-ai-reach-0.1.0-alpha.33.tgz","_integrity":"sha512-E5y50tXG/I9VVGp+/hQqEvIpg8070vx+APypHBkYy3vnRZw9VRu550OdgGlg1p4/z4VC00ZOKvqMEFExVM2Qbg==","_npmVersion":"10.9.8","description":"Hai Framework user reach module for email, SMS, and webhook channels.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","@h-ai/core":"0.1.0-alpha.33","@h-ai/cache":"0.1.0-alpha.33","@h-ai/reldb":"0.1.0-alpha.33"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/nodemailer":"^8.0.0"},"optionalDependencies":{"nodemailer":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/reach_0.1.0-alpha.33_1783153148053_0.0204178924997942","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.34":{"name":"@h-ai/reach","version":"0.1.0-alpha.34","license":"Apache-2.0","_id":"@h-ai/reach@0.1.0-alpha.34","maintainers":[{"name":"gudaoxuri","email":"i@sunisle.org"}],"dist":{"shasum":"aa2b6e68e465f7362d2ef75159fc677c4b989805","tarball":"https://registry.npmjs.org/@h-ai/reach/-/reach-0.1.0-alpha.34.tgz","fileCount":6,"integrity":"sha512-g47sYbKJNJ6YHtSekjJMMQBd9hHGGViqOtD1rWl9t6OCxKe1H5Merte8WLbWKXZw4+7rKm6dtBb7wPwvp3zjXw==","signatures":[{"sig":"MEQCICy/lH8Fk7kxb3dpG6emNr2iJKYADm5PB81kEKnyayVxAiBkNQQAGfVzKo9TMGm4yOjb//SpYN8eoDFKokxAxqO3VQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":222073},"main":"./dist/index.js","type":"module","_from":"file:h-ai-reach-0.1.0-alpha.34.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rimraf dist .turbo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gudaoxuri","email":"i@sunisle.org"},"_resolved":"/tmp/ae1fbc5d4478918ad7abb4744f1e6ae3/h-ai-reach-0.1.0-alpha.34.tgz","_integrity":"sha512-g47sYbKJNJ6YHtSekjJMMQBd9hHGGViqOtD1rWl9t6OCxKe1H5Merte8WLbWKXZw4+7rKm6dtBb7wPwvp3zjXw==","_npmVersion":"10.9.8","description":"Hai Framework user reach module for email, SMS, and webhook channels.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","@h-ai/core":"0.1.0-alpha.34","@h-ai/cache":"0.1.0-alpha.34","@h-ai/reldb":"0.1.0-alpha.34"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/nodemailer":"^8.0.0"},"optionalDependencies":{"nodemailer":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/reach_0.1.0-alpha.34_1783958443337_0.8824246572985375","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.35":{"name":"@h-ai/reach","version":"0.1.0-alpha.35","license":"Apache-2.0","_id":"@h-ai/reach@0.1.0-alpha.35","maintainers":[{"name":"gudaoxuri","email":"i@sunisle.org"}],"dist":{"shasum":"397365b359e86ae7af2220d1c5d59a245544bf62","tarball":"https://registry.npmjs.org/@h-ai/reach/-/reach-0.1.0-alpha.35.tgz","fileCount":6,"integrity":"sha512-hyR+QxQ6jOy+xljTUqj/TKTv47eihRfYDkFrc9HR8mtbLPOpE2wgs71x3v+XPaweXw+vfi2mXxOF1+XkX9JiAw==","signatures":[{"sig":"MEYCIQCo0VqGVk05T1rA2FrSpVmcnB9dJYcxh/EkcLE3YlcRmgIhAKrGKOSjVkOG8mzxVJEUEX80qhOStQzxMpqdVJmpKhsx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":222073},"main":"./dist/index.js","type":"module","_from":"file:h-ai-reach-0.1.0-alpha.35.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rimraf dist .turbo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gudaoxuri","email":"i@sunisle.org"},"_resolved":"/tmp/dcda8cf7d813b74a49affca097d1eb89/h-ai-reach-0.1.0-alpha.35.tgz","_integrity":"sha512-hyR+QxQ6jOy+xljTUqj/TKTv47eihRfYDkFrc9HR8mtbLPOpE2wgs71x3v+XPaweXw+vfi2mXxOF1+XkX9JiAw==","_npmVersion":"10.9.8","description":"Hai Framework user reach module for email, SMS, and webhook channels.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","@h-ai/core":"0.1.0-alpha.35","@h-ai/cache":"0.1.0-alpha.35","@h-ai/reldb":"0.1.0-alpha.35"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/nodemailer":"^8.0.0"},"optionalDependencies":{"nodemailer":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/reach_0.1.0-alpha.35_1784018479501_0.4731434089025748","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.36":{"name":"@h-ai/reach","version":"0.1.0-alpha.36","license":"Apache-2.0","_id":"@h-ai/reach@0.1.0-alpha.36","maintainers":[{"name":"gudaoxuri","email":"i@sunisle.org"}],"dist":{"shasum":"a0e319892e3ecd310222906acd8e4c9f068b1bfa","tarball":"https://registry.npmjs.org/@h-ai/reach/-/reach-0.1.0-alpha.36.tgz","fileCount":6,"integrity":"sha512-1kx0oXleb1vr9ak1l16u8lAEONyRFcjEXBNVktp2z9jgsn0i3IOGWLqXJmIdU+TDX8vFgxx5W7QEW//V18u5Hg==","signatures":[{"sig":"MEYCIQC3dBkp+W7QYYGAGMk9UOzD6mBE0Jt28p6yBAqtWyty7QIhAKUKe9NednjbzHLNxtZ25t8G2mXJxXsomejvlzprZaXX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":222073},"main":"./dist/index.js","type":"module","_from":"file:h-ai-reach-0.1.0-alpha.36.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rimraf dist .turbo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gudaoxuri","email":"i@sunisle.org"},"_resolved":"/tmp/48fb788dff4fe7679ed5453194e7f12b/h-ai-reach-0.1.0-alpha.36.tgz","_integrity":"sha512-1kx0oXleb1vr9ak1l16u8lAEONyRFcjEXBNVktp2z9jgsn0i3IOGWLqXJmIdU+TDX8vFgxx5W7QEW//V18u5Hg==","_npmVersion":"10.9.8","description":"Hai Framework user reach module for email, SMS, and webhook channels.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","@h-ai/core":"0.1.0-alpha.36","@h-ai/cache":"0.1.0-alpha.36","@h-ai/reldb":"0.1.0-alpha.36"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/nodemailer":"^8.0.0"},"optionalDependencies":{"nodemailer":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/reach_0.1.0-alpha.36_1784046706797_0.46832539361782555","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.37":{"name":"@h-ai/reach","version":"0.1.0-alpha.37","license":"Apache-2.0","_id":"@h-ai/reach@0.1.0-alpha.37","maintainers":[{"name":"gudaoxuri","email":"i@sunisle.org"}],"dist":{"shasum":"c79c63a7bd1d8c3eef6ebef0567432cea4f0f882","tarball":"https://registry.npmjs.org/@h-ai/reach/-/reach-0.1.0-alpha.37.tgz","fileCount":6,"integrity":"sha512-5yuDP9YblZMAnAbaq1oXuKGyriZPzuM/mZj22aX2GImCmTBB4krbxEJGKVfIilfSqJ5MzdQSX+eKKF1iLiSHfg==","signatures":[{"sig":"MEQCIDnx0z8oboWi1GMmTwIz/GTd/5KDVp/zOnkLGg89Wx0rAiAGhYDC+M+4u+A/XTmcg2wnVggVqsjbyKy9onRHS9jX6g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":223089},"main":"./dist/index.js","type":"module","_from":"file:h-ai-reach-0.1.0-alpha.37.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rimraf dist .turbo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gudaoxuri","email":"i@sunisle.org"},"_resolved":"/tmp/e2c603c357fe93d3ad211efc14f27f25/h-ai-reach-0.1.0-alpha.37.tgz","_integrity":"sha512-5yuDP9YblZMAnAbaq1oXuKGyriZPzuM/mZj22aX2GImCmTBB4krbxEJGKVfIilfSqJ5MzdQSX+eKKF1iLiSHfg==","_npmVersion":"10.9.8","description":"Hai Framework user reach module for email, SMS, and webhook channels.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","@h-ai/core":"0.1.0-alpha.37","@h-ai/cache":"0.1.0-alpha.37","@h-ai/reldb":"0.1.0-alpha.37"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/nodemailer":"^8.0.0"},"optionalDependencies":{"nodemailer":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/reach_0.1.0-alpha.37_1784119416267_0.5899876123864203","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.38":{"name":"@h-ai/reach","version":"0.1.0-alpha.38","license":"Apache-2.0","_id":"@h-ai/reach@0.1.0-alpha.38","maintainers":[{"name":"gudaoxuri","email":"i@sunisle.org"}],"dist":{"shasum":"87d8aef52719207866bc72537ad8f4c78db4a74f","tarball":"https://registry.npmjs.org/@h-ai/reach/-/reach-0.1.0-alpha.38.tgz","fileCount":6,"integrity":"sha512-rQCM6OD6MQ5jGZSjceBOOAIw97z8nS+uwZRpSlZ3X2V9MtYpMVptuZXlCQnSlaNmmZdaqgcOUb+/TwAbWTpZ1Q==","signatures":[{"sig":"MEYCIQDnJyEhZ6XHVjgLAqwX2FrvRxsvSZTRQbj25lXltK03VgIhAOo8LPgqx7HSiQnSanZa33FKoXKmPnsCMoAMtlDuB43+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":223089},"main":"./dist/index.js","type":"module","_from":"file:h-ai-reach-0.1.0-alpha.38.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rimraf dist .turbo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gudaoxuri","email":"i@sunisle.org"},"_resolved":"/tmp/9d4bc1bedb4a0ca956a85df9990332b2/h-ai-reach-0.1.0-alpha.38.tgz","_integrity":"sha512-rQCM6OD6MQ5jGZSjceBOOAIw97z8nS+uwZRpSlZ3X2V9MtYpMVptuZXlCQnSlaNmmZdaqgcOUb+/TwAbWTpZ1Q==","_npmVersion":"10.9.8","description":"Hai Framework user reach module for email, SMS, and webhook channels.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","@h-ai/core":"0.1.0-alpha.38","@h-ai/cache":"0.1.0-alpha.38","@h-ai/reldb":"0.1.0-alpha.38"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/nodemailer":"^8.0.0"},"optionalDependencies":{"nodemailer":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/reach_0.1.0-alpha.38_1784192495668_0.07401407015647266","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.39":{"name":"@h-ai/reach","version":"0.1.0-alpha.39","license":"Apache-2.0","_id":"@h-ai/reach@0.1.0-alpha.39","maintainers":[{"name":"gudaoxuri","email":"i@sunisle.org"}],"dist":{"shasum":"109594ac6f1595a5cc59fbbf495176b734ce11b2","tarball":"https://registry.npmjs.org/@h-ai/reach/-/reach-0.1.0-alpha.39.tgz","fileCount":6,"integrity":"sha512-1MSHFziWvygpJH9CVCPRv8H0aoLunauHUVyRLXMfxux0Iq7JbpAknV1pLORjcmuZqcfPL7IBJ89b1YNGiFIBug==","signatures":[{"sig":"MEQCICdViYPeQ5exGKkWph6TQ1W4MM0nmyJVKNiFmvoe+EsJAiAWpijuGf0zjzdVn5YS01GEc6pyFRTaI+3apyORWr5pEg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":223089},"main":"./dist/index.js","type":"module","_from":"file:h-ai-reach-0.1.0-alpha.39.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rimraf dist .turbo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gudaoxuri","email":"i@sunisle.org"},"_resolved":"/tmp/a5834308f26c390a958cb1d88ca24f56/h-ai-reach-0.1.0-alpha.39.tgz","_integrity":"sha512-1MSHFziWvygpJH9CVCPRv8H0aoLunauHUVyRLXMfxux0Iq7JbpAknV1pLORjcmuZqcfPL7IBJ89b1YNGiFIBug==","_npmVersion":"10.9.8","description":"Hai Framework user reach module for email, SMS, and webhook channels.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","@h-ai/core":"0.1.0-alpha.39","@h-ai/cache":"0.1.0-alpha.39","@h-ai/reldb":"0.1.0-alpha.39"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/nodemailer":"^8.0.0"},"optionalDependencies":{"nodemailer":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/reach_0.1.0-alpha.39_1784274136218_0.7854825296156163","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.40":{"name":"@h-ai/reach","version":"0.1.0-alpha.40","license":"Apache-2.0","_id":"@h-ai/reach@0.1.0-alpha.40","maintainers":[{"name":"gudaoxuri","email":"i@sunisle.org"}],"dist":{"shasum":"c287106efd7ea8a5dae9749c6c9944ed88ebc3d7","tarball":"https://registry.npmjs.org/@h-ai/reach/-/reach-0.1.0-alpha.40.tgz","fileCount":6,"integrity":"sha512-UvNEkZUm1cqFKWr1unuidt7/xJHaHvzTAml3Kv94DoWWPr2PEh0PDpSiHDlZBsF24KRPE+ZO943BUCvJV4hqew==","signatures":[{"sig":"MEUCIQCflnm0W7OgjP4OJdficJEeO81ly1yE8KbJU3UnpB2IsAIgLGQcZMr5VA8ECs++5uaeXNKZb0RBylvuLXF+QxPXlrQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":223089},"main":"./dist/index.js","type":"module","_from":"file:h-ai-reach-0.1.0-alpha.40.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rimraf dist .turbo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gudaoxuri","email":"i@sunisle.org"},"_resolved":"/tmp/7125d4397f5fac023a42052dd86e3243/h-ai-reach-0.1.0-alpha.40.tgz","_integrity":"sha512-UvNEkZUm1cqFKWr1unuidt7/xJHaHvzTAml3Kv94DoWWPr2PEh0PDpSiHDlZBsF24KRPE+ZO943BUCvJV4hqew==","_npmVersion":"10.9.8","description":"Hai Framework user reach module for email, SMS, and webhook channels.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","@h-ai/core":"0.1.0-alpha.40","@h-ai/cache":"0.1.0-alpha.40","@h-ai/reldb":"0.1.0-alpha.40"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/nodemailer":"^8.0.0"},"optionalDependencies":{"nodemailer":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/reach_0.1.0-alpha.40_1784772463915_0.6896749470280286","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.41":{"name":"@h-ai/reach","version":"0.1.0-alpha.41","license":"Apache-2.0","_id":"@h-ai/reach@0.1.0-alpha.41","maintainers":[{"name":"gudaoxuri","email":"i@sunisle.org"}],"dist":{"shasum":"6e9cde114618b3a6af5e6c46f2823391fc60ba16","tarball":"https://registry.npmjs.org/@h-ai/reach/-/reach-0.1.0-alpha.41.tgz","fileCount":6,"integrity":"sha512-Z/bmDTKm890xlhVrWmcslQ25ebuaipmlFGbaNx65G7qCXddRield8rremF6gci81BkGOK7CXBn/jOfWtT6uBMQ==","signatures":[{"sig":"MEQCIFVlMsQoaVhc7QTnbGm+ilag4Jq7Pug8CSUahEjU6SUYAiBgGiNa2HDmg+WSWcqaEnuUqsHzlYw8FZu6T0heFFxegA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":223089},"main":"./dist/index.js","type":"module","_from":"file:h-ai-reach-0.1.0-alpha.41.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rimraf dist .turbo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gudaoxuri","email":"i@sunisle.org"},"_resolved":"/tmp/75f2659a6eeca20ca817ea7191a4f9e3/h-ai-reach-0.1.0-alpha.41.tgz","_integrity":"sha512-Z/bmDTKm890xlhVrWmcslQ25ebuaipmlFGbaNx65G7qCXddRield8rremF6gci81BkGOK7CXBn/jOfWtT6uBMQ==","_npmVersion":"10.9.8","description":"Hai Framework user reach module for email, SMS, and webhook channels.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","@h-ai/core":"0.1.0-alpha.41","@h-ai/cache":"0.1.0-alpha.41","@h-ai/reldb":"0.1.0-alpha.41"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/nodemailer":"^8.0.0"},"optionalDependencies":{"nodemailer":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/reach_0.1.0-alpha.41_1785203194053_0.8345409565588899","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.42":{"name":"@h-ai/reach","version":"0.1.0-alpha.42","license":"Apache-2.0","_id":"@h-ai/reach@0.1.0-alpha.42","maintainers":[{"name":"gudaoxuri","email":"i@sunisle.org"}],"dist":{"shasum":"f13c4008534227f40015dd07e553b71374a0f3dd","tarball":"https://registry.npmjs.org/@h-ai/reach/-/reach-0.1.0-alpha.42.tgz","fileCount":6,"integrity":"sha512-UAhZMpMy6pP/aNI5mF7ao5I6HkhctoBodI4f3ksEg73aPYK3bmiURrvgcwkfNquWlVM7ls4U1gKG6sgVTZ8Ngw==","signatures":[{"sig":"MEUCIQDqVV4CE6On1rGIwd2YoNWE9BUnMHYT0SGxvqHx/IM9CQIgFTyasvntW8v/qerLgnbOc2g6TQjKRj3fxF3+gQZ2P/U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":223089},"main":"./dist/index.js","type":"module","_from":"file:h-ai-reach-0.1.0-alpha.42.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rimraf dist .turbo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gudaoxuri","email":"i@sunisle.org"},"_resolved":"/tmp/63845ef3257141473d1d41de7d68e428/h-ai-reach-0.1.0-alpha.42.tgz","_integrity":"sha512-UAhZMpMy6pP/aNI5mF7ao5I6HkhctoBodI4f3ksEg73aPYK3bmiURrvgcwkfNquWlVM7ls4U1gKG6sgVTZ8Ngw==","_npmVersion":"10.9.8","description":"Hai Framework user reach module for email, SMS, and webhook channels.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","@h-ai/core":"0.1.0-alpha.42","@h-ai/cache":"0.1.0-alpha.42","@h-ai/reldb":"0.1.0-alpha.42"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/nodemailer":"^8.0.0"},"optionalDependencies":{"nodemailer":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/reach_0.1.0-alpha.42_1785210466504_0.7411650952551421","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.43":{"name":"@h-ai/reach","version":"0.1.0-alpha.43","license":"Apache-2.0","_id":"@h-ai/reach@0.1.0-alpha.43","maintainers":[{"name":"gudaoxuri","email":"i@sunisle.org"}],"dist":{"shasum":"c6ff7c8a55a029278adb2d157a91831587cc48ff","tarball":"https://registry.npmjs.org/@h-ai/reach/-/reach-0.1.0-alpha.43.tgz","fileCount":6,"integrity":"sha512-s8LF40s/zorG57UaB5otwiW1ojIhjA4di/E1KWWPKkxVUqCT7tbO/txSy2xZfaR65Py68QEtYuaGcdcAmZT7cw==","signatures":[{"sig":"MEUCIQDx7310w6vktpgKZ8bGjyN9LRU4K+szsIafRNJl2QzgtAIgTyopPRbYYdj64umbsmpcy0TgFF/bHwC3ZngclVsyI8k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":223089},"main":"./dist/index.js","type":"module","_from":"file:h-ai-reach-0.1.0-alpha.43.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rimraf dist .turbo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gudaoxuri","email":"i@sunisle.org"},"_resolved":"/tmp/47aa96396dd918b1160c04c043125535/h-ai-reach-0.1.0-alpha.43.tgz","_integrity":"sha512-s8LF40s/zorG57UaB5otwiW1ojIhjA4di/E1KWWPKkxVUqCT7tbO/txSy2xZfaR65Py68QEtYuaGcdcAmZT7cw==","_npmVersion":"10.9.8","description":"Hai Framework user reach module for email, SMS, and webhook channels.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","@h-ai/core":"0.1.0-alpha.43","@h-ai/cache":"0.1.0-alpha.43","@h-ai/reldb":"0.1.0-alpha.43"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/nodemailer":"^8.0.0"},"optionalDependencies":{"nodemailer":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/reach_0.1.0-alpha.43_1785304315059_0.11604027786451243","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.44":{"name":"@h-ai/reach","version":"0.1.0-alpha.44","license":"Apache-2.0","_id":"@h-ai/reach@0.1.0-alpha.44","maintainers":[{"name":"gudaoxuri","email":"i@sunisle.org"}],"dist":{"shasum":"e42a5bee0f053a3820ed903468631f3b360a43a2","tarball":"https://registry.npmjs.org/@h-ai/reach/-/reach-0.1.0-alpha.44.tgz","fileCount":6,"integrity":"sha512-Ibvm9IWwGpmD6FIGfObPazcLevjCyhmOyBm5CDLp1GzatcyJvTydRdPUkHweppTKEb7frUB7wbXWcOifiyRqGA==","signatures":[{"sig":"MEYCIQDKSVQBhfzIwkjfXMOuXLZT8OIPaK6Sh/cUW23vkoMJhAIhAMw27FtwqEi4tIE6q7paZnzu8HzocqeLrNa8XO/W/yDJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":223089},"main":"./dist/index.js","type":"module","_from":"file:h-ai-reach-0.1.0-alpha.44.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rimraf dist .turbo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gudaoxuri","email":"i@sunisle.org"},"_resolved":"/tmp/66a67dcbc9902fad5bbc9d961d8d2677/h-ai-reach-0.1.0-alpha.44.tgz","_integrity":"sha512-Ibvm9IWwGpmD6FIGfObPazcLevjCyhmOyBm5CDLp1GzatcyJvTydRdPUkHweppTKEb7frUB7wbXWcOifiyRqGA==","_npmVersion":"10.9.8","description":"Hai Framework user reach module for email, SMS, and webhook channels.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","@h-ai/core":"0.1.0-alpha.44","@h-ai/cache":"0.1.0-alpha.44","@h-ai/reldb":"0.1.0-alpha.44"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/nodemailer":"^8.0.0"},"optionalDependencies":{"nodemailer":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/reach_0.1.0-alpha.44_1785376329363_0.6475353582929009","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.45":{"name":"@h-ai/reach","version":"0.1.0-alpha.45","license":"Apache-2.0","_id":"@h-ai/reach@0.1.0-alpha.45","maintainers":[{"name":"gudaoxuri","email":"i@sunisle.org"}],"dist":{"shasum":"9307ffeaca46a11a7a3e3ed4eac81419fdb46269","tarball":"https://registry.npmjs.org/@h-ai/reach/-/reach-0.1.0-alpha.45.tgz","fileCount":6,"integrity":"sha512-7mjH+XhmtuHgONga+2k91eqT2kJov6KmAzATKXaUQzeFMNj6Nz7vc7IAAU/xlu8yM34FFI0nx6+bjltBzlOZnw==","signatures":[{"sig":"MEUCIQCHfZHnUUm30zM04ts+j1A5U5G76t5TPBYJZHseM2UTKQIgHAdmEoRHHgwJstqq2ost45mFN0MF5DmCuTjtatTtYz8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":223089},"main":"./dist/index.js","type":"module","_from":"file:h-ai-reach-0.1.0-alpha.45.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rimraf dist .turbo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gudaoxuri","email":"i@sunisle.org"},"_resolved":"/tmp/5c46e57340cffa24f3e83ab33c6202e5/h-ai-reach-0.1.0-alpha.45.tgz","_integrity":"sha512-7mjH+XhmtuHgONga+2k91eqT2kJov6KmAzATKXaUQzeFMNj6Nz7vc7IAAU/xlu8yM34FFI0nx6+bjltBzlOZnw==","_npmVersion":"10.9.8","description":"Hai Framework user reach module for email, SMS, and webhook channels.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","@h-ai/core":"0.1.0-alpha.45","@h-ai/cache":"0.1.0-alpha.45","@h-ai/reldb":"0.1.0-alpha.45"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/nodemailer":"^8.0.0"},"optionalDependencies":{"nodemailer":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/reach_0.1.0-alpha.45_1785381500916_0.8610719975417409","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.46":{"name":"@h-ai/reach","version":"0.1.0-alpha.46","license":"Apache-2.0","_id":"@h-ai/reach@0.1.0-alpha.46","maintainers":[{"name":"gudaoxuri","email":"i@sunisle.org"}],"dist":{"shasum":"101a5485721a8e59c3df7fa9940c3049e2db0a16","tarball":"https://registry.npmjs.org/@h-ai/reach/-/reach-0.1.0-alpha.46.tgz","fileCount":6,"integrity":"sha512-BUgMb95iFBM9gugpVIobbtaJAMzbwRkAPRyAZ926la4KTSvvfLJ7ioF3O3sUmgvnqU66ecPGPXtlFa05HbH0yA==","signatures":[{"sig":"MEQCIFnl+69bpQXRhTXV1g7WRJ7BC2tTde/62wr5DPzASDAqAiA7FPhOsg9vBttE6ib6uJ/MXn7KcVwrgAj4sxrVghhymA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":223089},"main":"./dist/index.js","type":"module","_from":"file:h-ai-reach-0.1.0-alpha.46.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rimraf dist .turbo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gudaoxuri","email":"i@sunisle.org"},"_resolved":"/tmp/0e4711a1bd0cdbe8b116579a2d7014a5/h-ai-reach-0.1.0-alpha.46.tgz","_integrity":"sha512-BUgMb95iFBM9gugpVIobbtaJAMzbwRkAPRyAZ926la4KTSvvfLJ7ioF3O3sUmgvnqU66ecPGPXtlFa05HbH0yA==","_npmVersion":"10.9.8","description":"Hai Framework user reach module for email, SMS, and webhook channels.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","@h-ai/core":"0.1.0-alpha.46","@h-ai/cache":"0.1.0-alpha.46","@h-ai/reldb":"0.1.0-alpha.46"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/nodemailer":"^8.0.0"},"optionalDependencies":{"nodemailer":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/reach_0.1.0-alpha.46_1785395359864_0.46652800314165455","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.47":{"name":"@h-ai/reach","version":"0.1.0-alpha.47","license":"Apache-2.0","_id":"@h-ai/reach@0.1.0-alpha.47","maintainers":[{"name":"gudaoxuri","email":"i@sunisle.org"}],"dist":{"shasum":"554fd81248f41ae2722b37f89ca1f9203bf78004","tarball":"https://registry.npmjs.org/@h-ai/reach/-/reach-0.1.0-alpha.47.tgz","fileCount":6,"integrity":"sha512-Cfw+d5TpzzoFXcDcMLaPV6ezqYxDe0dl8MfZ+qm4IEJbnejyx5xcg/KyVj0Uo5WNN2Sc1GwqvKKR+GnigOJUPA==","signatures":[{"sig":"MEUCIQC/pmvnhYeI0Ho83JIjYFrq+2/YTSr2b8/kpnfkGGiaHgIgUaePfp4z5q8kP/r9bpT30LPEWwi92/2ZmTyZnrCU6vs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":223089},"main":"./dist/index.js","type":"module","_from":"file:h-ai-reach-0.1.0-alpha.47.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rimraf dist .turbo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gudaoxuri","email":"i@sunisle.org"},"_resolved":"/tmp/8f5eaac94a9d392b8181986526e773ff/h-ai-reach-0.1.0-alpha.47.tgz","_integrity":"sha512-Cfw+d5TpzzoFXcDcMLaPV6ezqYxDe0dl8MfZ+qm4IEJbnejyx5xcg/KyVj0Uo5WNN2Sc1GwqvKKR+GnigOJUPA==","_npmVersion":"10.9.8","description":"Hai Framework user reach module for email, SMS, and webhook channels.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","@h-ai/core":"0.1.0-alpha.47","@h-ai/cache":"0.1.0-alpha.47","@h-ai/reldb":"0.1.0-alpha.47"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/nodemailer":"^8.0.0"},"optionalDependencies":{"nodemailer":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/reach_0.1.0-alpha.47_1785491433754_0.15485383685809007","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.48":{"name":"@h-ai/reach","version":"0.1.0-alpha.48","license":"Apache-2.0","_id":"@h-ai/reach@0.1.0-alpha.48","maintainers":[{"name":"gudaoxuri","email":"i@sunisle.org"}],"dist":{"shasum":"884e2292a34a2e03cb1fd17e0cc93c71d3178f1a","tarball":"https://registry.npmjs.org/@h-ai/reach/-/reach-0.1.0-alpha.48.tgz","fileCount":6,"integrity":"sha512-vZWiW41u8BaUYX12nMAVYDz01l7Y9To+L2THc1BCgRMy69pqGcR/3YYwFPAVDtAjOQspkqqEcuImEF85eUGAcw==","signatures":[{"sig":"MEYCIQDLwUyqFWL9oD3v1aK0bxolPE9taRPNswtWWHVuooEI6QIhAMLGYAjQ8cQlRcgKfLKPZMX/86umeDJWGv8dEVGBCTwu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":223089},"main":"./dist/index.js","type":"module","_from":"file:h-ai-reach-0.1.0-alpha.48.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rimraf dist .turbo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gudaoxuri","email":"i@sunisle.org"},"_resolved":"/tmp/d89ea6a7e4d667adf017e516823612ea/h-ai-reach-0.1.0-alpha.48.tgz","_integrity":"sha512-vZWiW41u8BaUYX12nMAVYDz01l7Y9To+L2THc1BCgRMy69pqGcR/3YYwFPAVDtAjOQspkqqEcuImEF85eUGAcw==","_npmVersion":"10.9.8","description":"Hai Framework user reach module for email, SMS, and webhook channels.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","@h-ai/core":"0.1.0-alpha.48","@h-ai/cache":"0.1.0-alpha.48","@h-ai/reldb":"0.1.0-alpha.48"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/nodemailer":"^8.0.0"},"optionalDependencies":{"nodemailer":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/reach_0.1.0-alpha.48_1786328360222_0.43502850316114006","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.49":{"name":"@h-ai/reach","version":"0.1.0-alpha.49","license":"Apache-2.0","_id":"@h-ai/reach@0.1.0-alpha.49","maintainers":[{"name":"gudaoxuri","email":"i@sunisle.org"}],"dist":{"shasum":"fb16ccbbf09180f1ea4eace160321836bd90a039","tarball":"https://registry.npmjs.org/@h-ai/reach/-/reach-0.1.0-alpha.49.tgz","fileCount":6,"integrity":"sha512-5VmkCC1BjwcuvcKCMo8vgOO6rN0ydH1fkN2OznS9SRsNSwqPueOK9L2NNr3ARl2wBRqUQQCPhROkPyzRBaiqWg==","signatures":[{"sig":"MEUCIQDFWabY+DMXeMq+ZpDAjE59vERJ8H2OMedxFa1bnCvlQwIgb5ni3sTRUnlPOK6qCor9sVlybjLLy/qhR2SKmLyw3DM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":223089},"main":"./dist/index.js","type":"module","_from":"file:h-ai-reach-0.1.0-alpha.49.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rimraf dist .turbo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gudaoxuri","email":"i@sunisle.org"},"_resolved":"/tmp/67fe00d794aa32d0b973b7306a740c01/h-ai-reach-0.1.0-alpha.49.tgz","_integrity":"sha512-5VmkCC1BjwcuvcKCMo8vgOO6rN0ydH1fkN2OznS9SRsNSwqPueOK9L2NNr3ARl2wBRqUQQCPhROkPyzRBaiqWg==","_npmVersion":"10.9.8","description":"Hai Framework user reach module for email, SMS, and webhook channels.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","@h-ai/core":"0.1.0-alpha.49","@h-ai/cache":"0.1.0-alpha.49","@h-ai/reldb":"0.1.0-alpha.49"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/nodemailer":"^8.0.0"},"optionalDependencies":{"nodemailer":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/reach_0.1.0-alpha.49_1786524932958_0.1713824512023474","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.50":{"name":"@h-ai/reach","version":"0.1.0-alpha.50","license":"Apache-2.0","_id":"@h-ai/reach@0.1.0-alpha.50","maintainers":[{"name":"gudaoxuri","email":"i@sunisle.org"}],"dist":{"shasum":"350340314e4c3af5e1e2c6720b27522ed8501f7c","tarball":"https://registry.npmjs.org/@h-ai/reach/-/reach-0.1.0-alpha.50.tgz","fileCount":6,"integrity":"sha512-YQYnPOg/3eWGt7xFoJBV/tJ8fPj5W+F1ux0y1ofJsy+zr448+WksYtFBBMiBXJ8jtauu34f6HQCEdZ/E47MsqA==","signatures":[{"sig":"MEUCIQDMy26i41oa/mLYmAS+fcq8rEEFynCF6BsWO844k+NLlQIgLnGwlB+KuY/QFRsz6B9o8zwmpXrfn2ftVa7EwjR7Q8o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":223089},"main":"./dist/index.js","type":"module","_from":"file:h-ai-reach-0.1.0-alpha.50.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rimraf dist .turbo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gudaoxuri","email":"i@sunisle.org"},"_resolved":"/tmp/e4871ee3ff9d00a535d2de6088374b26/h-ai-reach-0.1.0-alpha.50.tgz","_integrity":"sha512-YQYnPOg/3eWGt7xFoJBV/tJ8fPj5W+F1ux0y1ofJsy+zr448+WksYtFBBMiBXJ8jtauu34f6HQCEdZ/E47MsqA==","_npmVersion":"10.9.8","description":"Hai Framework user reach module for email, SMS, and webhook channels.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3","@h-ai/core":"0.1.0-alpha.50","@h-ai/cache":"0.1.0-alpha.50","@h-ai/reldb":"0.1.0-alpha.50"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/nodemailer":"^8.0.0"},"optionalDependencies":{"nodemailer":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/reach_0.1.0-alpha.50_1786686997986_0.057467722542198674","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.51":{"name":"@h-ai/reach","version":"0.1.0-alpha.51","license":"Apache-2.0","_id":"@h-ai/reach@0.1.0-alpha.51","maintainers":[{"name":"gudaoxuri","email":"i@sunisle.org"}],"dist":{"shasum":"941c9c07cfd5d6b9303fb222375e68b03e9b648e","tarball":"https://registry.npmjs.org/@h-ai/reach/-/reach-0.1.0-alpha.51.tgz","fileCount":6,"integrity":"sha512-cAARlEtBY0WUgAOJgGFDxM4wDgOnaWgPqjqVq+B/osqwmNw2kefY/eNiqPz02gvf4xmUGaP9Hjd1GSIcpvtZJQ==","signatures":[{"sig":"MEQCIFd0/NnJjD3INU6i4ASTZKN9mg/FSHEAbMYTZIi12zAyAiB1sd6aD4x3RnLKZpmj1i2fDJuV9L1AJw9wxB+339sz3g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":223089},"main":"./dist/index.js","type":"module","_from":"file:h-ai-reach-0.1.0-alpha.51.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rimraf dist .turbo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gudaoxuri","email":"i@sunisle.org"},"_resolved":"/tmp/b6356ecc51ab7afe4146ffef407a7926/h-ai-reach-0.1.0-alpha.51.tgz","_integrity":"sha512-cAARlEtBY0WUgAOJgGFDxM4wDgOnaWgPqjqVq+B/osqwmNw2kefY/eNiqPz02gvf4xmUGaP9Hjd1GSIcpvtZJQ==","_npmVersion":"10.9.8","description":"Hai Framework user reach module for email, SMS, and webhook channels.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3","@h-ai/core":"0.1.0-alpha.51","@h-ai/cache":"0.1.0-alpha.51","@h-ai/reldb":"0.1.0-alpha.51"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/nodemailer":"^8.0.0"},"optionalDependencies":{"nodemailer":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/reach_0.1.0-alpha.51_1787219937419_0.2798552219280692","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.53":{"name":"@h-ai/reach","version":"0.1.0-alpha.53","license":"Apache-2.0","_id":"@h-ai/reach@0.1.0-alpha.53","maintainers":[{"name":"gudaoxuri","email":"i@sunisle.org"}],"dist":{"shasum":"3f38fa8975e5f86fd159c5aaee52c35c0391c6fd","tarball":"https://registry.npmjs.org/@h-ai/reach/-/reach-0.1.0-alpha.53.tgz","fileCount":6,"integrity":"sha512-bwBWCe3mzWtutruvKzX4sPUiPBJ+QwWG2vBjQmEWVGw/sDTyUymQgmqgty3Lr5XnVTSp3Zw6TUPfB59aFo1Tlg==","signatures":[{"sig":"MEYCIQCqVzMAFfcn4CaemJus+N1CCiTYi7onewnaQ9k0+SFNMwIhAPIc+y2TUt6gTbJ6RLkn6ktfA59VnhdmFBrtn1njbq+o","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":223089},"main":"./dist/index.js","type":"module","_from":"file:h-ai-reach-0.1.0-alpha.53.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rimraf dist .turbo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gudaoxuri","email":"i@sunisle.org"},"_resolved":"/tmp/7d37e4820956af080977fc79262e592a/h-ai-reach-0.1.0-alpha.53.tgz","_integrity":"sha512-bwBWCe3mzWtutruvKzX4sPUiPBJ+QwWG2vBjQmEWVGw/sDTyUymQgmqgty3Lr5XnVTSp3Zw6TUPfB59aFo1Tlg==","_npmVersion":"10.9.8","description":"Hai Framework user reach module for email, SMS, and webhook channels.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3","@h-ai/core":"0.1.0-alpha.53","@h-ai/cache":"0.1.0-alpha.53","@h-ai/reldb":"0.1.0-alpha.53"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/nodemailer":"^8.0.0"},"optionalDependencies":{"nodemailer":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/reach_0.1.0-alpha.53_1787272957164_0.904838676681476","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.54":{"name":"@h-ai/reach","version":"0.1.0-alpha.54","license":"Apache-2.0","_id":"@h-ai/reach@0.1.0-alpha.54","maintainers":[{"name":"gudaoxuri","email":"i@sunisle.org"}],"dist":{"shasum":"2b7c42b725bf9b9413a2c7f548ba283c54f5182a","tarball":"https://registry.npmjs.org/@h-ai/reach/-/reach-0.1.0-alpha.54.tgz","fileCount":6,"integrity":"sha512-97Vdz+SQhFPxYbEnCIxOulXDnAcZBSiDes6tUlWi1hj+jU5fAUqZ8kkcF/BJVJ4pWNKrEEmHZ2dVRhS6LiqExw==","signatures":[{"sig":"MEUCIQDAyoVL/daLbQfvJw+6CUcz+hqHL4rOqtif0v8WWB0rFAIgMvHaeW4s4BUv4N1vTBtKsikZW0TD51I0Duk3cFES6kg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":223167},"main":"./dist/index.js","type":"module","_from":"file:h-ai-reach-0.1.0-alpha.54.tgz","types":"./dist/index.d.ts","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rimraf dist .turbo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest","build:clean":"rimraf dist"},"_npmUser":{"name":"gudaoxuri","email":"i@sunisle.org"},"_resolved":"/tmp/8360f732e2063ee8661d9a46da9fac07/h-ai-reach-0.1.0-alpha.54.tgz","_integrity":"sha512-97Vdz+SQhFPxYbEnCIxOulXDnAcZBSiDes6tUlWi1hj+jU5fAUqZ8kkcF/BJVJ4pWNKrEEmHZ2dVRhS6LiqExw==","_npmVersion":"10.9.0","description":"Hai Framework user reach module for email, SMS, and webhook channels.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.4.3","@h-ai/core":"0.1.0-alpha.54","@h-ai/cache":"0.1.0-alpha.54","@h-ai/reldb":"0.1.0-alpha.54"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/nodemailer":"^8.0.0"},"optionalDependencies":{"nodemailer":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/reach_0.1.0-alpha.54_1789133141495_0.8535750467152889","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.55":{"name":"@h-ai/reach","version":"0.1.0-alpha.55","license":"Apache-2.0","_id":"@h-ai/reach@0.1.0-alpha.55","maintainers":[{"name":"gudaoxuri","email":"i@sunisle.org"}],"dist":{"shasum":"00c693815bde149a3ae44ff00f6b79f10edbf843","tarball":"https://registry.npmjs.org/@h-ai/reach/-/reach-0.1.0-alpha.55.tgz","fileCount":6,"integrity":"sha512-eMfYB3LBdOflBwLZMVO3r4Ihx+S5nX6QBckscG1Sudy/WskmKlP24UrB45wNehn2kXe3l6Ble/aWSKjNbfBFHg==","signatures":[{"sig":"MEUCIF7TmgGOrRai/5vrFo6Jm71aYXuydb0LZgX1qgVsJN8yAiEAjBjNyp8CyEB9Us36S5d9q9jRFaq24rfqqP+YzLqQMSQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":223167},"main":"./dist/index.js","type":"module","_from":"file:h-ai-reach-0.1.0-alpha.55.tgz","types":"./dist/index.d.ts","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rimraf dist .turbo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest","build:clean":"rimraf dist"},"_npmUser":{"name":"gudaoxuri","email":"i@sunisle.org"},"_resolved":"/tmp/098bbca45924eef93fb24d5e67ba60b4/h-ai-reach-0.1.0-alpha.55.tgz","_integrity":"sha512-eMfYB3LBdOflBwLZMVO3r4Ihx+S5nX6QBckscG1Sudy/WskmKlP24UrB45wNehn2kXe3l6Ble/aWSKjNbfBFHg==","_npmVersion":"10.9.0","description":"Hai Framework user reach module for email, SMS, and webhook channels.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.4.3","@h-ai/core":"0.1.0-alpha.55","@h-ai/cache":"0.1.0-alpha.55","@h-ai/reldb":"0.1.0-alpha.55"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/nodemailer":"^8.0.0"},"optionalDependencies":{"nodemailer":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/reach_0.1.0-alpha.55_1789228133557_0.08996828641216914","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.56":{"_id":"@h-ai/reach@0.1.0-alpha.56","dist":{"shasum":"a8d389de14a03aa1d51f917d1569810492404f68","tarball":"https://registry.npmjs.org/@h-ai/reach/-/reach-0.1.0-alpha.56.tgz","fileCount":6,"integrity":"sha512-NoOEskDrmZfmAw+oxlXPAsDToDaq4BkliRzT/WCD6wCb9r4kIlAkynDcm4OhhFe0YWgPeN3eIswGRD3efyRL9w==","signatures":[{"sig":"MEUCIAcHM0MhQGZzB+x91hJrjhQHgCC6RHJyDyE0Xt2eRuAGAiEA2I9XD2Ps30F7RhvYwWqm520pnagcw3lWkYUjdvMiNsI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDHc01ISl/XdUhmaE71mvRTs0DRyK2bSpQRSwxx3GV6bgIhAL1uk998Lbo6m2tk5USzB7GgKyzSvvtnUWdU7JFpc69P"}],"unpackedSize":223167},"main":"./dist/index.js","name":"@h-ai/reach","type":"module","_from":"file:h-ai-reach-0.1.0-alpha.56.tgz","types":"./dist/index.d.ts","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"license":"Apache-2.0","scripts":{"dev":"tsup --watch","lint":"eslint .","test":"vitest run","build":"tsup","clean":"rimraf dist .turbo","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit","test:watch":"vitest","build:clean":"rimraf dist"},"version":"0.1.0-alpha.56","_npmUser":{"name":"gudaoxuri","email":"i@sunisle.org"},"_resolved":"/tmp/f75555c10ef07dc06393a279c7900651/h-ai-reach-0.1.0-alpha.56.tgz","_integrity":"sha512-NoOEskDrmZfmAw+oxlXPAsDToDaq4BkliRzT/WCD6wCb9r4kIlAkynDcm4OhhFe0YWgPeN3eIswGRD3efyRL9w==","_npmVersion":"10.9.0","description":"Hai Framework user reach module for email, SMS, and webhook channels.","directories":{},"maintainers":[{"name":"gudaoxuri","email":"i@sunisle.org"}],"_nodeVersion":"22.12.0","dependencies":{"zod":"^4.4.3","@h-ai/core":"0.1.0-alpha.56","@h-ai/cache":"0.1.0-alpha.56","@h-ai/reldb":"0.1.0-alpha.56"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","rimraf":"^6.1.3","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@types/nodemailer":"^8.0.0"},"optionalDependencies":{"nodemailer":"^8.0.1"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/reach_0.1.0-alpha.56_1790217617830_0.06915554310461003"}}},"time":{"created":"2026-04-06T04:27:20.310Z","modified":"2026-09-24T02:40:18.127Z","0.1.0-alpha5":"2026-04-06T04:27:20.531Z","0.1.0-alpha7":"2026-04-07T01:23:21.772Z","0.1.0-alpha8":"2026-04-07T09:03:30.011Z","0.1.0-alpha9":"2026-04-09T14:48:26.095Z","0.1.0-alpha.10":"2026-04-10T10:40:15.809Z","0.1.0-alpha.11":"2026-04-17T10:38:51.065Z","0.1.0-alpha.12":"2026-04-22T13:35:14.684Z","0.1.0-alpha.13":"2026-04-24T15:00:07.967Z","0.1.0-alpha.15":"2026-05-26T05:21:27.521Z","0.1.0-alpha.16":"2026-05-26T09:13:13.690Z","0.1.0-alpha.18":"2026-05-28T05:19:12.030Z","0.1.0-alpha.19":"2026-05-28T14:07:12.106Z","0.1.0-alpha.20":"2026-05-29T13:37:00.228Z","0.1.0-alpha.21":"2026-06-03T09:38:20.688Z","0.1.0-alpha.22":"2026-06-08T02:43:26.427Z","0.1.0-alpha.23":"2026-06-11T08:20:24.763Z","0.1.0-alpha.24":"2026-06-12T03:50:35.472Z","0.1.0-alpha.25":"2026-06-16T10:24:05.037Z","0.1.0-alpha.26":"2026-06-24T01:02:40.952Z","0.1.0-alpha.27":"2026-06-24T09:22:53.935Z","0.1.0-alpha.28":"2026-06-26T09:57:45.049Z","0.1.0-alpha.29":"2026-06-30T01:24:00.497Z","0.1.0-alpha.30":"2026-06-30T08:26:40.236Z","0.1.0-alpha.31":"2026-07-03T00:20:35.321Z","0.1.0-alpha.32":"2026-07-03T05:17:29.363Z","0.1.0-alpha.33":"2026-07-04T08:19:08.208Z","0.1.0-alpha.34":"2026-07-13T16:00:43.520Z","0.1.0-alpha.35":"2026-07-14T08:41:19.639Z","0.1.0-alpha.36":"2026-07-14T16:31:46.918Z","0.1.0-alpha.37":"2026-07-15T12:43:36.421Z","0.1.0-alpha.38":"2026-07-16T09:01:35.801Z","0.1.0-alpha.39":"2026-07-17T07:42:16.364Z","0.1.0-alpha.40":"2026-07-23T02:07:44.086Z","0.1.0-alpha.41":"2026-07-28T01:46:34.197Z","0.1.0-alpha.42":"2026-07-28T03:47:46.648Z","0.1.0-alpha.43":"2026-07-29T05:51:55.199Z","0.1.0-alpha.44":"2026-07-30T01:52:09.573Z","0.1.0-alpha.45":"2026-07-30T03:18:21.080Z","0.1.0-alpha.46":"2026-07-30T07:09:20.061Z","0.1.0-alpha.47":"2026-07-31T09:50:33.902Z","0.1.0-alpha.48":"2026-08-10T02:19:20.369Z","0.1.0-alpha.49":"2026-08-12T08:55:33.124Z","0.1.0-alpha.50":"2026-08-14T05:56:38.121Z","0.1.0-alpha.51":"2026-08-20T09:58:57.572Z","0.1.0-alpha.53":"2026-08-21T00:42:37.315Z","0.1.0-alpha.54":"2026-09-11T13:25:41.639Z","0.1.0-alpha.55":"2026-09-12T15:48:53.720Z","0.1.0-alpha.56":"2026-09-24T02:40:17.923Z"},"license":"Apache-2.0","description":"Hai Framework user reach module for email, SMS, and webhook channels.","maintainers":[{"name":"gudaoxuri","email":"i@sunisle.org"}],"readme":"# @h-ai/reach\n\n用户触达模块，支持同时注册多个 Provider（邮件、短信、API 回调等），通过模板绑定 Provider 实现按场景路由发送。内置免打扰（DND）机制，支持通过配置文件定义模板。\n\n## 依赖\n\n- `@h-ai/reldb` — 数据库（发送日志与模板持久化），可选；已初始化时自动启用持久化\n- `@h-ai/cache` — 缓存（DND delay 策略分布式锁），可选；已初始化时自动启用分布式锁\n\n## 支持的 Provider\n\n| Provider     | 渠道 | 说明                                        |\n| ------------ | ---- | ------------------------------------------- |\n| `console`    | 通用 | 控制台输出（开发/测试用）                   |\n| `smtp`       | 邮件 | SMTP 协议发送邮件（需安装 nodemailer）      |\n| `aliyun-sms` | 短信 | 阿里云短信服务（直接调用 HTTP API，无 SDK） |\n| `api`        | 通用 | HTTP API 回调（通用 webhook）               |\n\n## 快速开始\n\n### 安装\n\n```bash\npnpm add @h-ai/reach\n```\n\n邮件发送需安装 `nodemailer`。\n\n### 多 Provider 初始化\n\n```ts\nimport { cache } from '@h-ai/cache'\nimport { reach } from '@h-ai/reach'\nimport { reldb } from '@h-ai/reldb'\n\n// 1. 初始化可选依赖（按需）\nawait reldb.init({ type: 'sqlite', database: './data.db' }) // 可选，启用发送日志与模板持久化\nawait cache.init({ type: 'memory' }) // 可选，启用 DND delay 策略分布式锁\n\n// 2. 初始化触达模块（自动检测已初始化的 reldb/cache 单例）\nawait reach.init({\n  providers: [\n    { name: 'email', type: 'smtp', host: 'smtp.example.com', from: 'noreply@example.com' },\n    { name: 'sms', type: 'aliyun-sms', accessKeyId: '...', accessKeySecret: '...', signName: '某某科技' },\n    { name: 'webhook', type: 'api', url: 'https://api.example.com/notify' },\n  ],\n  templates: [\n    { name: 'welcome_email', provider: 'email', subject: '欢迎 {userName}', body: '亲爱的 {userName}，欢迎！' },\n    { name: 'sms_code', provider: 'sms', body: '验证码: {code}，{minutes} 分钟内有效。' },\n  ],\n  dnd: { enabled: true, strategy: 'delay', start: '22:00', end: '08:00' },\n})\n\n// 通过 provider 字段选择发送渠道\nawait reach.send({\n  provider: 'email',\n  to: 'user@example.com',\n  template: 'welcome_email',\n  vars: { userName: '张三' },\n})\n\n// 发送短信（通过 extra 传递 Provider 特有参数）\nawait reach.send({\n  provider: 'sms',\n  to: '13800138000',\n  extra: { templateCode: 'SMS_123456' },\n  vars: { code: '123456' },\n})\n\n// 关闭所有 Provider\nawait reach.close()\n```\n\n`reach.config` 返回的是**脱敏后的配置快照**：`api.url` / `endpoint` 的内嵌凭证，以及 `headers.Authorization`、SMTP `pass`、短信密钥等敏感值会自动隐藏。\n\n## 配置\n\n### Console（开发/测试）\n\n```ts\nconst config = { name: 'dev', type: 'console' }\n```\n\n### SMTP\n\n| 字段     | 类型      | 必填 | 默认值 | 说明            |\n| -------- | --------- | ---- | ------ | --------------- |\n| `name`   | `string`  | ✅   | —      | Provider 名称   |\n| `type`   | `string`  | ✅   | —      | 固定 `'smtp'`   |\n| `host`   | `string`  | ✅   | —      | SMTP 服务器地址 |\n| `port`   | `number`  | —    | `465`  | SMTP 端口       |\n| `secure` | `boolean` | —    | `true` | 是否使用 TLS    |\n| `user`   | `string`  | —    | —      | 认证用户名      |\n| `pass`   | `string`  | —    | —      | 认证密码        |\n| `from`   | `string`  | ✅   | —      | 发件人地址      |\n\n### 阿里云短信\n\n| 字段              | 类型     | 必填 | 默认值                  | 说明                |\n| ----------------- | -------- | ---- | ----------------------- | ------------------- |\n| `name`            | `string` | ✅   | —                       | Provider 名称       |\n| `type`            | `string` | ✅   | —                       | 固定 `'aliyun-sms'` |\n| `accessKeyId`     | `string` | ✅   | —                       | AccessKey ID        |\n| `accessKeySecret` | `string` | ✅   | —                       | AccessKey Secret    |\n| `signName`        | `string` | ✅   | —                       | 短信签名            |\n| `endpoint`        | `string` | —    | `dysmsapi.aliyuncs.com` | API 端点            |\n\n### API 回调\n\n| 字段      | 类型                     | 必填 | 默认值  | 说明             |\n| --------- | ------------------------ | ---- | ------- | ---------------- |\n| `name`    | `string`                 | ✅   | —       | Provider 名称    |\n| `type`    | `string`                 | ✅   | —       | 固定 `'api'`     |\n| `url`     | `string`                 | ✅   | —       | HTTP(S) 回调 URL |\n| `method`  | `'POST' \\| 'PUT'`        | —    | `POST`  | HTTP 方法        |\n| `headers` | `Record<string, string>` | —    | —       | 自定义请求头     |\n| `timeout` | `number`                 | —    | `10000` | 超时毫秒数       |\n\nAPI 回调地址属于服务端可信配置。日志只记录回调 origin，不记录 URL 凭据、查询参数、收件人或第三方失败响应体。若回调地址来自租户/用户输入，应用层必须配置域名 allowlist；企业部署还应通过出口代理或网络策略阻止访问内网元数据地址。\n\n### DND（免打扰）\n\n| 字段       | 类型                   | 必填 | 默认值    | 说明                                    |\n| ---------- | ---------------------- | ---- | --------- | --------------------------------------- |\n| `enabled`  | `boolean`              | —    | `false`   | 是否启用                                |\n| `strategy` | `'discard' \\| 'delay'` | —    | `discard` | discard 丢弃 / delay 延时（DND 后发送） |\n| `start`    | `string`               | —    | `00:00`   | 开始时间（HH:mm 格式）                  |\n| `end`      | `string`               | —    | `00:00`   | 结束时间（HH:mm 格式）                  |\n\n## 错误处理\n\n所有操作返回 `HaiResult<T>`，错误码定义在 `HaiReachError`：\n\n| 错误码                                 | code            | 说明            |\n| -------------------------------------- | --------------- | --------------- |\n| `HaiReachError.SEND_FAILED`            | `hai:reach:001` | 发送失败        |\n| `HaiReachError.TEMPLATE_NOT_FOUND`     | `hai:reach:002` | 模板不存在      |\n| `HaiReachError.TEMPLATE_RENDER_FAILED` | `hai:reach:003` | 模板渲染失败    |\n| `HaiReachError.INVALID_RECIPIENT`      | `hai:reach:004` | 无效接收方      |\n| `HaiReachError.PROVIDER_NOT_FOUND`     | `hai:reach:005` | Provider 未注册 |\n| `HaiReachError.DND_BLOCKED`            | `hai:reach:006` | 免打扰丢弃      |\n| `HaiReachError.DND_DEFERRED`           | `hai:reach:007` | 免打扰延时暂存  |\n| `HaiReachError.NOT_INITIALIZED`        | `hai:reach:010` | 未初始化        |\n| `HaiReachError.UNSUPPORTED_TYPE`       | `hai:reach:011` | 不支持的类型    |\n| `HaiReachError.CONFIG_ERROR`           | `hai:reach:012` | 配置错误        |\n\n```ts\nconst result = await reach.send({ provider: 'email', to: 'user@example.com', body: 'hello' })\nif (!result.success) {\n  // result.error.code / result.error.message\n}\n```\n\n## 分布式锁\n\n多节点部署时，DND（delay 策略）的 pending 消息 flush 操作通过 `@h-ai/cache` 分布式锁保护，确保同一时刻只有一个节点执行 flush。\n\n- 锁基于 `cache.lock.acquire('reach:flush-pending')`，TTL 300 秒\n- flush 会按批 claim pending 记录；处理中的记录带有过期时间，节点异常退出后可由后续节点接管，降低重复发送风险\n- 若 `@h-ai/cache` 未初始化，分布式锁自动禁用，不影响单节点运行\n- 使用稳定的进程级 owner 标识，防止误释放他人锁\n\n## 测试\n\n```bash\npnpm --filter @h-ai/reach test\n```\n\n## License\n\nApache-2.0\n","readmeFilename":"README.md"}