@serve.zone/dcrouter 2.12.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (737) hide show
  1. package/.dockerignore +1 -0
  2. package/.gitea/workflows/docker_nottags.yaml +71 -0
  3. package/.gitea/workflows/docker_tags.yaml +106 -0
  4. package/.vscode/launch.json +11 -0
  5. package/.vscode/settings.json +26 -0
  6. package/Dockerfile +46 -0
  7. package/changelog.md +247 -0
  8. package/cli.child.js +4 -0
  9. package/cli.child.ts +4 -0
  10. package/cli.js +4 -0
  11. package/cli.ts.js +5 -0
  12. package/dist_ts/00_commitinfo_data.d.ts +8 -0
  13. package/dist_ts/00_commitinfo_data.js +9 -0
  14. package/dist_ts/classes.dcrouter.d.ts +238 -0
  15. package/dist_ts/classes.dcrouter.js +1008 -0
  16. package/dist_ts/config/index.d.ts +1 -0
  17. package/dist_ts/config/index.js +3 -0
  18. package/dist_ts/config/validator.d.ts +104 -0
  19. package/dist_ts/config/validator.js +152 -0
  20. package/dist_ts/deliverability/classes.ipwarmupmanager.d.ts +253 -0
  21. package/dist_ts/deliverability/classes.ipwarmupmanager.js +639 -0
  22. package/dist_ts/deliverability/classes.senderreputationmonitor.d.ts +300 -0
  23. package/dist_ts/deliverability/classes.senderreputationmonitor.js +961 -0
  24. package/dist_ts/deliverability/index.d.ts +2 -0
  25. package/dist_ts/deliverability/index.js +3 -0
  26. package/dist_ts/errors/base.errors.d.ts +224 -0
  27. package/dist_ts/errors/base.errors.js +310 -0
  28. package/dist_ts/errors/email.errors.d.ts +175 -0
  29. package/dist_ts/errors/email.errors.js +265 -0
  30. package/dist_ts/errors/error-handler.d.ts +98 -0
  31. package/dist_ts/errors/error-handler.js +282 -0
  32. package/dist_ts/errors/error.codes.d.ts +115 -0
  33. package/dist_ts/errors/error.codes.js +136 -0
  34. package/dist_ts/errors/index.d.ts +56 -0
  35. package/dist_ts/errors/index.js +138 -0
  36. package/dist_ts/errors/mta.errors.d.ts +259 -0
  37. package/dist_ts/errors/mta.errors.js +472 -0
  38. package/dist_ts/errors/reputation.errors.d.ts +183 -0
  39. package/dist_ts/errors/reputation.errors.js +292 -0
  40. package/dist_ts/index.d.ts +4 -0
  41. package/dist_ts/index.js +6 -0
  42. package/dist_ts/logger.d.ts +17 -0
  43. package/dist_ts/logger.js +77 -0
  44. package/dist_ts/mail/core/classes.bouncemanager.d.ts +200 -0
  45. package/dist_ts/mail/core/classes.bouncemanager.js +778 -0
  46. package/dist_ts/mail/core/classes.email.d.ts +291 -0
  47. package/dist_ts/mail/core/classes.email.js +780 -0
  48. package/dist_ts/mail/core/classes.emailvalidator.d.ts +61 -0
  49. package/dist_ts/mail/core/classes.emailvalidator.js +182 -0
  50. package/dist_ts/mail/core/classes.templatemanager.d.ts +95 -0
  51. package/dist_ts/mail/core/classes.templatemanager.js +239 -0
  52. package/dist_ts/mail/core/index.d.ts +4 -0
  53. package/dist_ts/mail/core/index.js +6 -0
  54. package/dist_ts/mail/delivery/classes.delivery.queue.d.ts +163 -0
  55. package/dist_ts/mail/delivery/classes.delivery.queue.js +485 -0
  56. package/dist_ts/mail/delivery/classes.delivery.system.d.ts +186 -0
  57. package/dist_ts/mail/delivery/classes.delivery.system.js +846 -0
  58. package/dist_ts/mail/delivery/classes.emailsendjob.d.ts +84 -0
  59. package/dist_ts/mail/delivery/classes.emailsendjob.js +362 -0
  60. package/dist_ts/mail/delivery/classes.emailsignjob.d.ts +18 -0
  61. package/dist_ts/mail/delivery/classes.emailsignjob.js +44 -0
  62. package/dist_ts/mail/delivery/classes.mta.config.d.ts +22 -0
  63. package/dist_ts/mail/delivery/classes.mta.config.js +51 -0
  64. package/dist_ts/mail/delivery/classes.ratelimiter.d.ts +98 -0
  65. package/dist_ts/mail/delivery/classes.ratelimiter.js +205 -0
  66. package/dist_ts/mail/delivery/classes.smtp.client.legacy.d.ts +275 -0
  67. package/dist_ts/mail/delivery/classes.smtp.client.legacy.js +973 -0
  68. package/dist_ts/mail/delivery/classes.unified.rate.limiter.d.ts +200 -0
  69. package/dist_ts/mail/delivery/classes.unified.rate.limiter.js +817 -0
  70. package/dist_ts/mail/delivery/index.d.ts +12 -0
  71. package/dist_ts/mail/delivery/index.js +18 -0
  72. package/dist_ts/mail/delivery/interfaces.d.ts +243 -0
  73. package/dist_ts/mail/delivery/interfaces.js +17 -0
  74. package/dist_ts/mail/delivery/smtpclient/auth-handler.d.ts +43 -0
  75. package/dist_ts/mail/delivery/smtpclient/auth-handler.js +188 -0
  76. package/dist_ts/mail/delivery/smtpclient/command-handler.d.ts +67 -0
  77. package/dist_ts/mail/delivery/smtpclient/command-handler.js +276 -0
  78. package/dist_ts/mail/delivery/smtpclient/connection-manager.d.ts +48 -0
  79. package/dist_ts/mail/delivery/smtpclient/connection-manager.js +238 -0
  80. package/dist_ts/mail/delivery/smtpclient/constants.d.ts +129 -0
  81. package/dist_ts/mail/delivery/smtpclient/constants.js +135 -0
  82. package/dist_ts/mail/delivery/smtpclient/create-client.d.ts +22 -0
  83. package/dist_ts/mail/delivery/smtpclient/create-client.js +86 -0
  84. package/dist_ts/mail/delivery/smtpclient/error-handler.d.ts +28 -0
  85. package/dist_ts/mail/delivery/smtpclient/error-handler.js +110 -0
  86. package/dist_ts/mail/delivery/smtpclient/index.d.ts +16 -0
  87. package/dist_ts/mail/delivery/smtpclient/index.js +21 -0
  88. package/dist_ts/mail/delivery/smtpclient/interfaces.d.ts +183 -0
  89. package/dist_ts/mail/delivery/smtpclient/interfaces.js +19 -0
  90. package/dist_ts/mail/delivery/smtpclient/smtp-client.d.ts +58 -0
  91. package/dist_ts/mail/delivery/smtpclient/smtp-client.js +279 -0
  92. package/dist_ts/mail/delivery/smtpclient/tls-handler.d.ts +33 -0
  93. package/dist_ts/mail/delivery/smtpclient/tls-handler.js +202 -0
  94. package/dist_ts/mail/delivery/smtpclient/utils/helpers.d.ts +77 -0
  95. package/dist_ts/mail/delivery/smtpclient/utils/helpers.js +196 -0
  96. package/dist_ts/mail/delivery/smtpclient/utils/logging.d.ts +46 -0
  97. package/dist_ts/mail/delivery/smtpclient/utils/logging.js +153 -0
  98. package/dist_ts/mail/delivery/smtpclient/utils/validation.d.ts +38 -0
  99. package/dist_ts/mail/delivery/smtpclient/utils/validation.js +139 -0
  100. package/dist_ts/mail/delivery/smtpserver/certificate-utils.d.ts +45 -0
  101. package/dist_ts/mail/delivery/smtpserver/certificate-utils.js +345 -0
  102. package/dist_ts/mail/delivery/smtpserver/command-handler.d.ts +156 -0
  103. package/dist_ts/mail/delivery/smtpserver/command-handler.js +1159 -0
  104. package/dist_ts/mail/delivery/smtpserver/connection-manager.d.ts +159 -0
  105. package/dist_ts/mail/delivery/smtpserver/connection-manager.js +894 -0
  106. package/dist_ts/mail/delivery/smtpserver/constants.d.ts +130 -0
  107. package/dist_ts/mail/delivery/smtpserver/constants.js +162 -0
  108. package/dist_ts/mail/delivery/smtpserver/create-server.d.ts +14 -0
  109. package/dist_ts/mail/delivery/smtpserver/create-server.js +28 -0
  110. package/dist_ts/mail/delivery/smtpserver/data-handler.d.ts +123 -0
  111. package/dist_ts/mail/delivery/smtpserver/data-handler.js +1148 -0
  112. package/dist_ts/mail/delivery/smtpserver/index.d.ts +20 -0
  113. package/dist_ts/mail/delivery/smtpserver/index.js +27 -0
  114. package/dist_ts/mail/delivery/smtpserver/interfaces.d.ts +530 -0
  115. package/dist_ts/mail/delivery/smtpserver/interfaces.js +10 -0
  116. package/dist_ts/mail/delivery/smtpserver/secure-server.d.ts +15 -0
  117. package/dist_ts/mail/delivery/smtpserver/secure-server.js +79 -0
  118. package/dist_ts/mail/delivery/smtpserver/security-handler.d.ts +86 -0
  119. package/dist_ts/mail/delivery/smtpserver/security-handler.js +234 -0
  120. package/dist_ts/mail/delivery/smtpserver/session-manager.d.ts +140 -0
  121. package/dist_ts/mail/delivery/smtpserver/session-manager.js +469 -0
  122. package/dist_ts/mail/delivery/smtpserver/smtp-server.d.ts +137 -0
  123. package/dist_ts/mail/delivery/smtpserver/smtp-server.js +666 -0
  124. package/dist_ts/mail/delivery/smtpserver/starttls-handler.d.ts +21 -0
  125. package/dist_ts/mail/delivery/smtpserver/starttls-handler.js +207 -0
  126. package/dist_ts/mail/delivery/smtpserver/tls-handler.d.ts +66 -0
  127. package/dist_ts/mail/delivery/smtpserver/tls-handler.js +261 -0
  128. package/dist_ts/mail/delivery/smtpserver/utils/adaptive-logging.d.ts +117 -0
  129. package/dist_ts/mail/delivery/smtpserver/utils/adaptive-logging.js +411 -0
  130. package/dist_ts/mail/delivery/smtpserver/utils/helpers.d.ts +78 -0
  131. package/dist_ts/mail/delivery/smtpserver/utils/helpers.js +208 -0
  132. package/dist_ts/mail/delivery/smtpserver/utils/logging.d.ts +106 -0
  133. package/dist_ts/mail/delivery/smtpserver/utils/logging.js +181 -0
  134. package/dist_ts/mail/delivery/smtpserver/utils/validation.d.ts +69 -0
  135. package/dist_ts/mail/delivery/smtpserver/utils/validation.js +360 -0
  136. package/dist_ts/mail/index.d.ts +8 -0
  137. package/dist_ts/mail/index.js +13 -0
  138. package/dist_ts/mail/routing/classes.dns.manager.d.ts +65 -0
  139. package/dist_ts/mail/routing/classes.dns.manager.js +413 -0
  140. package/dist_ts/mail/routing/classes.dnsmanager.d.ts +165 -0
  141. package/dist_ts/mail/routing/classes.dnsmanager.js +430 -0
  142. package/dist_ts/mail/routing/classes.domain.registry.d.ts +54 -0
  143. package/dist_ts/mail/routing/classes.domain.registry.js +118 -0
  144. package/dist_ts/mail/routing/classes.email.config.d.ts +64 -0
  145. package/dist_ts/mail/routing/classes.email.config.js +2 -0
  146. package/dist_ts/mail/routing/classes.email.router.d.ts +171 -0
  147. package/dist_ts/mail/routing/classes.email.router.js +491 -0
  148. package/dist_ts/mail/routing/classes.unified.email.server.d.ts +426 -0
  149. package/dist_ts/mail/routing/classes.unified.email.server.js +1454 -0
  150. package/dist_ts/mail/routing/index.d.ts +5 -0
  151. package/dist_ts/mail/routing/index.js +7 -0
  152. package/dist_ts/mail/routing/interfaces.d.ts +187 -0
  153. package/dist_ts/mail/routing/interfaces.js +2 -0
  154. package/dist_ts/mail/security/classes.dkimcreator.d.ts +68 -0
  155. package/dist_ts/mail/security/classes.dkimcreator.js +346 -0
  156. package/dist_ts/mail/security/classes.dkimverifier.d.ts +46 -0
  157. package/dist_ts/mail/security/classes.dkimverifier.js +317 -0
  158. package/dist_ts/mail/security/classes.dmarcverifier.d.ts +123 -0
  159. package/dist_ts/mail/security/classes.dmarcverifier.js +365 -0
  160. package/dist_ts/mail/security/classes.spfverifier.d.ts +103 -0
  161. package/dist_ts/mail/security/classes.spfverifier.js +492 -0
  162. package/dist_ts/mail/security/index.d.ts +4 -0
  163. package/dist_ts/mail/security/index.js +6 -0
  164. package/dist_ts/opsserver/classes.opsserver.d.ts +14 -0
  165. package/dist_ts/opsserver/classes.opsserver.js +37 -0
  166. package/dist_ts/opsserver/index.d.ts +1 -0
  167. package/dist_ts/opsserver/index.js +2 -0
  168. package/dist_ts/paths.d.ts +14 -0
  169. package/dist_ts/paths.js +39 -0
  170. package/dist_ts/plugins.d.ts +43 -0
  171. package/dist_ts/plugins.js +50 -0
  172. package/dist_ts/security/classes.contentscanner.d.ts +160 -0
  173. package/dist_ts/security/classes.contentscanner.js +634 -0
  174. package/dist_ts/security/classes.ipreputationchecker.d.ts +150 -0
  175. package/dist_ts/security/classes.ipreputationchecker.js +508 -0
  176. package/dist_ts/security/classes.securitylogger.d.ts +140 -0
  177. package/dist_ts/security/classes.securitylogger.js +232 -0
  178. package/dist_ts/security/index.d.ts +3 -0
  179. package/dist_ts/security/index.js +4 -0
  180. package/dist_ts/sms/classes.smsservice.d.ts +15 -0
  181. package/dist_ts/sms/classes.smsservice.js +72 -0
  182. package/dist_ts/sms/config/sms.config.d.ts +93 -0
  183. package/dist_ts/sms/config/sms.config.js +2 -0
  184. package/dist_ts/sms/config/sms.schema.d.ts +5 -0
  185. package/dist_ts/sms/config/sms.schema.js +121 -0
  186. package/dist_ts/sms/index.d.ts +1 -0
  187. package/dist_ts/sms/index.js +2 -0
  188. package/dist_ts/storage/classes.storagemanager.d.ts +82 -0
  189. package/dist_ts/storage/classes.storagemanager.js +341 -0
  190. package/dist_ts/storage/index.d.ts +1 -0
  191. package/dist_ts/storage/index.js +3 -0
  192. package/dist_ts/ts/00_commitinfo_data.d.ts +8 -0
  193. package/dist_ts/ts/00_commitinfo_data.js +9 -0
  194. package/dist_ts/ts/classes.dcrouter.d.ts +238 -0
  195. package/dist_ts/ts/classes.dcrouter.js +1008 -0
  196. package/dist_ts/ts/config/index.d.ts +1 -0
  197. package/dist_ts/ts/config/index.js +3 -0
  198. package/dist_ts/ts/config/validator.d.ts +104 -0
  199. package/dist_ts/ts/config/validator.js +152 -0
  200. package/dist_ts/ts/deliverability/classes.ipwarmupmanager.d.ts +253 -0
  201. package/dist_ts/ts/deliverability/classes.ipwarmupmanager.js +639 -0
  202. package/dist_ts/ts/deliverability/classes.senderreputationmonitor.d.ts +300 -0
  203. package/dist_ts/ts/deliverability/classes.senderreputationmonitor.js +961 -0
  204. package/dist_ts/ts/deliverability/index.d.ts +2 -0
  205. package/dist_ts/ts/deliverability/index.js +3 -0
  206. package/dist_ts/ts/errors/base.errors.d.ts +224 -0
  207. package/dist_ts/ts/errors/base.errors.js +310 -0
  208. package/dist_ts/ts/errors/email.errors.d.ts +175 -0
  209. package/dist_ts/ts/errors/email.errors.js +265 -0
  210. package/dist_ts/ts/errors/error-handler.d.ts +98 -0
  211. package/dist_ts/ts/errors/error-handler.js +282 -0
  212. package/dist_ts/ts/errors/error.codes.d.ts +115 -0
  213. package/dist_ts/ts/errors/error.codes.js +136 -0
  214. package/dist_ts/ts/errors/index.d.ts +56 -0
  215. package/dist_ts/ts/errors/index.js +138 -0
  216. package/dist_ts/ts/errors/mta.errors.d.ts +259 -0
  217. package/dist_ts/ts/errors/mta.errors.js +472 -0
  218. package/dist_ts/ts/errors/reputation.errors.d.ts +183 -0
  219. package/dist_ts/ts/errors/reputation.errors.js +292 -0
  220. package/dist_ts/ts/index.d.ts +4 -0
  221. package/dist_ts/ts/index.js +6 -0
  222. package/dist_ts/ts/logger.d.ts +17 -0
  223. package/dist_ts/ts/logger.js +77 -0
  224. package/dist_ts/ts/mail/core/classes.bouncemanager.d.ts +200 -0
  225. package/dist_ts/ts/mail/core/classes.bouncemanager.js +778 -0
  226. package/dist_ts/ts/mail/core/classes.email.d.ts +291 -0
  227. package/dist_ts/ts/mail/core/classes.email.js +780 -0
  228. package/dist_ts/ts/mail/core/classes.emailvalidator.d.ts +61 -0
  229. package/dist_ts/ts/mail/core/classes.emailvalidator.js +182 -0
  230. package/dist_ts/ts/mail/core/classes.templatemanager.d.ts +95 -0
  231. package/dist_ts/ts/mail/core/classes.templatemanager.js +239 -0
  232. package/dist_ts/ts/mail/core/index.d.ts +4 -0
  233. package/dist_ts/ts/mail/core/index.js +6 -0
  234. package/dist_ts/ts/mail/delivery/classes.delivery.queue.d.ts +163 -0
  235. package/dist_ts/ts/mail/delivery/classes.delivery.queue.js +485 -0
  236. package/dist_ts/ts/mail/delivery/classes.delivery.system.d.ts +186 -0
  237. package/dist_ts/ts/mail/delivery/classes.delivery.system.js +846 -0
  238. package/dist_ts/ts/mail/delivery/classes.emailsendjob.d.ts +84 -0
  239. package/dist_ts/ts/mail/delivery/classes.emailsendjob.js +362 -0
  240. package/dist_ts/ts/mail/delivery/classes.emailsignjob.d.ts +18 -0
  241. package/dist_ts/ts/mail/delivery/classes.emailsignjob.js +44 -0
  242. package/dist_ts/ts/mail/delivery/classes.mta.config.d.ts +22 -0
  243. package/dist_ts/ts/mail/delivery/classes.mta.config.js +51 -0
  244. package/dist_ts/ts/mail/delivery/classes.ratelimiter.d.ts +98 -0
  245. package/dist_ts/ts/mail/delivery/classes.ratelimiter.js +205 -0
  246. package/dist_ts/ts/mail/delivery/classes.smtp.client.legacy.d.ts +275 -0
  247. package/dist_ts/ts/mail/delivery/classes.smtp.client.legacy.js +973 -0
  248. package/dist_ts/ts/mail/delivery/classes.unified.rate.limiter.d.ts +200 -0
  249. package/dist_ts/ts/mail/delivery/classes.unified.rate.limiter.js +817 -0
  250. package/dist_ts/ts/mail/delivery/index.d.ts +12 -0
  251. package/dist_ts/ts/mail/delivery/index.js +18 -0
  252. package/dist_ts/ts/mail/delivery/interfaces.d.ts +243 -0
  253. package/dist_ts/ts/mail/delivery/interfaces.js +17 -0
  254. package/dist_ts/ts/mail/delivery/smtpclient/auth-handler.d.ts +43 -0
  255. package/dist_ts/ts/mail/delivery/smtpclient/auth-handler.js +188 -0
  256. package/dist_ts/ts/mail/delivery/smtpclient/command-handler.d.ts +67 -0
  257. package/dist_ts/ts/mail/delivery/smtpclient/command-handler.js +276 -0
  258. package/dist_ts/ts/mail/delivery/smtpclient/connection-manager.d.ts +48 -0
  259. package/dist_ts/ts/mail/delivery/smtpclient/connection-manager.js +238 -0
  260. package/dist_ts/ts/mail/delivery/smtpclient/constants.d.ts +129 -0
  261. package/dist_ts/ts/mail/delivery/smtpclient/constants.js +135 -0
  262. package/dist_ts/ts/mail/delivery/smtpclient/create-client.d.ts +22 -0
  263. package/dist_ts/ts/mail/delivery/smtpclient/create-client.js +86 -0
  264. package/dist_ts/ts/mail/delivery/smtpclient/error-handler.d.ts +28 -0
  265. package/dist_ts/ts/mail/delivery/smtpclient/error-handler.js +110 -0
  266. package/dist_ts/ts/mail/delivery/smtpclient/index.d.ts +16 -0
  267. package/dist_ts/ts/mail/delivery/smtpclient/index.js +21 -0
  268. package/dist_ts/ts/mail/delivery/smtpclient/interfaces.d.ts +183 -0
  269. package/dist_ts/ts/mail/delivery/smtpclient/interfaces.js +19 -0
  270. package/dist_ts/ts/mail/delivery/smtpclient/smtp-client.d.ts +58 -0
  271. package/dist_ts/ts/mail/delivery/smtpclient/smtp-client.js +279 -0
  272. package/dist_ts/ts/mail/delivery/smtpclient/tls-handler.d.ts +33 -0
  273. package/dist_ts/ts/mail/delivery/smtpclient/tls-handler.js +202 -0
  274. package/dist_ts/ts/mail/delivery/smtpclient/utils/helpers.d.ts +77 -0
  275. package/dist_ts/ts/mail/delivery/smtpclient/utils/helpers.js +196 -0
  276. package/dist_ts/ts/mail/delivery/smtpclient/utils/logging.d.ts +46 -0
  277. package/dist_ts/ts/mail/delivery/smtpclient/utils/logging.js +153 -0
  278. package/dist_ts/ts/mail/delivery/smtpclient/utils/validation.d.ts +38 -0
  279. package/dist_ts/ts/mail/delivery/smtpclient/utils/validation.js +139 -0
  280. package/dist_ts/ts/mail/delivery/smtpserver/certificate-utils.d.ts +45 -0
  281. package/dist_ts/ts/mail/delivery/smtpserver/certificate-utils.js +345 -0
  282. package/dist_ts/ts/mail/delivery/smtpserver/command-handler.d.ts +156 -0
  283. package/dist_ts/ts/mail/delivery/smtpserver/command-handler.js +1159 -0
  284. package/dist_ts/ts/mail/delivery/smtpserver/connection-manager.d.ts +159 -0
  285. package/dist_ts/ts/mail/delivery/smtpserver/connection-manager.js +894 -0
  286. package/dist_ts/ts/mail/delivery/smtpserver/constants.d.ts +130 -0
  287. package/dist_ts/ts/mail/delivery/smtpserver/constants.js +162 -0
  288. package/dist_ts/ts/mail/delivery/smtpserver/create-server.d.ts +14 -0
  289. package/dist_ts/ts/mail/delivery/smtpserver/create-server.js +28 -0
  290. package/dist_ts/ts/mail/delivery/smtpserver/data-handler.d.ts +123 -0
  291. package/dist_ts/ts/mail/delivery/smtpserver/data-handler.js +1148 -0
  292. package/dist_ts/ts/mail/delivery/smtpserver/index.d.ts +20 -0
  293. package/dist_ts/ts/mail/delivery/smtpserver/index.js +27 -0
  294. package/dist_ts/ts/mail/delivery/smtpserver/interfaces.d.ts +530 -0
  295. package/dist_ts/ts/mail/delivery/smtpserver/interfaces.js +10 -0
  296. package/dist_ts/ts/mail/delivery/smtpserver/secure-server.d.ts +15 -0
  297. package/dist_ts/ts/mail/delivery/smtpserver/secure-server.js +79 -0
  298. package/dist_ts/ts/mail/delivery/smtpserver/security-handler.d.ts +86 -0
  299. package/dist_ts/ts/mail/delivery/smtpserver/security-handler.js +234 -0
  300. package/dist_ts/ts/mail/delivery/smtpserver/session-manager.d.ts +140 -0
  301. package/dist_ts/ts/mail/delivery/smtpserver/session-manager.js +469 -0
  302. package/dist_ts/ts/mail/delivery/smtpserver/smtp-server.d.ts +137 -0
  303. package/dist_ts/ts/mail/delivery/smtpserver/smtp-server.js +666 -0
  304. package/dist_ts/ts/mail/delivery/smtpserver/starttls-handler.d.ts +21 -0
  305. package/dist_ts/ts/mail/delivery/smtpserver/starttls-handler.js +207 -0
  306. package/dist_ts/ts/mail/delivery/smtpserver/tls-handler.d.ts +66 -0
  307. package/dist_ts/ts/mail/delivery/smtpserver/tls-handler.js +261 -0
  308. package/dist_ts/ts/mail/delivery/smtpserver/utils/adaptive-logging.d.ts +117 -0
  309. package/dist_ts/ts/mail/delivery/smtpserver/utils/adaptive-logging.js +411 -0
  310. package/dist_ts/ts/mail/delivery/smtpserver/utils/helpers.d.ts +78 -0
  311. package/dist_ts/ts/mail/delivery/smtpserver/utils/helpers.js +208 -0
  312. package/dist_ts/ts/mail/delivery/smtpserver/utils/logging.d.ts +106 -0
  313. package/dist_ts/ts/mail/delivery/smtpserver/utils/logging.js +181 -0
  314. package/dist_ts/ts/mail/delivery/smtpserver/utils/validation.d.ts +69 -0
  315. package/dist_ts/ts/mail/delivery/smtpserver/utils/validation.js +360 -0
  316. package/dist_ts/ts/mail/index.d.ts +8 -0
  317. package/dist_ts/ts/mail/index.js +13 -0
  318. package/dist_ts/ts/mail/routing/classes.dns.manager.d.ts +65 -0
  319. package/dist_ts/ts/mail/routing/classes.dns.manager.js +413 -0
  320. package/dist_ts/ts/mail/routing/classes.dnsmanager.d.ts +165 -0
  321. package/dist_ts/ts/mail/routing/classes.dnsmanager.js +430 -0
  322. package/dist_ts/ts/mail/routing/classes.domain.registry.d.ts +54 -0
  323. package/dist_ts/ts/mail/routing/classes.domain.registry.js +118 -0
  324. package/dist_ts/ts/mail/routing/classes.email.config.d.ts +64 -0
  325. package/dist_ts/ts/mail/routing/classes.email.config.js +2 -0
  326. package/dist_ts/ts/mail/routing/classes.email.router.d.ts +171 -0
  327. package/dist_ts/ts/mail/routing/classes.email.router.js +491 -0
  328. package/dist_ts/ts/mail/routing/classes.unified.email.server.d.ts +426 -0
  329. package/dist_ts/ts/mail/routing/classes.unified.email.server.js +1454 -0
  330. package/dist_ts/ts/mail/routing/index.d.ts +5 -0
  331. package/dist_ts/ts/mail/routing/index.js +7 -0
  332. package/dist_ts/ts/mail/routing/interfaces.d.ts +187 -0
  333. package/dist_ts/ts/mail/routing/interfaces.js +2 -0
  334. package/dist_ts/ts/mail/security/classes.dkimcreator.d.ts +68 -0
  335. package/dist_ts/ts/mail/security/classes.dkimcreator.js +346 -0
  336. package/dist_ts/ts/mail/security/classes.dkimverifier.d.ts +46 -0
  337. package/dist_ts/ts/mail/security/classes.dkimverifier.js +317 -0
  338. package/dist_ts/ts/mail/security/classes.dmarcverifier.d.ts +123 -0
  339. package/dist_ts/ts/mail/security/classes.dmarcverifier.js +365 -0
  340. package/dist_ts/ts/mail/security/classes.spfverifier.d.ts +103 -0
  341. package/dist_ts/ts/mail/security/classes.spfverifier.js +492 -0
  342. package/dist_ts/ts/mail/security/index.d.ts +4 -0
  343. package/dist_ts/ts/mail/security/index.js +6 -0
  344. package/dist_ts/ts/opsserver/classes.opsserver.d.ts +20 -0
  345. package/dist_ts/ts/opsserver/classes.opsserver.js +44 -0
  346. package/dist_ts/ts/opsserver/handlers/admin.handler.d.ts +31 -0
  347. package/dist_ts/ts/opsserver/handlers/admin.handler.js +177 -0
  348. package/dist_ts/ts/opsserver/handlers/config.handler.d.ts +10 -0
  349. package/dist_ts/ts/opsserver/handlers/config.handler.js +100 -0
  350. package/dist_ts/ts/opsserver/handlers/index.d.ts +5 -0
  351. package/dist_ts/ts/opsserver/handlers/index.js +6 -0
  352. package/dist_ts/ts/opsserver/handlers/logs.handler.d.ts +10 -0
  353. package/dist_ts/ts/opsserver/handlers/logs.handler.js +121 -0
  354. package/dist_ts/ts/opsserver/handlers/security.handler.d.ts +11 -0
  355. package/dist_ts/ts/opsserver/handlers/security.handler.js +118 -0
  356. package/dist_ts/ts/opsserver/handlers/stats.handler.d.ts +13 -0
  357. package/dist_ts/ts/opsserver/handlers/stats.handler.js +233 -0
  358. package/dist_ts/ts/opsserver/helpers/guards.d.ts +25 -0
  359. package/dist_ts/ts/opsserver/helpers/guards.js +41 -0
  360. package/dist_ts/ts/opsserver/index.d.ts +1 -0
  361. package/dist_ts/ts/opsserver/index.js +2 -0
  362. package/dist_ts/ts/paths.d.ts +14 -0
  363. package/dist_ts/ts/paths.js +39 -0
  364. package/dist_ts/ts/plugins.d.ts +46 -0
  365. package/dist_ts/ts/plugins.js +53 -0
  366. package/dist_ts/ts/security/classes.contentscanner.d.ts +160 -0
  367. package/dist_ts/ts/security/classes.contentscanner.js +634 -0
  368. package/dist_ts/ts/security/classes.ipreputationchecker.d.ts +150 -0
  369. package/dist_ts/ts/security/classes.ipreputationchecker.js +508 -0
  370. package/dist_ts/ts/security/classes.securitylogger.d.ts +140 -0
  371. package/dist_ts/ts/security/classes.securitylogger.js +232 -0
  372. package/dist_ts/ts/security/index.d.ts +3 -0
  373. package/dist_ts/ts/security/index.js +4 -0
  374. package/dist_ts/ts/sms/classes.smsservice.d.ts +15 -0
  375. package/dist_ts/ts/sms/classes.smsservice.js +72 -0
  376. package/dist_ts/ts/sms/config/sms.config.d.ts +93 -0
  377. package/dist_ts/ts/sms/config/sms.config.js +2 -0
  378. package/dist_ts/ts/sms/config/sms.schema.d.ts +5 -0
  379. package/dist_ts/ts/sms/config/sms.schema.js +121 -0
  380. package/dist_ts/ts/sms/index.d.ts +1 -0
  381. package/dist_ts/ts/sms/index.js +2 -0
  382. package/dist_ts/ts/storage/classes.storagemanager.d.ts +82 -0
  383. package/dist_ts/ts/storage/classes.storagemanager.js +341 -0
  384. package/dist_ts/ts/storage/index.d.ts +1 -0
  385. package/dist_ts/ts/storage/index.js +3 -0
  386. package/dist_ts/ts_interfaces/data/auth.d.ts +8 -0
  387. package/dist_ts/ts_interfaces/data/auth.js +2 -0
  388. package/dist_ts/ts_interfaces/data/index.d.ts +2 -0
  389. package/dist_ts/ts_interfaces/data/index.js +3 -0
  390. package/dist_ts/ts_interfaces/data/stats.d.ts +93 -0
  391. package/dist_ts/ts_interfaces/data/stats.js +2 -0
  392. package/dist_ts/ts_interfaces/index.d.ts +5 -0
  393. package/dist_ts/ts_interfaces/index.js +8 -0
  394. package/dist_ts/ts_interfaces/plugins.d.ts +2 -0
  395. package/dist_ts/ts_interfaces/plugins.js +4 -0
  396. package/dist_ts/ts_interfaces/requests/admin.d.ts +31 -0
  397. package/dist_ts/ts_interfaces/requests/admin.js +3 -0
  398. package/dist_ts/ts_interfaces/requests/config.d.ts +25 -0
  399. package/dist_ts/ts_interfaces/requests/config.js +3 -0
  400. package/dist_ts/ts_interfaces/requests/index.d.ts +4 -0
  401. package/dist_ts/ts_interfaces/requests/index.js +5 -0
  402. package/dist_ts/ts_interfaces/requests/logs.d.ts +34 -0
  403. package/dist_ts/ts_interfaces/requests/logs.js +4 -0
  404. package/dist_ts/ts_interfaces/requests/stats.d.ts +131 -0
  405. package/dist_ts/ts_interfaces/requests/stats.js +4 -0
  406. package/html/index.html +121 -0
  407. package/npmextra.json +45 -0
  408. package/package.json +83 -0
  409. package/readme.hints.md +906 -0
  410. package/readme.md +1253 -0
  411. package/readme.opsserver.md +351 -0
  412. package/test/helpers/server.loader.ts +347 -0
  413. package/test/helpers/smtp.client.ts +209 -0
  414. package/test/helpers/utils.ts +311 -0
  415. package/test/readme.md +443 -0
  416. package/test/suite/smtpclient_commands/test.ccmd-01.ehlo-helo-sending.ts +168 -0
  417. package/test/suite/smtpclient_commands/test.ccmd-02.mail-from-parameters.ts +277 -0
  418. package/test/suite/smtpclient_commands/test.ccmd-03.rcpt-to-multiple.ts +283 -0
  419. package/test/suite/smtpclient_commands/test.ccmd-04.data-transmission.ts +274 -0
  420. package/test/suite/smtpclient_commands/test.ccmd-05.auth-mechanisms.ts +306 -0
  421. package/test/suite/smtpclient_commands/test.ccmd-06.command-pipelining.ts +233 -0
  422. package/test/suite/smtpclient_commands/test.ccmd-07.response-parsing.ts +243 -0
  423. package/test/suite/smtpclient_commands/test.ccmd-08.rset-command.ts +333 -0
  424. package/test/suite/smtpclient_commands/test.ccmd-09.noop-command.ts +339 -0
  425. package/test/suite/smtpclient_commands/test.ccmd-10.vrfy-expn.ts +457 -0
  426. package/test/suite/smtpclient_commands/test.ccmd-11.help-command.ts +409 -0
  427. package/test/suite/smtpclient_connection/test.ccm-01.basic-tcp-connection.ts +150 -0
  428. package/test/suite/smtpclient_connection/test.ccm-02.tls-connection.ts +140 -0
  429. package/test/suite/smtpclient_connection/test.ccm-03.starttls-upgrade.ts +208 -0
  430. package/test/suite/smtpclient_connection/test.ccm-04.connection-pooling.ts +250 -0
  431. package/test/suite/smtpclient_connection/test.ccm-05.connection-reuse.ts +288 -0
  432. package/test/suite/smtpclient_connection/test.ccm-06.connection-timeout.ts +267 -0
  433. package/test/suite/smtpclient_connection/test.ccm-07.automatic-reconnection.ts +324 -0
  434. package/test/suite/smtpclient_connection/test.ccm-08.dns-resolution.ts +139 -0
  435. package/test/suite/smtpclient_connection/test.ccm-09.ipv6-dual-stack.ts +167 -0
  436. package/test/suite/smtpclient_connection/test.ccm-10.proxy-support.ts +305 -0
  437. package/test/suite/smtpclient_connection/test.ccm-11.keepalive.ts +299 -0
  438. package/test/suite/smtpclient_edge-cases/test.cedge-01.unusual-server-responses.ts +529 -0
  439. package/test/suite/smtpclient_edge-cases/test.cedge-02.malformed-commands.ts +438 -0
  440. package/test/suite/smtpclient_edge-cases/test.cedge-03.protocol-violations.ts +446 -0
  441. package/test/suite/smtpclient_edge-cases/test.cedge-04.resource-constraints.ts +530 -0
  442. package/test/suite/smtpclient_edge-cases/test.cedge-05.encoding-issues.ts +145 -0
  443. package/test/suite/smtpclient_edge-cases/test.cedge-06.large-headers.ts +180 -0
  444. package/test/suite/smtpclient_edge-cases/test.cedge-07.concurrent-operations.ts +204 -0
  445. package/test/suite/smtpclient_email-composition/test.cep-01.basic-headers.ts +245 -0
  446. package/test/suite/smtpclient_email-composition/test.cep-02.mime-multipart.ts +321 -0
  447. package/test/suite/smtpclient_email-composition/test.cep-03.attachment-encoding.ts +334 -0
  448. package/test/suite/smtpclient_email-composition/test.cep-04.bcc-handling.ts +187 -0
  449. package/test/suite/smtpclient_email-composition/test.cep-05.reply-to-return-path.ts +277 -0
  450. package/test/suite/smtpclient_email-composition/test.cep-06.utf8-international.ts +235 -0
  451. package/test/suite/smtpclient_email-composition/test.cep-07.html-inline-images.ts +489 -0
  452. package/test/suite/smtpclient_email-composition/test.cep-08.custom-headers.ts +293 -0
  453. package/test/suite/smtpclient_email-composition/test.cep-09.priority-importance.ts +314 -0
  454. package/test/suite/smtpclient_email-composition/test.cep-10.receipts-dsn.ts +411 -0
  455. package/test/suite/smtpclient_error-handling/test.cerr-01.4xx-errors.ts +232 -0
  456. package/test/suite/smtpclient_error-handling/test.cerr-02.5xx-errors.ts +309 -0
  457. package/test/suite/smtpclient_error-handling/test.cerr-03.network-failures.ts +299 -0
  458. package/test/suite/smtpclient_error-handling/test.cerr-04.greylisting-handling.ts +255 -0
  459. package/test/suite/smtpclient_error-handling/test.cerr-05.quota-exceeded.ts +273 -0
  460. package/test/suite/smtpclient_error-handling/test.cerr-06.invalid-recipients.ts +320 -0
  461. package/test/suite/smtpclient_error-handling/test.cerr-07.message-size-limits.ts +320 -0
  462. package/test/suite/smtpclient_error-handling/test.cerr-08.rate-limiting.ts +261 -0
  463. package/test/suite/smtpclient_error-handling/test.cerr-09.connection-pool-errors.ts +299 -0
  464. package/test/suite/smtpclient_error-handling/test.cerr-10.partial-failure.ts +373 -0
  465. package/test/suite/smtpclient_performance/test.cperf-01.bulk-sending.ts +332 -0
  466. package/test/suite/smtpclient_performance/test.cperf-02.message-throughput.ts +304 -0
  467. package/test/suite/smtpclient_performance/test.cperf-03.memory-usage.ts +332 -0
  468. package/test/suite/smtpclient_performance/test.cperf-04.cpu-utilization.ts +373 -0
  469. package/test/suite/smtpclient_performance/test.cperf-05.network-efficiency.ts +181 -0
  470. package/test/suite/smtpclient_performance/test.cperf-06.caching-strategies.ts +190 -0
  471. package/test/suite/smtpclient_performance/test.cperf-07.queue-management.ts +171 -0
  472. package/test/suite/smtpclient_performance/test.cperf-08.dns-caching.ts +50 -0
  473. package/test/suite/smtpclient_reliability/test.crel-01.reconnection-logic.ts +305 -0
  474. package/test/suite/smtpclient_reliability/test.crel-02.network-interruption.ts +207 -0
  475. package/test/suite/smtpclient_reliability/test.crel-03.queue-persistence.ts +469 -0
  476. package/test/suite/smtpclient_reliability/test.crel-04.crash-recovery.ts +520 -0
  477. package/test/suite/smtpclient_reliability/test.crel-05.memory-leaks.ts +503 -0
  478. package/test/suite/smtpclient_reliability/test.crel-06.concurrency-safety.ts +558 -0
  479. package/test/suite/smtpclient_reliability/test.crel-07.resource-cleanup.ts +52 -0
  480. package/test/suite/smtpclient_rfc-compliance/test.crfc-01.rfc5321-client.ts +283 -0
  481. package/test/suite/smtpclient_rfc-compliance/test.crfc-02.esmtp-compliance.ts +77 -0
  482. package/test/suite/smtpclient_rfc-compliance/test.crfc-03.command-syntax.ts +67 -0
  483. package/test/suite/smtpclient_rfc-compliance/test.crfc-04.response-codes.ts +54 -0
  484. package/test/suite/smtpclient_rfc-compliance/test.crfc-05.state-machine.ts +703 -0
  485. package/test/suite/smtpclient_rfc-compliance/test.crfc-06.protocol-negotiation.ts +688 -0
  486. package/test/suite/smtpclient_rfc-compliance/test.crfc-07.interoperability.ts +728 -0
  487. package/test/suite/smtpclient_rfc-compliance/test.crfc-08.smtp-extensions.ts +656 -0
  488. package/test/suite/smtpclient_security/test.csec-01.tls-verification.ts +88 -0
  489. package/test/suite/smtpclient_security/test.csec-02.oauth2-authentication.ts +132 -0
  490. package/test/suite/smtpclient_security/test.csec-03.dkim-signing.ts +138 -0
  491. package/test/suite/smtpclient_security/test.csec-04.spf-compliance.ts +163 -0
  492. package/test/suite/smtpclient_security/test.csec-05.dmarc-policy.ts +200 -0
  493. package/test/suite/smtpclient_security/test.csec-06.certificate-validation.ts +145 -0
  494. package/test/suite/smtpclient_security/test.csec-07.cipher-suites.ts +153 -0
  495. package/test/suite/smtpclient_security/test.csec-08.authentication-fallback.ts +154 -0
  496. package/test/suite/smtpclient_security/test.csec-09.relay-restrictions.ts +166 -0
  497. package/test/suite/smtpclient_security/test.csec-10.anti-spam-measures.ts +196 -0
  498. package/test/suite/smtpserver_commands/test.cmd-01.ehlo-command.ts +193 -0
  499. package/test/suite/smtpserver_commands/test.cmd-02.mail-from.ts +330 -0
  500. package/test/suite/smtpserver_commands/test.cmd-03.rcpt-to.ts +296 -0
  501. package/test/suite/smtpserver_commands/test.cmd-04.data-command.ts +395 -0
  502. package/test/suite/smtpserver_commands/test.cmd-05.noop-command.ts +320 -0
  503. package/test/suite/smtpserver_commands/test.cmd-06.rset-command.ts +399 -0
  504. package/test/suite/smtpserver_commands/test.cmd-07.vrfy-command.ts +391 -0
  505. package/test/suite/smtpserver_commands/test.cmd-08.expn-command.ts +450 -0
  506. package/test/suite/smtpserver_commands/test.cmd-09.size-extension.ts +465 -0
  507. package/test/suite/smtpserver_commands/test.cmd-10.help-command.ts +454 -0
  508. package/test/suite/smtpserver_commands/test.cmd-11.command-pipelining.ts +334 -0
  509. package/test/suite/smtpserver_commands/test.cmd-12.helo-command.ts +420 -0
  510. package/test/suite/smtpserver_commands/test.cmd-13.quit-command.ts +384 -0
  511. package/test/suite/smtpserver_connection/test.cm-01.tls-connection.ts +61 -0
  512. package/test/suite/smtpserver_connection/test.cm-02.multiple-connections.ts +112 -0
  513. package/test/suite/smtpserver_connection/test.cm-03.connection-timeout.ts +134 -0
  514. package/test/suite/smtpserver_connection/test.cm-04.connection-limits.ts +374 -0
  515. package/test/suite/smtpserver_connection/test.cm-05.connection-rejection.ts +296 -0
  516. package/test/suite/smtpserver_connection/test.cm-06.starttls-upgrade.ts +468 -0
  517. package/test/suite/smtpserver_connection/test.cm-07.abrupt-disconnection.ts +321 -0
  518. package/test/suite/smtpserver_connection/test.cm-08.tls-versions.ts +361 -0
  519. package/test/suite/smtpserver_connection/test.cm-09.tls-ciphers.ts +556 -0
  520. package/test/suite/smtpserver_connection/test.cm-10.plain-connection.ts +293 -0
  521. package/test/suite/smtpserver_connection/test.cm-11.keepalive.ts +382 -0
  522. package/test/suite/smtpserver_edge-cases/test.edge-01.very-large-email.ts +239 -0
  523. package/test/suite/smtpserver_edge-cases/test.edge-02.very-small-email.ts +389 -0
  524. package/test/suite/smtpserver_edge-cases/test.edge-03.invalid-character-handling.ts +479 -0
  525. package/test/suite/smtpserver_edge-cases/test.edge-04.empty-commands.ts +430 -0
  526. package/test/suite/smtpserver_edge-cases/test.edge-05.extremely-long-lines.ts +425 -0
  527. package/test/suite/smtpserver_edge-cases/test.edge-06.extremely-long-headers.ts +404 -0
  528. package/test/suite/smtpserver_edge-cases/test.edge-07.unusual-mime-types.ts +333 -0
  529. package/test/suite/smtpserver_edge-cases/test.edge-08.nested-mime-structures.ts +379 -0
  530. package/test/suite/smtpserver_email-processing/test.ep-01.basic-email-sending.ts +338 -0
  531. package/test/suite/smtpserver_email-processing/test.ep-02.invalid-email-addresses.ts +315 -0
  532. package/test/suite/smtpserver_email-processing/test.ep-03.multiple-recipients.ts +493 -0
  533. package/test/suite/smtpserver_email-processing/test.ep-04.large-email.ts +528 -0
  534. package/test/suite/smtpserver_email-processing/test.ep-05.mime-handling.ts +515 -0
  535. package/test/suite/smtpserver_email-processing/test.ep-06.attachment-handling.ts +629 -0
  536. package/test/suite/smtpserver_email-processing/test.ep-07.special-character-handling.ts +462 -0
  537. package/test/suite/smtpserver_email-processing/test.ep-08.email-routing.ts +527 -0
  538. package/test/suite/smtpserver_email-processing/test.ep-09.delivery-status-notifications.ts +486 -0
  539. package/test/suite/smtpserver_error-handling/test.err-01.syntax-errors.ts +475 -0
  540. package/test/suite/smtpserver_error-handling/test.err-02.invalid-sequence.ts +450 -0
  541. package/test/suite/smtpserver_error-handling/test.err-03.temporary-failures.ts +453 -0
  542. package/test/suite/smtpserver_error-handling/test.err-04.permanent-failures.ts +325 -0
  543. package/test/suite/smtpserver_error-handling/test.err-05.resource-exhaustion.ts +302 -0
  544. package/test/suite/smtpserver_error-handling/test.err-06.malformed-mime.ts +374 -0
  545. package/test/suite/smtpserver_error-handling/test.err-07.exception-handling.ts +333 -0
  546. package/test/suite/smtpserver_error-handling/test.err-08.error-logging.ts +324 -0
  547. package/test/suite/smtpserver_performance/test.perf-01.throughput.ts +183 -0
  548. package/test/suite/smtpserver_performance/test.perf-02.concurrency.ts +388 -0
  549. package/test/suite/smtpserver_performance/test.perf-03.cpu-utilization.ts +245 -0
  550. package/test/suite/smtpserver_performance/test.perf-04.memory-usage.ts +238 -0
  551. package/test/suite/smtpserver_performance/test.perf-05.connection-processing-time.ts +363 -0
  552. package/test/suite/smtpserver_performance/test.perf-06.message-processing-time.ts +252 -0
  553. package/test/suite/smtpserver_performance/test.perf-07.resource-cleanup.ts +317 -0
  554. package/test/suite/smtpserver_reliability/test.rel-01.long-running-operation.ts +344 -0
  555. package/test/suite/smtpserver_reliability/test.rel-02.restart-recovery.ts +328 -0
  556. package/test/suite/smtpserver_reliability/test.rel-03.resource-leak-detection.ts +394 -0
  557. package/test/suite/smtpserver_reliability/test.rel-04.error-recovery.ts +401 -0
  558. package/test/suite/smtpserver_reliability/test.rel-05.dns-resolution-failure.ts +335 -0
  559. package/test/suite/smtpserver_reliability/test.rel-06.network-interruption.ts +410 -0
  560. package/test/suite/smtpserver_rfc-compliance/test.rfc-01.rfc5321-compliance.ts +382 -0
  561. package/test/suite/smtpserver_rfc-compliance/test.rfc-02.rfc5322-compliance.ts +428 -0
  562. package/test/suite/smtpserver_rfc-compliance/test.rfc-03.rfc7208-spf-compliance.ts +330 -0
  563. package/test/suite/smtpserver_rfc-compliance/test.rfc-04.rfc6376-dkim-compliance.ts +450 -0
  564. package/test/suite/smtpserver_rfc-compliance/test.rfc-05.rfc7489-dmarc-compliance.ts +408 -0
  565. package/test/suite/smtpserver_rfc-compliance/test.rfc-06.rfc8314-tls-compliance.ts +366 -0
  566. package/test/suite/smtpserver_rfc-compliance/test.rfc-07.rfc3461-dsn-compliance.ts +399 -0
  567. package/test/suite/smtpserver_security/test.sec-01.authentication.ts +218 -0
  568. package/test/suite/smtpserver_security/test.sec-02.authorization.ts +286 -0
  569. package/test/suite/smtpserver_security/test.sec-03.dkim-processing.ts +414 -0
  570. package/test/suite/smtpserver_security/test.sec-04.spf-checking.ts +280 -0
  571. package/test/suite/smtpserver_security/test.sec-05.dmarc-policy.ts +374 -0
  572. package/test/suite/smtpserver_security/test.sec-06.ip-reputation.ts +303 -0
  573. package/test/suite/smtpserver_security/test.sec-07.content-scanning.ts +409 -0
  574. package/test/suite/smtpserver_security/test.sec-08.rate-limiting.ts +324 -0
  575. package/test/suite/smtpserver_security/test.sec-09.tls-certificate-validation.ts +312 -0
  576. package/test/suite/smtpserver_security/test.sec-10.header-injection-prevention.ts +332 -0
  577. package/test/suite/smtpserver_security/test.sec-11.bounce-management.ts +363 -0
  578. package/test/test.base.ts +65 -0
  579. package/test/test.bouncemanager.ts +196 -0
  580. package/test/test.config.md +175 -0
  581. package/test/test.contentscanner.ts +265 -0
  582. package/test/test.dcrouter.email.ts +201 -0
  583. package/test/test.deliverability.ts +55 -0
  584. package/test/test.dns-manager-creation.ts +141 -0
  585. package/test/test.dns-mode-switching.ts +257 -0
  586. package/test/test.dns-server-config.ts +140 -0
  587. package/test/test.dns-socket-handler.ts +169 -0
  588. package/test/test.dns-validation.ts +283 -0
  589. package/test/test.email-socket-handler.ts +228 -0
  590. package/test/test.email.integration.ts +377 -0
  591. package/test/test.email.router.ts +283 -0
  592. package/test/test.emailauth.ts +195 -0
  593. package/test/test.errors.ts +408 -0
  594. package/test/test.integration.storage.ts +313 -0
  595. package/test/test.integration.ts +75 -0
  596. package/test/test.ipreputationchecker.ts +179 -0
  597. package/test/test.ipwarmupmanager.ts +323 -0
  598. package/test/test.jwt-auth.ts +130 -0
  599. package/test/test.minimal.ts +66 -0
  600. package/test/test.opsserver-api.ts +83 -0
  601. package/test/test.protected-endpoint.ts +115 -0
  602. package/test/test.rate-limiting-integration.ts +236 -0
  603. package/test/test.ratelimiter.ts +141 -0
  604. package/test/test.reputationmonitor.ts +262 -0
  605. package/test/test.smartmail.ts +248 -0
  606. package/test/test.smtp.client.compatibility.ts +154 -0
  607. package/test/test.smtp.client.ts +191 -0
  608. package/test/test.smtp.server.ts +180 -0
  609. package/test/test.socket-handler-integration.ts +240 -0
  610. package/test/test.socket-handler-unit.ts +198 -0
  611. package/test/test.storagemanager.ts +289 -0
  612. package/ts/00_commitinfo_data.ts +8 -0
  613. package/ts/classes.dcrouter.ts +1310 -0
  614. package/ts/config/index.ts +2 -0
  615. package/ts/config/validator.ts +266 -0
  616. package/ts/deliverability/classes.ipwarmupmanager.ts +896 -0
  617. package/ts/deliverability/classes.senderreputationmonitor.ts +1244 -0
  618. package/ts/deliverability/index.ts +13 -0
  619. package/ts/errors/base.errors.ts +525 -0
  620. package/ts/errors/email.errors.ts +383 -0
  621. package/ts/errors/error-handler.ts +412 -0
  622. package/ts/errors/error.codes.ts +165 -0
  623. package/ts/errors/index.ts +195 -0
  624. package/ts/errors/mta.errors.ts +681 -0
  625. package/ts/errors/reputation.errors.ts +422 -0
  626. package/ts/index.ts +7 -0
  627. package/ts/logger.ts +91 -0
  628. package/ts/mail/core/classes.bouncemanager.ts +965 -0
  629. package/ts/mail/core/classes.email.ts +941 -0
  630. package/ts/mail/core/classes.emailvalidator.ts +239 -0
  631. package/ts/mail/core/classes.templatemanager.ts +320 -0
  632. package/ts/mail/core/index.ts +5 -0
  633. package/ts/mail/delivery/classes.delivery.queue.ts +645 -0
  634. package/ts/mail/delivery/classes.delivery.system.ts +1089 -0
  635. package/ts/mail/delivery/classes.emailsendjob.ts +447 -0
  636. package/ts/mail/delivery/classes.emailsendjob.ts.backup +691 -0
  637. package/ts/mail/delivery/classes.emailsignjob.ts +67 -0
  638. package/ts/mail/delivery/classes.mta.config.ts +73 -0
  639. package/ts/mail/delivery/classes.ratelimiter.ts +281 -0
  640. package/ts/mail/delivery/classes.smtp.client.legacy.ts +1422 -0
  641. package/ts/mail/delivery/classes.unified.rate.limiter.ts +1053 -0
  642. package/ts/mail/delivery/index.ts +24 -0
  643. package/ts/mail/delivery/interfaces.ts +291 -0
  644. package/ts/mail/delivery/smtpclient/auth-handler.ts +232 -0
  645. package/ts/mail/delivery/smtpclient/command-handler.ts +343 -0
  646. package/ts/mail/delivery/smtpclient/connection-manager.ts +289 -0
  647. package/ts/mail/delivery/smtpclient/constants.ts +145 -0
  648. package/ts/mail/delivery/smtpclient/create-client.ts +94 -0
  649. package/ts/mail/delivery/smtpclient/error-handler.ts +141 -0
  650. package/ts/mail/delivery/smtpclient/index.ts +24 -0
  651. package/ts/mail/delivery/smtpclient/interfaces.ts +242 -0
  652. package/ts/mail/delivery/smtpclient/smtp-client.ts +357 -0
  653. package/ts/mail/delivery/smtpclient/tls-handler.ts +254 -0
  654. package/ts/mail/delivery/smtpclient/utils/helpers.ts +224 -0
  655. package/ts/mail/delivery/smtpclient/utils/logging.ts +212 -0
  656. package/ts/mail/delivery/smtpclient/utils/validation.ts +170 -0
  657. package/ts/mail/delivery/smtpserver/certificate-utils.ts +398 -0
  658. package/ts/mail/delivery/smtpserver/command-handler.ts +1340 -0
  659. package/ts/mail/delivery/smtpserver/connection-manager.ts +1045 -0
  660. package/ts/mail/delivery/smtpserver/constants.ts +181 -0
  661. package/ts/mail/delivery/smtpserver/create-server.ts +31 -0
  662. package/ts/mail/delivery/smtpserver/data-handler.ts +1283 -0
  663. package/ts/mail/delivery/smtpserver/index.ts +32 -0
  664. package/ts/mail/delivery/smtpserver/interfaces.ts +655 -0
  665. package/ts/mail/delivery/smtpserver/secure-server.ts +97 -0
  666. package/ts/mail/delivery/smtpserver/security-handler.ts +345 -0
  667. package/ts/mail/delivery/smtpserver/session-manager.ts +557 -0
  668. package/ts/mail/delivery/smtpserver/smtp-server.ts +804 -0
  669. package/ts/mail/delivery/smtpserver/starttls-handler.ts +262 -0
  670. package/ts/mail/delivery/smtpserver/tls-handler.ts +346 -0
  671. package/ts/mail/delivery/smtpserver/utils/adaptive-logging.ts +514 -0
  672. package/ts/mail/delivery/smtpserver/utils/helpers.ts +246 -0
  673. package/ts/mail/delivery/smtpserver/utils/logging.ts +246 -0
  674. package/ts/mail/delivery/smtpserver/utils/validation.ts +436 -0
  675. package/ts/mail/index.ts +19 -0
  676. package/ts/mail/routing/classes.dns.manager.ts +563 -0
  677. package/ts/mail/routing/classes.dnsmanager.ts +559 -0
  678. package/ts/mail/routing/classes.domain.registry.ts +139 -0
  679. package/ts/mail/routing/classes.email.config.ts +82 -0
  680. package/ts/mail/routing/classes.email.router.ts +575 -0
  681. package/ts/mail/routing/classes.unified.email.server.ts +1873 -0
  682. package/ts/mail/routing/index.ts +6 -0
  683. package/ts/mail/routing/interfaces.ts +202 -0
  684. package/ts/mail/security/classes.dkimcreator.ts +431 -0
  685. package/ts/mail/security/classes.dkimverifier.ts +382 -0
  686. package/ts/mail/security/classes.dmarcverifier.ts +478 -0
  687. package/ts/mail/security/classes.spfverifier.ts +606 -0
  688. package/ts/mail/security/index.ts +5 -0
  689. package/ts/opsserver/classes.opsserver.ts +65 -0
  690. package/ts/opsserver/handlers/admin.handler.ts +240 -0
  691. package/ts/opsserver/handlers/config.handler.ts +150 -0
  692. package/ts/opsserver/handlers/index.ts +5 -0
  693. package/ts/opsserver/handlers/logs.handler.ts +195 -0
  694. package/ts/opsserver/handlers/security.handler.ts +208 -0
  695. package/ts/opsserver/handlers/stats.handler.ts +344 -0
  696. package/ts/opsserver/helpers/guards.ts +56 -0
  697. package/ts/opsserver/index.ts +1 -0
  698. package/ts/paths.ts +48 -0
  699. package/ts/plugins.ts +94 -0
  700. package/ts/security/classes.contentscanner.ts +739 -0
  701. package/ts/security/classes.ipreputationchecker.ts +592 -0
  702. package/ts/security/classes.securitylogger.ts +299 -0
  703. package/ts/security/index.ts +21 -0
  704. package/ts/sms/classes.smsservice.ts +98 -0
  705. package/ts/sms/config/sms.config.ts +109 -0
  706. package/ts/sms/config/sms.schema.ts +122 -0
  707. package/ts/sms/index.ts +1 -0
  708. package/ts/storage/classes.storagemanager.ts +400 -0
  709. package/ts/storage/index.ts +2 -0
  710. package/ts/tspublish.json +3 -0
  711. package/ts_interfaces/data/auth.ts +8 -0
  712. package/ts_interfaces/data/index.ts +2 -0
  713. package/ts_interfaces/data/stats.ts +101 -0
  714. package/ts_interfaces/index.ts +9 -0
  715. package/ts_interfaces/plugins.ts +6 -0
  716. package/ts_interfaces/requests/admin.ts +46 -0
  717. package/ts_interfaces/requests/config.ts +35 -0
  718. package/ts_interfaces/requests/index.ts +4 -0
  719. package/ts_interfaces/requests/logs.ts +44 -0
  720. package/ts_interfaces/requests/stats.ts +162 -0
  721. package/ts_interfaces/tspublish.json +3 -0
  722. package/ts_web/00_commitinfo_data.ts +8 -0
  723. package/ts_web/appstate.ts +361 -0
  724. package/ts_web/elements/index.ts +7 -0
  725. package/ts_web/elements/ops-dashboard.ts +165 -0
  726. package/ts_web/elements/ops-view-config.ts +268 -0
  727. package/ts_web/elements/ops-view-logs.ts +207 -0
  728. package/ts_web/elements/ops-view-overview.ts +222 -0
  729. package/ts_web/elements/ops-view-security.ts +471 -0
  730. package/ts_web/elements/ops-view-stats.ts +299 -0
  731. package/ts_web/elements/shared/css.ts +10 -0
  732. package/ts_web/elements/shared/index.ts +2 -0
  733. package/ts_web/elements/shared/ops-sectionheading.ts +42 -0
  734. package/ts_web/index.ts +9 -0
  735. package/ts_web/plugins.ts +11 -0
  736. package/ts_web/tspublish.json +3 -0
  737. package/tsconfig.json +15 -0
@@ -0,0 +1,282 @@
1
+ import { PlatformError } from './base.errors.js';
2
+ import { ErrorCategory, ErrorRecoverability, ErrorSeverity } from './error.codes.js';
3
+ import { logger } from '../logger.js';
4
+ /**
5
+ * Global error handler configuration
6
+ */
7
+ const config = {
8
+ logErrors: true,
9
+ includeStacksInProd: false,
10
+ retry: {
11
+ maxAttempts: 3,
12
+ baseDelay: 1000,
13
+ maxDelay: 30000,
14
+ backoffFactor: 2
15
+ }
16
+ };
17
+ /**
18
+ * Error handler utility
19
+ * Provides methods for consistent error handling across the platform
20
+ */
21
+ export class ErrorHandler {
22
+ /**
23
+ * Current configuration
24
+ */
25
+ static { this.config = config; }
26
+ /**
27
+ * Update error handler configuration
28
+ *
29
+ * @param newConfig New configuration (partial)
30
+ */
31
+ static configure(newConfig) {
32
+ ErrorHandler.config = {
33
+ ...ErrorHandler.config,
34
+ ...newConfig,
35
+ retry: {
36
+ ...ErrorHandler.config.retry,
37
+ ...(newConfig.retry || {})
38
+ }
39
+ };
40
+ }
41
+ /**
42
+ * Convert any error to a PlatformError
43
+ *
44
+ * @param error Error to convert
45
+ * @param defaultCode Default error code if not a PlatformError
46
+ * @param context Additional context
47
+ * @returns PlatformError instance
48
+ */
49
+ static toPlatformError(error, defaultCode, context = {}) {
50
+ // If already a PlatformError, just add context
51
+ if (error instanceof PlatformError) {
52
+ // Add context if provided
53
+ if (Object.keys(context).length > 0) {
54
+ return new error.constructor(error.message, error.code, error.severity, error.category, error.recoverability, {
55
+ ...error.context,
56
+ ...context,
57
+ data: {
58
+ ...(error.context.data || {}),
59
+ ...(context.data || {})
60
+ }
61
+ });
62
+ }
63
+ return error;
64
+ }
65
+ // Convert standard Error to PlatformError
66
+ if (error instanceof Error) {
67
+ return new PlatformError(error.message, defaultCode, ErrorSeverity.MEDIUM, ErrorCategory.OPERATION, ErrorRecoverability.NON_RECOVERABLE, {
68
+ ...context,
69
+ data: {
70
+ ...(context.data || {}),
71
+ originalError: {
72
+ name: error.name,
73
+ message: error.message,
74
+ stack: error.stack
75
+ }
76
+ }
77
+ });
78
+ }
79
+ // Not an Error instance
80
+ return new PlatformError(typeof error === 'string' ? error : 'Unknown error', defaultCode, ErrorSeverity.MEDIUM, ErrorCategory.OPERATION, ErrorRecoverability.NON_RECOVERABLE, context);
81
+ }
82
+ /**
83
+ * Format an error for API responses
84
+ * Sanitizes errors for safe external exposure
85
+ *
86
+ * @param error Error to format
87
+ * @param includeDetails Whether to include detailed information
88
+ * @returns Formatted error object
89
+ */
90
+ static formatErrorForResponse(error, includeDetails = false) {
91
+ const platformError = ErrorHandler.toPlatformError(error, 'PLATFORM_OPERATION_ERROR');
92
+ // Basic error information
93
+ const responseError = {
94
+ code: platformError.code,
95
+ message: platformError.getUserMessage(),
96
+ requestId: platformError.context.requestId
97
+ };
98
+ // Include more details if requested
99
+ if (includeDetails) {
100
+ responseError.details = {
101
+ severity: platformError.severity,
102
+ category: platformError.category,
103
+ rawMessage: platformError.message,
104
+ data: platformError.context.data
105
+ };
106
+ // Only include stack trace in non-production or if explicitly enabled
107
+ if (process.env.NODE_ENV !== 'production' || ErrorHandler.config.includeStacksInProd) {
108
+ responseError.details.stack = platformError.stack;
109
+ }
110
+ }
111
+ return responseError;
112
+ }
113
+ /**
114
+ * Handle an error with consistent logging and formatting
115
+ *
116
+ * @param error Error to handle
117
+ * @param defaultCode Default error code if not a PlatformError
118
+ * @param context Additional context
119
+ * @returns Formatted error for response
120
+ */
121
+ static handleError(error, defaultCode, context = {}) {
122
+ const platformError = ErrorHandler.toPlatformError(error, defaultCode, context);
123
+ // Log the error if enabled
124
+ if (ErrorHandler.config.logErrors) {
125
+ logger.error(platformError.message, {
126
+ error_code: platformError.code,
127
+ error_name: platformError.name,
128
+ error_severity: platformError.severity,
129
+ error_category: platformError.category,
130
+ error_recoverability: platformError.recoverability,
131
+ ...platformError.context,
132
+ stack: platformError.stack
133
+ });
134
+ }
135
+ // Return formatted error for response
136
+ const isDetailedMode = process.env.NODE_ENV !== 'production';
137
+ return ErrorHandler.formatErrorForResponse(platformError, isDetailedMode);
138
+ }
139
+ /**
140
+ * Execute a function with error handling
141
+ *
142
+ * @param fn Function to execute
143
+ * @param defaultCode Default error code if the function throws
144
+ * @param context Additional context
145
+ * @returns Function result or error
146
+ */
147
+ static async execute(fn, defaultCode, context = {}) {
148
+ try {
149
+ return await fn();
150
+ }
151
+ catch (error) {
152
+ throw ErrorHandler.toPlatformError(error, defaultCode, context);
153
+ }
154
+ }
155
+ /**
156
+ * Execute a function with retries and exponential backoff
157
+ *
158
+ * @param fn Function to execute
159
+ * @param defaultCode Default error code if the function throws
160
+ * @param options Retry options
161
+ * @param context Additional context
162
+ * @returns Function result or error after max retries
163
+ */
164
+ static async executeWithRetry(fn, defaultCode, options = {}, context = {}) {
165
+ const { maxAttempts = ErrorHandler.config.retry.maxAttempts, baseDelay = ErrorHandler.config.retry.baseDelay, maxDelay = ErrorHandler.config.retry.maxDelay, backoffFactor = ErrorHandler.config.retry.backoffFactor, retryableErrorCodes = [], retryableErrorPatterns = [], onRetry = () => { } } = options;
166
+ let lastError;
167
+ for (let attempt = 0; attempt < maxAttempts; attempt++) {
168
+ try {
169
+ return await fn();
170
+ }
171
+ catch (error) {
172
+ // Convert to PlatformError
173
+ const platformError = ErrorHandler.toPlatformError(error, defaultCode, {
174
+ ...context,
175
+ retry: {
176
+ currentRetry: attempt,
177
+ maxRetries: maxAttempts,
178
+ nextRetryAt: 0 // Will be set below if retrying
179
+ }
180
+ });
181
+ lastError = platformError;
182
+ // Check if we should retry
183
+ const isLastAttempt = attempt >= maxAttempts - 1;
184
+ if (isLastAttempt) {
185
+ // No more retries
186
+ throw platformError;
187
+ }
188
+ // Check if error is retryable
189
+ const isRetryable =
190
+ // Built-in recoverability
191
+ platformError.recoverability === ErrorRecoverability.RECOVERABLE ||
192
+ platformError.recoverability === ErrorRecoverability.MAYBE_RECOVERABLE ||
193
+ platformError.recoverability === ErrorRecoverability.TRANSIENT ||
194
+ // Specifically included error codes
195
+ retryableErrorCodes.includes(platformError.code) ||
196
+ // Matches error message patterns
197
+ retryableErrorPatterns.some(pattern => pattern.test(platformError.message));
198
+ if (!isRetryable) {
199
+ throw platformError;
200
+ }
201
+ // Calculate delay with exponential backoff
202
+ const delay = Math.min(baseDelay * Math.pow(backoffFactor, attempt), maxDelay);
203
+ // Add jitter to prevent thundering herd problem (±20%)
204
+ const jitter = 0.8 + Math.random() * 0.4;
205
+ const actualDelay = Math.floor(delay * jitter);
206
+ // Update nextRetryAt in error context
207
+ const nextRetryAt = Date.now() + actualDelay;
208
+ platformError.context.retry.nextRetryAt = nextRetryAt;
209
+ // Log retry attempt
210
+ logger.warn(`Retrying operation after error (attempt ${attempt + 1}/${maxAttempts}): ${platformError.message}`, {
211
+ error_code: platformError.code,
212
+ retry_attempt: attempt + 1,
213
+ retry_max_attempts: maxAttempts,
214
+ retry_delay_ms: actualDelay,
215
+ retry_next_at: new Date(nextRetryAt).toISOString()
216
+ });
217
+ // Call onRetry callback
218
+ onRetry(platformError, attempt + 1, actualDelay);
219
+ // Wait before next retry
220
+ await new Promise(resolve => setTimeout(resolve, actualDelay));
221
+ }
222
+ }
223
+ // This should never happen, but TypeScript needs it
224
+ throw lastError;
225
+ }
226
+ }
227
+ /**
228
+ * Create a middleware for handling errors in HTTP requests
229
+ *
230
+ * @returns Middleware function
231
+ */
232
+ export function createErrorHandlerMiddleware() {
233
+ return (error, req, res, next) => {
234
+ // Add request context
235
+ const context = {
236
+ requestId: req.headers['x-request-id'] || req.headers['x-correlation-id'],
237
+ component: 'HttpServer',
238
+ operation: `${req.method} ${req.url}`,
239
+ data: {
240
+ method: req.method,
241
+ url: req.url,
242
+ query: req.query,
243
+ params: req.params,
244
+ ip: req.ip || req.connection.remoteAddress,
245
+ userAgent: req.headers['user-agent']
246
+ }
247
+ };
248
+ // Handle the error
249
+ const formattedError = ErrorHandler.handleError(error, 'PLATFORM_OPERATION_ERROR', context);
250
+ // Set status code based on error type
251
+ let statusCode = 500;
252
+ if (error instanceof PlatformError) {
253
+ // Map error categories to HTTP status codes
254
+ switch (error.category) {
255
+ case ErrorCategory.VALIDATION:
256
+ statusCode = 400;
257
+ break;
258
+ case ErrorCategory.AUTHENTICATION:
259
+ statusCode = 401;
260
+ break;
261
+ case ErrorCategory.RESOURCE:
262
+ statusCode = 429;
263
+ break;
264
+ case ErrorCategory.OPERATION:
265
+ statusCode = 400;
266
+ break;
267
+ default:
268
+ statusCode = 500;
269
+ }
270
+ }
271
+ else if (error.statusCode) {
272
+ // Use provided status code if available
273
+ statusCode = error.statusCode;
274
+ }
275
+ // Send error response
276
+ res.status(statusCode).json({
277
+ success: false,
278
+ error: formattedError
279
+ });
280
+ };
281
+ }
282
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RzL2Vycm9ycy9lcnJvci1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUE0QnRDOztHQUVHO0FBQ0gsTUFBTSxNQUFNLEdBQXdCO0lBQ2xDLFNBQVMsRUFBRSxJQUFJO0lBQ2YsbUJBQW1CLEVBQUUsS0FBSztJQUMxQixLQUFLLEVBQUU7UUFDTCxXQUFXLEVBQUUsQ0FBQztRQUNkLFNBQVMsRUFBRSxJQUFJO1FBQ2YsUUFBUSxFQUFFLEtBQUs7UUFDZixhQUFhLEVBQUUsQ0FBQztLQUNqQjtDQUNGLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sWUFBWTtJQUN2Qjs7T0FFRzthQUNXLFdBQU0sR0FBRyxNQUFNLENBQUM7SUFFOUI7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxTQUFTLENBQUMsU0FBdUM7UUFDN0QsWUFBWSxDQUFDLE1BQU0sR0FBRztZQUNwQixHQUFHLFlBQVksQ0FBQyxNQUFNO1lBQ3RCLEdBQUcsU0FBUztZQUNaLEtBQUssRUFBRTtnQkFDTCxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSztnQkFDNUIsR0FBRyxDQUFDLFNBQVMsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO2FBQzNCO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksTUFBTSxDQUFDLGVBQWUsQ0FDM0IsS0FBVSxFQUNWLFdBQW1CLEVBQ25CLFVBQXlCLEVBQUU7UUFFM0IsK0NBQStDO1FBQy9DLElBQUksS0FBSyxZQUFZLGFBQWEsRUFBRSxDQUFDO1lBQ25D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
@@ -0,0 +1,115 @@
1
+ /**
2
+ * Platform Service Error Codes
3
+ *
4
+ * This file contains all error codes used across the platform service.
5
+ *
6
+ * Format: PREFIX_ERROR_TYPE
7
+ * - PREFIX: Component/domain prefix (e.g., EMAIL, MTA, SMS)
8
+ * - ERROR_TYPE: Specific error type within the domain
9
+ */
10
+ export declare const PLATFORM_INITIALIZATION_ERROR = "PLATFORM_INITIALIZATION_ERROR";
11
+ export declare const PLATFORM_CONFIGURATION_ERROR = "PLATFORM_CONFIGURATION_ERROR";
12
+ export declare const PLATFORM_OPERATION_ERROR = "PLATFORM_OPERATION_ERROR";
13
+ export declare const PLATFORM_NOT_IMPLEMENTED = "PLATFORM_NOT_IMPLEMENTED";
14
+ export declare const PLATFORM_NOT_SUPPORTED = "PLATFORM_NOT_SUPPORTED";
15
+ export declare const PLATFORM_SERVICE_UNAVAILABLE = "PLATFORM_SERVICE_UNAVAILABLE";
16
+ export declare const EMAIL_SERVICE_ERROR = "EMAIL_SERVICE_ERROR";
17
+ export declare const EMAIL_TEMPLATE_ERROR = "EMAIL_TEMPLATE_ERROR";
18
+ export declare const EMAIL_VALIDATION_ERROR = "EMAIL_VALIDATION_ERROR";
19
+ export declare const EMAIL_SEND_ERROR = "EMAIL_SEND_ERROR";
20
+ export declare const EMAIL_RECEIVE_ERROR = "EMAIL_RECEIVE_ERROR";
21
+ export declare const EMAIL_ATTACHMENT_ERROR = "EMAIL_ATTACHMENT_ERROR";
22
+ export declare const EMAIL_PARSE_ERROR = "EMAIL_PARSE_ERROR";
23
+ export declare const EMAIL_RATE_LIMIT_EXCEEDED = "EMAIL_RATE_LIMIT_EXCEEDED";
24
+ export declare const MTA_CONNECTION_ERROR = "MTA_CONNECTION_ERROR";
25
+ export declare const MTA_AUTHENTICATION_ERROR = "MTA_AUTHENTICATION_ERROR";
26
+ export declare const MTA_DELIVERY_ERROR = "MTA_DELIVERY_ERROR";
27
+ export declare const MTA_CONFIGURATION_ERROR = "MTA_CONFIGURATION_ERROR";
28
+ export declare const MTA_DNS_ERROR = "MTA_DNS_ERROR";
29
+ export declare const MTA_TIMEOUT_ERROR = "MTA_TIMEOUT_ERROR";
30
+ export declare const MTA_PROTOCOL_ERROR = "MTA_PROTOCOL_ERROR";
31
+ export declare const BOUNCE_PROCESSING_ERROR = "BOUNCE_PROCESSING_ERROR";
32
+ export declare const BOUNCE_STORAGE_ERROR = "BOUNCE_STORAGE_ERROR";
33
+ export declare const BOUNCE_CLASSIFICATION_ERROR = "BOUNCE_CLASSIFICATION_ERROR";
34
+ export declare const AUTH_SPF_ERROR = "AUTH_SPF_ERROR";
35
+ export declare const AUTH_DKIM_ERROR = "AUTH_DKIM_ERROR";
36
+ export declare const AUTH_DMARC_ERROR = "AUTH_DMARC_ERROR";
37
+ export declare const AUTH_KEY_ERROR = "AUTH_KEY_ERROR";
38
+ export declare const SCAN_ANALYSIS_ERROR = "SCAN_ANALYSIS_ERROR";
39
+ export declare const SCAN_MALWARE_DETECTED = "SCAN_MALWARE_DETECTED";
40
+ export declare const SCAN_PHISHING_DETECTED = "SCAN_PHISHING_DETECTED";
41
+ export declare const SCAN_CONTENT_REJECTED = "SCAN_CONTENT_REJECTED";
42
+ export declare const REPUTATION_CHECK_ERROR = "REPUTATION_CHECK_ERROR";
43
+ export declare const REPUTATION_DATA_ERROR = "REPUTATION_DATA_ERROR";
44
+ export declare const REPUTATION_BLOCKLIST_ERROR = "REPUTATION_BLOCKLIST_ERROR";
45
+ export declare const REPUTATION_UPDATE_ERROR = "REPUTATION_UPDATE_ERROR";
46
+ export declare const WARMUP_ALLOCATION_ERROR = "WARMUP_ALLOCATION_ERROR";
47
+ export declare const WARMUP_LIMIT_EXCEEDED = "WARMUP_LIMIT_EXCEEDED";
48
+ export declare const WARMUP_SCHEDULE_ERROR = "WARMUP_SCHEDULE_ERROR";
49
+ export declare const NETWORK_CONNECTION_ERROR = "NETWORK_CONNECTION_ERROR";
50
+ export declare const NETWORK_TIMEOUT = "NETWORK_TIMEOUT";
51
+ export declare const NETWORK_DNS_ERROR = "NETWORK_DNS_ERROR";
52
+ export declare const NETWORK_TLS_ERROR = "NETWORK_TLS_ERROR";
53
+ export declare const QUEUE_FULL_ERROR = "QUEUE_FULL_ERROR";
54
+ export declare const QUEUE_PROCESSING_ERROR = "QUEUE_PROCESSING_ERROR";
55
+ export declare const QUEUE_PERSISTENCE_ERROR = "QUEUE_PERSISTENCE_ERROR";
56
+ export declare const QUEUE_ITEM_NOT_FOUND = "QUEUE_ITEM_NOT_FOUND";
57
+ export declare const DCR_ROUTING_ERROR = "DCR_ROUTING_ERROR";
58
+ export declare const DCR_CONFIGURATION_ERROR = "DCR_CONFIGURATION_ERROR";
59
+ export declare const DCR_PROXY_ERROR = "DCR_PROXY_ERROR";
60
+ export declare const DCR_DOMAIN_ERROR = "DCR_DOMAIN_ERROR";
61
+ export declare const SMS_SERVICE_ERROR = "SMS_SERVICE_ERROR";
62
+ export declare const SMS_SEND_ERROR = "SMS_SEND_ERROR";
63
+ export declare const SMS_VALIDATION_ERROR = "SMS_VALIDATION_ERROR";
64
+ export declare const SMS_RATE_LIMIT_EXCEEDED = "SMS_RATE_LIMIT_EXCEEDED";
65
+ export declare const STORAGE_WRITE_ERROR = "STORAGE_WRITE_ERROR";
66
+ export declare const STORAGE_READ_ERROR = "STORAGE_READ_ERROR";
67
+ export declare const STORAGE_DELETE_ERROR = "STORAGE_DELETE_ERROR";
68
+ export declare const STORAGE_QUOTA_EXCEEDED = "STORAGE_QUOTA_EXCEEDED";
69
+ export declare const RULE_VALIDATION_ERROR = "RULE_VALIDATION_ERROR";
70
+ export declare const RULE_EXECUTION_ERROR = "RULE_EXECUTION_ERROR";
71
+ export declare const RULE_NOT_FOUND = "RULE_NOT_FOUND";
72
+ export declare enum ErrorSeverity {
73
+ /** Critical errors that require immediate attention */
74
+ CRITICAL = "CRITICAL",
75
+ /** High-impact errors that may affect service functioning */
76
+ HIGH = "HIGH",
77
+ /** Medium-impact errors that cause partial degradation */
78
+ MEDIUM = "MEDIUM",
79
+ /** Low-impact errors that have minimal or local impact */
80
+ LOW = "LOW",
81
+ /** Informational errors that are not problematic */
82
+ INFO = "INFO"
83
+ }
84
+ export declare enum ErrorCategory {
85
+ /** Errors related to configuration */
86
+ CONFIGURATION = "CONFIGURATION",
87
+ /** Errors related to network connectivity */
88
+ CONNECTIVITY = "CONNECTIVITY",
89
+ /** Errors related to authentication/authorization */
90
+ AUTHENTICATION = "AUTHENTICATION",
91
+ /** Errors related to data validation */
92
+ VALIDATION = "VALIDATION",
93
+ /** Errors related to resource availability */
94
+ RESOURCE = "RESOURCE",
95
+ /** Errors related to service operations */
96
+ OPERATION = "OPERATION",
97
+ /** Errors related to third-party integrations */
98
+ INTEGRATION = "INTEGRATION",
99
+ /** Errors related to security */
100
+ SECURITY = "SECURITY",
101
+ /** Errors related to data storage */
102
+ STORAGE = "STORAGE",
103
+ /** Errors that don't fit into other categories */
104
+ OTHER = "OTHER"
105
+ }
106
+ export declare enum ErrorRecoverability {
107
+ /** Error cannot be automatically recovered from */
108
+ NON_RECOVERABLE = "NON_RECOVERABLE",
109
+ /** Error might be recoverable with retry */
110
+ MAYBE_RECOVERABLE = "MAYBE_RECOVERABLE",
111
+ /** Error is definitely recoverable with retries */
112
+ RECOVERABLE = "RECOVERABLE",
113
+ /** Error is transient and should resolve without action */
114
+ TRANSIENT = "TRANSIENT"
115
+ }
@@ -0,0 +1,136 @@
1
+ /**
2
+ * Platform Service Error Codes
3
+ *
4
+ * This file contains all error codes used across the platform service.
5
+ *
6
+ * Format: PREFIX_ERROR_TYPE
7
+ * - PREFIX: Component/domain prefix (e.g., EMAIL, MTA, SMS)
8
+ * - ERROR_TYPE: Specific error type within the domain
9
+ */
10
+ // General platform errors (PLATFORM_*)
11
+ export const PLATFORM_INITIALIZATION_ERROR = 'PLATFORM_INITIALIZATION_ERROR';
12
+ export const PLATFORM_CONFIGURATION_ERROR = 'PLATFORM_CONFIGURATION_ERROR';
13
+ export const PLATFORM_OPERATION_ERROR = 'PLATFORM_OPERATION_ERROR';
14
+ export const PLATFORM_NOT_IMPLEMENTED = 'PLATFORM_NOT_IMPLEMENTED';
15
+ export const PLATFORM_NOT_SUPPORTED = 'PLATFORM_NOT_SUPPORTED';
16
+ export const PLATFORM_SERVICE_UNAVAILABLE = 'PLATFORM_SERVICE_UNAVAILABLE';
17
+ // Email service errors (EMAIL_*)
18
+ export const EMAIL_SERVICE_ERROR = 'EMAIL_SERVICE_ERROR';
19
+ export const EMAIL_TEMPLATE_ERROR = 'EMAIL_TEMPLATE_ERROR';
20
+ export const EMAIL_VALIDATION_ERROR = 'EMAIL_VALIDATION_ERROR';
21
+ export const EMAIL_SEND_ERROR = 'EMAIL_SEND_ERROR';
22
+ export const EMAIL_RECEIVE_ERROR = 'EMAIL_RECEIVE_ERROR';
23
+ export const EMAIL_ATTACHMENT_ERROR = 'EMAIL_ATTACHMENT_ERROR';
24
+ export const EMAIL_PARSE_ERROR = 'EMAIL_PARSE_ERROR';
25
+ export const EMAIL_RATE_LIMIT_EXCEEDED = 'EMAIL_RATE_LIMIT_EXCEEDED';
26
+ // MTA-specific errors (MTA_*)
27
+ export const MTA_CONNECTION_ERROR = 'MTA_CONNECTION_ERROR';
28
+ export const MTA_AUTHENTICATION_ERROR = 'MTA_AUTHENTICATION_ERROR';
29
+ export const MTA_DELIVERY_ERROR = 'MTA_DELIVERY_ERROR';
30
+ export const MTA_CONFIGURATION_ERROR = 'MTA_CONFIGURATION_ERROR';
31
+ export const MTA_DNS_ERROR = 'MTA_DNS_ERROR';
32
+ export const MTA_TIMEOUT_ERROR = 'MTA_TIMEOUT_ERROR';
33
+ export const MTA_PROTOCOL_ERROR = 'MTA_PROTOCOL_ERROR';
34
+ // Bounce management errors (BOUNCE_*)
35
+ export const BOUNCE_PROCESSING_ERROR = 'BOUNCE_PROCESSING_ERROR';
36
+ export const BOUNCE_STORAGE_ERROR = 'BOUNCE_STORAGE_ERROR';
37
+ export const BOUNCE_CLASSIFICATION_ERROR = 'BOUNCE_CLASSIFICATION_ERROR';
38
+ // Email authentication errors (AUTH_*)
39
+ export const AUTH_SPF_ERROR = 'AUTH_SPF_ERROR';
40
+ export const AUTH_DKIM_ERROR = 'AUTH_DKIM_ERROR';
41
+ export const AUTH_DMARC_ERROR = 'AUTH_DMARC_ERROR';
42
+ export const AUTH_KEY_ERROR = 'AUTH_KEY_ERROR';
43
+ // Content scanning errors (SCAN_*)
44
+ export const SCAN_ANALYSIS_ERROR = 'SCAN_ANALYSIS_ERROR';
45
+ export const SCAN_MALWARE_DETECTED = 'SCAN_MALWARE_DETECTED';
46
+ export const SCAN_PHISHING_DETECTED = 'SCAN_PHISHING_DETECTED';
47
+ export const SCAN_CONTENT_REJECTED = 'SCAN_CONTENT_REJECTED';
48
+ // IP and reputation errors (REPUTATION_*)
49
+ export const REPUTATION_CHECK_ERROR = 'REPUTATION_CHECK_ERROR';
50
+ export const REPUTATION_DATA_ERROR = 'REPUTATION_DATA_ERROR';
51
+ export const REPUTATION_BLOCKLIST_ERROR = 'REPUTATION_BLOCKLIST_ERROR';
52
+ export const REPUTATION_UPDATE_ERROR = 'REPUTATION_UPDATE_ERROR';
53
+ // IP warmup errors (WARMUP_*)
54
+ export const WARMUP_ALLOCATION_ERROR = 'WARMUP_ALLOCATION_ERROR';
55
+ export const WARMUP_LIMIT_EXCEEDED = 'WARMUP_LIMIT_EXCEEDED';
56
+ export const WARMUP_SCHEDULE_ERROR = 'WARMUP_SCHEDULE_ERROR';
57
+ // Network and connectivity errors (NETWORK_*)
58
+ export const NETWORK_CONNECTION_ERROR = 'NETWORK_CONNECTION_ERROR';
59
+ export const NETWORK_TIMEOUT = 'NETWORK_TIMEOUT';
60
+ export const NETWORK_DNS_ERROR = 'NETWORK_DNS_ERROR';
61
+ export const NETWORK_TLS_ERROR = 'NETWORK_TLS_ERROR';
62
+ // Queue and processing errors (QUEUE_*)
63
+ export const QUEUE_FULL_ERROR = 'QUEUE_FULL_ERROR';
64
+ export const QUEUE_PROCESSING_ERROR = 'QUEUE_PROCESSING_ERROR';
65
+ export const QUEUE_PERSISTENCE_ERROR = 'QUEUE_PERSISTENCE_ERROR';
66
+ export const QUEUE_ITEM_NOT_FOUND = 'QUEUE_ITEM_NOT_FOUND';
67
+ // DcRouter errors (DCR_*)
68
+ export const DCR_ROUTING_ERROR = 'DCR_ROUTING_ERROR';
69
+ export const DCR_CONFIGURATION_ERROR = 'DCR_CONFIGURATION_ERROR';
70
+ export const DCR_PROXY_ERROR = 'DCR_PROXY_ERROR';
71
+ export const DCR_DOMAIN_ERROR = 'DCR_DOMAIN_ERROR';
72
+ // SMS service errors (SMS_*)
73
+ export const SMS_SERVICE_ERROR = 'SMS_SERVICE_ERROR';
74
+ export const SMS_SEND_ERROR = 'SMS_SEND_ERROR';
75
+ export const SMS_VALIDATION_ERROR = 'SMS_VALIDATION_ERROR';
76
+ export const SMS_RATE_LIMIT_EXCEEDED = 'SMS_RATE_LIMIT_EXCEEDED';
77
+ // Storage errors (STORAGE_*)
78
+ export const STORAGE_WRITE_ERROR = 'STORAGE_WRITE_ERROR';
79
+ export const STORAGE_READ_ERROR = 'STORAGE_READ_ERROR';
80
+ export const STORAGE_DELETE_ERROR = 'STORAGE_DELETE_ERROR';
81
+ export const STORAGE_QUOTA_EXCEEDED = 'STORAGE_QUOTA_EXCEEDED';
82
+ // Rule management errors (RULE_*)
83
+ export const RULE_VALIDATION_ERROR = 'RULE_VALIDATION_ERROR';
84
+ export const RULE_EXECUTION_ERROR = 'RULE_EXECUTION_ERROR';
85
+ export const RULE_NOT_FOUND = 'RULE_NOT_FOUND';
86
+ // Type definitions for error severity
87
+ export var ErrorSeverity;
88
+ (function (ErrorSeverity) {
89
+ /** Critical errors that require immediate attention */
90
+ ErrorSeverity["CRITICAL"] = "CRITICAL";
91
+ /** High-impact errors that may affect service functioning */
92
+ ErrorSeverity["HIGH"] = "HIGH";
93
+ /** Medium-impact errors that cause partial degradation */
94
+ ErrorSeverity["MEDIUM"] = "MEDIUM";
95
+ /** Low-impact errors that have minimal or local impact */
96
+ ErrorSeverity["LOW"] = "LOW";
97
+ /** Informational errors that are not problematic */
98
+ ErrorSeverity["INFO"] = "INFO";
99
+ })(ErrorSeverity || (ErrorSeverity = {}));
100
+ // Type definitions for error categories
101
+ export var ErrorCategory;
102
+ (function (ErrorCategory) {
103
+ /** Errors related to configuration */
104
+ ErrorCategory["CONFIGURATION"] = "CONFIGURATION";
105
+ /** Errors related to network connectivity */
106
+ ErrorCategory["CONNECTIVITY"] = "CONNECTIVITY";
107
+ /** Errors related to authentication/authorization */
108
+ ErrorCategory["AUTHENTICATION"] = "AUTHENTICATION";
109
+ /** Errors related to data validation */
110
+ ErrorCategory["VALIDATION"] = "VALIDATION";
111
+ /** Errors related to resource availability */
112
+ ErrorCategory["RESOURCE"] = "RESOURCE";
113
+ /** Errors related to service operations */
114
+ ErrorCategory["OPERATION"] = "OPERATION";
115
+ /** Errors related to third-party integrations */
116
+ ErrorCategory["INTEGRATION"] = "INTEGRATION";
117
+ /** Errors related to security */
118
+ ErrorCategory["SECURITY"] = "SECURITY";
119
+ /** Errors related to data storage */
120
+ ErrorCategory["STORAGE"] = "STORAGE";
121
+ /** Errors that don't fit into other categories */
122
+ ErrorCategory["OTHER"] = "OTHER";
123
+ })(ErrorCategory || (ErrorCategory = {}));
124
+ // Type definitions for error recoverability
125
+ export var ErrorRecoverability;
126
+ (function (ErrorRecoverability) {
127
+ /** Error cannot be automatically recovered from */
128
+ ErrorRecoverability["NON_RECOVERABLE"] = "NON_RECOVERABLE";
129
+ /** Error might be recoverable with retry */
130
+ ErrorRecoverability["MAYBE_RECOVERABLE"] = "MAYBE_RECOVERABLE";
131
+ /** Error is definitely recoverable with retries */
132
+ ErrorRecoverability["RECOVERABLE"] = "RECOVERABLE";
133
+ /** Error is transient and should resolve without action */
134
+ ErrorRecoverability["TRANSIENT"] = "TRANSIENT";
135
+ })(ErrorRecoverability || (ErrorRecoverability = {}));
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuY29kZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90cy9lcnJvcnMvZXJyb3IuY29kZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUc7QUFFSCx1Q0FBdUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUcsK0JBQStCLENBQUM7QUFDN0UsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsOEJBQThCLENBQUM7QUFDM0UsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsMEJBQTBCLENBQUM7QUFDbkUsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsMEJBQTBCLENBQUM7QUFDbkUsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsd0JBQXdCLENBQUM7QUFDL0QsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsOEJBQThCLENBQUM7QUFFM0UsaUNBQWlDO0FBQ2pDLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLHFCQUFxQixDQUFDO0FBQ3pELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLHNCQUFzQixDQUFDO0FBQzNELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLHdCQUF3QixDQUFDO0FBQy9ELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLGtCQUFrQixDQUFDO0FBQ25ELE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLHFCQUFxQixDQUFDO0FBQ3pELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLHdCQUF3QixDQUFDO0FBQy9ELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLG1CQUFtQixDQUFDO0FBQ3JELE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLDJCQUEyQixDQUFDO0FBRXJFLDhCQUE4QjtBQUM5QixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxzQkFBc0IsQ0FBQztBQUMzRCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRywwQkFBMEIsQ0FBQztB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
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Platform Service Error System
3
+ *
4
+ * This module provides a comprehensive error handling system for the Platform Service,
5
+ * with structured error types, error codes, and consistent patterns for logging and recovery.
6
+ */
7
+ export * from './error.codes.js';
8
+ export * from './base.errors.js';
9
+ export * from './email.errors.js';
10
+ export * from './mta.errors.js';
11
+ export * from './reputation.errors.js';
12
+ export * from './error-handler.js';
13
+ import { getErrorClassForCategory } from './base.errors.js';
14
+ export { getErrorClassForCategory };
15
+ import { PlatformError } from './base.errors.js';
16
+ /**
17
+ * Create a typed error from a standard Error
18
+ * Useful for converting errors from external libraries or APIs
19
+ *
20
+ * @param error Standard error to convert
21
+ * @param code Error code to assign
22
+ * @param contextData Additional context data
23
+ * @returns Typed PlatformError
24
+ */
25
+ export declare function fromError(error: Error, code: string, contextData?: Record<string, any>): PlatformError;
26
+ /**
27
+ * Determine if an error is retryable
28
+ *
29
+ * @param error Error to check
30
+ * @returns Boolean indicating if the error should be retried
31
+ */
32
+ export declare function isRetryable(error: any): boolean;
33
+ /**
34
+ * Create a wrapped version of a function that catches errors
35
+ * and converts them to typed PlatformErrors
36
+ *
37
+ * @param fn Function to wrap
38
+ * @param errorCode Default error code to use
39
+ * @param contextData Additional context data
40
+ * @returns Wrapped function
41
+ */
42
+ export declare function withErrorHandling<T extends (...args: any[]) => Promise<any>>(fn: T, errorCode: string, contextData?: Record<string, any>): T;
43
+ /**
44
+ * Retry a function with exponential backoff
45
+ *
46
+ * @param fn Function to retry
47
+ * @param options Retry options
48
+ * @returns Function result or throws after max retries
49
+ */
50
+ export declare function retry<T>(fn: () => Promise<T>, options?: {
51
+ maxRetries?: number;
52
+ initialDelay?: number;
53
+ maxDelay?: number;
54
+ backoffFactor?: number;
55
+ retryableErrors?: Array<string | RegExp>;
56
+ }): Promise<T>;