@zudojs/errors 0.1.1 → 1.0.1

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 (506) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +29 -8
  3. package/dist/base/core/baseError.core.d.ts +25 -2
  4. package/dist/base/core/baseError.core.js +95 -23
  5. package/dist/base/core/errorMetadata.core.d.ts +62 -5
  6. package/dist/base/core/errorMetadata.core.js +292 -23
  7. package/dist/base/types/errorCategory.helpers.js +3 -2
  8. package/dist/base/types/errorCode.type.d.ts +70 -1
  9. package/dist/base/types/errorCode.type.js +78 -2
  10. package/dist/base/types/errorSeverity.type.js +3 -2
  11. package/dist/base/utils/baseError.utils.d.ts +18 -2
  12. package/dist/base/utils/baseError.utils.js +68 -17
  13. package/dist/domain/access/rateLimit.error.d.ts +6 -1
  14. package/dist/domain/access/rateLimit.error.js +7 -9
  15. package/dist/domain/api/apiError.base.js +2 -2
  16. package/dist/domain/api/apiError.lifecycle.d.ts +10 -1
  17. package/dist/domain/api/apiError.lifecycle.js +22 -7
  18. package/dist/domain/api/apiError.routing.js +4 -4
  19. package/dist/domain/app/domain.error.d.ts +2 -0
  20. package/dist/domain/app/domain.error.js +3 -1
  21. package/dist/domain/app/lifecycleError.types.js +2 -8
  22. package/dist/domain/app/moduleError.types.d.ts +3 -0
  23. package/dist/domain/app/moduleError.types.js +6 -2
  24. package/dist/domain/body/bodyParser.error.d.ts +9 -2
  25. package/dist/domain/body/bodyParser.error.js +20 -12
  26. package/dist/domain/body/httpBodyError.base.js +1 -2
  27. package/dist/domain/body/httpBodyError.types.js +1 -3
  28. package/dist/domain/body/httpFormData.error.js +2 -4
  29. package/dist/domain/body/multipart.error.js +2 -4
  30. package/dist/domain/documentation/documentationError.base.js +4 -2
  31. package/dist/domain/documentation/documentationError.types.js +1 -11
  32. package/dist/domain/documentation/index.d.ts +1 -1
  33. package/dist/domain/documentation/index.js +1 -1
  34. package/dist/domain/event/event.error.d.ts +1 -1
  35. package/dist/domain/event/event.error.js +1 -1
  36. package/dist/domain/event/eventError.base.d.ts +4 -1
  37. package/dist/domain/event/eventError.base.js +7 -9
  38. package/dist/domain/event/eventError.handler.d.ts +12 -3
  39. package/dist/domain/event/eventError.handler.js +21 -11
  40. package/dist/domain/event/eventError.lifecycle.d.ts +20 -3
  41. package/dist/domain/event/eventError.lifecycle.js +48 -18
  42. package/dist/domain/event/eventError.serialization.d.ts +10 -2
  43. package/dist/domain/event/eventError.serialization.js +16 -4
  44. package/dist/domain/message/message.error.d.ts +1 -0
  45. package/dist/domain/message/message.error.js +1 -0
  46. package/dist/domain/message/messageError.base.d.ts +4 -1
  47. package/dist/domain/message/messageError.base.js +7 -9
  48. package/dist/domain/message/messageError.handler.d.ts +12 -3
  49. package/dist/domain/message/messageError.handler.js +22 -12
  50. package/dist/domain/message/messageError.lifecycle.d.ts +5 -1
  51. package/dist/domain/message/messageError.lifecycle.js +15 -8
  52. package/dist/domain/message/messageError.serialization.d.ts +26 -0
  53. package/dist/domain/message/messageError.serialization.js +35 -0
  54. package/dist/domain/plugin/pluginError.lifecycle.js +23 -21
  55. package/dist/domain/plugin/pluginError.runtime.d.ts +5 -1
  56. package/dist/domain/plugin/pluginError.runtime.js +12 -7
  57. package/dist/domain/queue/queueError.base.d.ts +19 -0
  58. package/dist/domain/queue/queueError.base.js +24 -4
  59. package/dist/domain/queue/queueError.job.js +2 -0
  60. package/dist/domain/queue/queueError.worker.d.ts +9 -3
  61. package/dist/domain/queue/queueError.worker.js +14 -6
  62. package/dist/domain/rpc/rpcError.base.js +0 -2
  63. package/dist/domain/rpc/rpcError.protocol.js +0 -7
  64. package/dist/domain/rpc/rpcError.transport.d.ts +10 -1
  65. package/dist/domain/rpc/rpcError.transport.js +19 -9
  66. package/dist/domain/scheduler/schedulerError.base.d.ts +17 -3
  67. package/dist/domain/scheduler/schedulerError.base.js +26 -15
  68. package/dist/domain/scheduler/schedulerError.execution.d.ts +7 -6
  69. package/dist/domain/scheduler/schedulerError.execution.js +22 -18
  70. package/dist/domain/scheduler/schedulerError.schedule.d.ts +15 -5
  71. package/dist/domain/scheduler/schedulerError.schedule.js +32 -14
  72. package/dist/domain/schema/index.d.ts +2 -1
  73. package/dist/domain/schema/index.js +1 -1
  74. package/dist/domain/schema/schemaError.base.d.ts +31 -5
  75. package/dist/domain/schema/schemaError.base.js +34 -6
  76. package/dist/domain/schema/schemaError.types.js +12 -5
  77. package/dist/domain/serialization/serializationError.base.d.ts +8 -2
  78. package/dist/domain/serialization/serializationError.base.js +38 -8
  79. package/dist/domain/serialization/serializationError.types.d.ts +22 -3
  80. package/dist/domain/serialization/serializationError.types.js +30 -5
  81. package/dist/domain/shared/domainError.helpers.d.ts +60 -0
  82. package/dist/domain/shared/domainError.helpers.js +191 -0
  83. package/dist/domain/state/conflict.error.d.ts +1 -1
  84. package/dist/domain/state/conflict.error.js +2 -2
  85. package/dist/domain/state/validationError.base.d.ts +8 -1
  86. package/dist/domain/state/validationError.base.js +11 -2
  87. package/dist/infrastructure/adapter/adapterError.base.js +6 -6
  88. package/dist/infrastructure/adapter/adapterError.lifecycle.js +0 -3
  89. package/dist/infrastructure/adapter/adapterError.operation.js +0 -5
  90. package/dist/infrastructure/cache/cacheError.base.js +1 -1
  91. package/dist/infrastructure/container/containerError.registration.js +6 -4
  92. package/dist/infrastructure/network/httpAdapter.error.js +4 -2
  93. package/dist/infrastructure/network/httpClientError.advanced.js +10 -18
  94. package/dist/infrastructure/network/httpClientError.base.d.ts +11 -0
  95. package/dist/infrastructure/network/httpClientError.base.js +47 -7
  96. package/dist/infrastructure/network/httpClientError.common.d.ts +14 -0
  97. package/dist/infrastructure/network/httpClientError.common.js +21 -31
  98. package/dist/infrastructure/network/httpClientError.specialized.js +5 -8
  99. package/dist/infrastructure/network/httpClientError.types.d.ts +23 -2
  100. package/dist/infrastructure/network/httpClientError.types.js +55 -42
  101. package/dist/infrastructure/network/httpResponse.error.js +0 -3
  102. package/dist/infrastructure/network/httpRouterError.base.js +0 -1
  103. package/dist/infrastructure/network/httpRouterError.types.d.ts +5 -3
  104. package/dist/infrastructure/network/httpRouterError.types.js +6 -7
  105. package/dist/infrastructure/network/httpServerError.error.js +6 -10
  106. package/dist/infrastructure/network/httpServerLifecycleError.base.js +0 -1
  107. package/dist/infrastructure/network/httpServerLifecycleError.types.js +0 -3
  108. package/dist/infrastructure/network/httpStream.error.js +0 -1
  109. package/dist/infrastructure/network/network.error.d.ts +1 -1
  110. package/dist/infrastructure/network/network.error.js +1 -1
  111. package/dist/infrastructure/network/networkError.factory.d.ts +9 -2
  112. package/dist/infrastructure/network/networkError.factory.js +9 -2
  113. package/dist/infrastructure/network/routePattern.error.d.ts +7 -6
  114. package/dist/infrastructure/network/routePattern.error.js +16 -8
  115. package/dist/infrastructure/network/timeoutError.base.d.ts +7 -0
  116. package/dist/infrastructure/network/timeoutError.base.js +12 -1
  117. package/dist/infrastructure/network/timeoutError.factory.d.ts +14 -0
  118. package/dist/infrastructure/network/timeoutError.factory.js +25 -17
  119. package/dist/infrastructure/service/externalService.error.d.ts +1 -1
  120. package/dist/infrastructure/service/externalService.error.js +1 -1
  121. package/dist/infrastructure/service/externalServiceError.base.d.ts +8 -0
  122. package/dist/infrastructure/service/externalServiceError.base.js +8 -11
  123. package/dist/infrastructure/service/externalServiceError.factory.d.ts +3 -1
  124. package/dist/infrastructure/service/externalServiceError.factory.js +3 -1
  125. package/dist/infrastructure/storage/databaseError.factory.js +1 -1
  126. package/dist/infrastructure/storage/storageError.factory.js +2 -2
  127. package/dist/system/cryptoError.factory.js +5 -2
  128. package/dist/system/runtimeError.base.js +1 -1
  129. package/dist/utils/errorHandler.core.d.ts +42 -8
  130. package/dist/utils/errorHandler.core.js +116 -63
  131. package/dist/utils/errorHandler.factory.d.ts +1 -1
  132. package/dist/utils/errorHandler.factory.js +2 -2
  133. package/dist/utils/errorHandler.types.d.ts +37 -1
  134. package/dist/utils/errorMapper.core.d.ts +1 -1
  135. package/dist/utils/errorMapper.core.js +1 -1
  136. package/dist/utils/errorMapper.mappers.d.ts +27 -6
  137. package/dist/utils/errorMapper.mappers.js +57 -49
  138. package/dist/utils/errorSerializer.core.d.ts +22 -3
  139. package/dist/utils/errorSerializer.core.js +144 -39
  140. package/dist/utils/errorSerializer.factory.d.ts +1 -1
  141. package/dist/utils/errorSerializer.factory.js +2 -26
  142. package/dist/utils/errorSerializer.types.d.ts +14 -4
  143. package/dist/utils/errorUtils.extraction.js +3 -2
  144. package/dist/utils/errorUtils.transform.d.ts +1 -1
  145. package/dist/utils/errorUtils.transform.js +2 -26
  146. package/dist/utils/errorUtils.typeCheck.js +7 -7
  147. package/package.json +25 -10
  148. package/dist/.tsbuildinfo +0 -1
  149. package/dist/base/core/baseError.core.d.ts.map +0 -1
  150. package/dist/base/core/baseError.core.js.map +0 -1
  151. package/dist/base/core/errorMetadata.core.d.ts.map +0 -1
  152. package/dist/base/core/errorMetadata.core.js.map +0 -1
  153. package/dist/base/core/errorMetadata.type.d.ts.map +0 -1
  154. package/dist/base/core/errorMetadata.type.js.map +0 -1
  155. package/dist/base/core/index.d.ts.map +0 -1
  156. package/dist/base/core/index.js.map +0 -1
  157. package/dist/base/index.d.ts.map +0 -1
  158. package/dist/base/index.js.map +0 -1
  159. package/dist/base/types/baseError.type.d.ts.map +0 -1
  160. package/dist/base/types/baseError.type.js.map +0 -1
  161. package/dist/base/types/errorCategory.enum.d.ts.map +0 -1
  162. package/dist/base/types/errorCategory.enum.js.map +0 -1
  163. package/dist/base/types/errorCategory.helpers.d.ts.map +0 -1
  164. package/dist/base/types/errorCategory.helpers.js.map +0 -1
  165. package/dist/base/types/errorCategory.type.d.ts.map +0 -1
  166. package/dist/base/types/errorCategory.type.js.map +0 -1
  167. package/dist/base/types/errorCode.type.d.ts.map +0 -1
  168. package/dist/base/types/errorCode.type.js.map +0 -1
  169. package/dist/base/types/errorSeverity.type.d.ts.map +0 -1
  170. package/dist/base/types/errorSeverity.type.js.map +0 -1
  171. package/dist/base/types/index.d.ts.map +0 -1
  172. package/dist/base/types/index.js.map +0 -1
  173. package/dist/base/utils/baseError.utils.d.ts.map +0 -1
  174. package/dist/base/utils/baseError.utils.js.map +0 -1
  175. package/dist/base/utils/index.d.ts.map +0 -1
  176. package/dist/base/utils/index.js.map +0 -1
  177. package/dist/domain/access/authentication.error.d.ts.map +0 -1
  178. package/dist/domain/access/authentication.error.js.map +0 -1
  179. package/dist/domain/access/authorization.error.d.ts.map +0 -1
  180. package/dist/domain/access/authorization.error.js.map +0 -1
  181. package/dist/domain/access/index.d.ts.map +0 -1
  182. package/dist/domain/access/index.js.map +0 -1
  183. package/dist/domain/access/rateLimit.error.d.ts.map +0 -1
  184. package/dist/domain/access/rateLimit.error.js.map +0 -1
  185. package/dist/domain/api/api.error.d.ts.map +0 -1
  186. package/dist/domain/api/api.error.js.map +0 -1
  187. package/dist/domain/api/apiError.base.d.ts.map +0 -1
  188. package/dist/domain/api/apiError.base.js.map +0 -1
  189. package/dist/domain/api/apiError.lifecycle.d.ts.map +0 -1
  190. package/dist/domain/api/apiError.lifecycle.js.map +0 -1
  191. package/dist/domain/api/apiError.routing.d.ts.map +0 -1
  192. package/dist/domain/api/apiError.routing.js.map +0 -1
  193. package/dist/domain/api/index.d.ts.map +0 -1
  194. package/dist/domain/api/index.js.map +0 -1
  195. package/dist/domain/app/application.error.d.ts.map +0 -1
  196. package/dist/domain/app/application.error.js.map +0 -1
  197. package/dist/domain/app/configuration.error.d.ts.map +0 -1
  198. package/dist/domain/app/configuration.error.js.map +0 -1
  199. package/dist/domain/app/domain.error.d.ts.map +0 -1
  200. package/dist/domain/app/domain.error.js.map +0 -1
  201. package/dist/domain/app/index.d.ts.map +0 -1
  202. package/dist/domain/app/index.js.map +0 -1
  203. package/dist/domain/app/lifecycle.error.d.ts.map +0 -1
  204. package/dist/domain/app/lifecycle.error.js.map +0 -1
  205. package/dist/domain/app/lifecycleError.base.d.ts.map +0 -1
  206. package/dist/domain/app/lifecycleError.base.js.map +0 -1
  207. package/dist/domain/app/lifecycleError.types.d.ts.map +0 -1
  208. package/dist/domain/app/lifecycleError.types.js.map +0 -1
  209. package/dist/domain/app/module.error.d.ts.map +0 -1
  210. package/dist/domain/app/module.error.js.map +0 -1
  211. package/dist/domain/app/moduleError.base.d.ts.map +0 -1
  212. package/dist/domain/app/moduleError.base.js.map +0 -1
  213. package/dist/domain/app/moduleError.types.d.ts.map +0 -1
  214. package/dist/domain/app/moduleError.types.js.map +0 -1
  215. package/dist/domain/body/bodyParser.error.d.ts.map +0 -1
  216. package/dist/domain/body/bodyParser.error.js.map +0 -1
  217. package/dist/domain/body/httpBody.error.d.ts.map +0 -1
  218. package/dist/domain/body/httpBody.error.js.map +0 -1
  219. package/dist/domain/body/httpBodyError.base.d.ts.map +0 -1
  220. package/dist/domain/body/httpBodyError.base.js.map +0 -1
  221. package/dist/domain/body/httpBodyError.types.d.ts.map +0 -1
  222. package/dist/domain/body/httpBodyError.types.js.map +0 -1
  223. package/dist/domain/body/httpFormData.error.d.ts.map +0 -1
  224. package/dist/domain/body/httpFormData.error.js.map +0 -1
  225. package/dist/domain/body/index.d.ts.map +0 -1
  226. package/dist/domain/body/index.js.map +0 -1
  227. package/dist/domain/body/multipart.error.d.ts.map +0 -1
  228. package/dist/domain/body/multipart.error.js.map +0 -1
  229. package/dist/domain/documentation/documentation.error.d.ts.map +0 -1
  230. package/dist/domain/documentation/documentation.error.js.map +0 -1
  231. package/dist/domain/documentation/documentationError.base.d.ts.map +0 -1
  232. package/dist/domain/documentation/documentationError.base.js.map +0 -1
  233. package/dist/domain/documentation/documentationError.types.d.ts.map +0 -1
  234. package/dist/domain/documentation/documentationError.types.js.map +0 -1
  235. package/dist/domain/documentation/index.d.ts.map +0 -1
  236. package/dist/domain/documentation/index.js.map +0 -1
  237. package/dist/domain/event/event.error.d.ts.map +0 -1
  238. package/dist/domain/event/event.error.js.map +0 -1
  239. package/dist/domain/event/eventError.base.d.ts.map +0 -1
  240. package/dist/domain/event/eventError.base.js.map +0 -1
  241. package/dist/domain/event/eventError.handler.d.ts.map +0 -1
  242. package/dist/domain/event/eventError.handler.js.map +0 -1
  243. package/dist/domain/event/eventError.lifecycle.d.ts.map +0 -1
  244. package/dist/domain/event/eventError.lifecycle.js.map +0 -1
  245. package/dist/domain/event/eventError.serialization.d.ts.map +0 -1
  246. package/dist/domain/event/eventError.serialization.js.map +0 -1
  247. package/dist/domain/event/index.d.ts.map +0 -1
  248. package/dist/domain/event/index.js.map +0 -1
  249. package/dist/domain/index.d.ts.map +0 -1
  250. package/dist/domain/index.js.map +0 -1
  251. package/dist/domain/message/index.d.ts.map +0 -1
  252. package/dist/domain/message/index.js.map +0 -1
  253. package/dist/domain/message/message.error.d.ts.map +0 -1
  254. package/dist/domain/message/message.error.js.map +0 -1
  255. package/dist/domain/message/messageError.base.d.ts.map +0 -1
  256. package/dist/domain/message/messageError.base.js.map +0 -1
  257. package/dist/domain/message/messageError.handler.d.ts.map +0 -1
  258. package/dist/domain/message/messageError.handler.js.map +0 -1
  259. package/dist/domain/message/messageError.lifecycle.d.ts.map +0 -1
  260. package/dist/domain/message/messageError.lifecycle.js.map +0 -1
  261. package/dist/domain/message/messageError.validation.d.ts.map +0 -1
  262. package/dist/domain/message/messageError.validation.js.map +0 -1
  263. package/dist/domain/plugin/index.d.ts.map +0 -1
  264. package/dist/domain/plugin/index.js.map +0 -1
  265. package/dist/domain/plugin/plugin.error.d.ts.map +0 -1
  266. package/dist/domain/plugin/plugin.error.js.map +0 -1
  267. package/dist/domain/plugin/pluginError.base.d.ts.map +0 -1
  268. package/dist/domain/plugin/pluginError.base.js.map +0 -1
  269. package/dist/domain/plugin/pluginError.lifecycle.d.ts.map +0 -1
  270. package/dist/domain/plugin/pluginError.lifecycle.js.map +0 -1
  271. package/dist/domain/plugin/pluginError.runtime.d.ts.map +0 -1
  272. package/dist/domain/plugin/pluginError.runtime.js.map +0 -1
  273. package/dist/domain/queue/index.d.ts.map +0 -1
  274. package/dist/domain/queue/index.js.map +0 -1
  275. package/dist/domain/queue/queue.error.d.ts.map +0 -1
  276. package/dist/domain/queue/queue.error.js.map +0 -1
  277. package/dist/domain/queue/queueError.base.d.ts.map +0 -1
  278. package/dist/domain/queue/queueError.base.js.map +0 -1
  279. package/dist/domain/queue/queueError.job.d.ts.map +0 -1
  280. package/dist/domain/queue/queueError.job.js.map +0 -1
  281. package/dist/domain/queue/queueError.queue.d.ts.map +0 -1
  282. package/dist/domain/queue/queueError.queue.js.map +0 -1
  283. package/dist/domain/queue/queueError.worker.d.ts.map +0 -1
  284. package/dist/domain/queue/queueError.worker.js.map +0 -1
  285. package/dist/domain/rpc/index.d.ts.map +0 -1
  286. package/dist/domain/rpc/index.js.map +0 -1
  287. package/dist/domain/rpc/rpc.error.d.ts.map +0 -1
  288. package/dist/domain/rpc/rpc.error.js.map +0 -1
  289. package/dist/domain/rpc/rpcError.base.d.ts.map +0 -1
  290. package/dist/domain/rpc/rpcError.base.js.map +0 -1
  291. package/dist/domain/rpc/rpcError.protocol.d.ts.map +0 -1
  292. package/dist/domain/rpc/rpcError.protocol.js.map +0 -1
  293. package/dist/domain/rpc/rpcError.transport.d.ts.map +0 -1
  294. package/dist/domain/rpc/rpcError.transport.js.map +0 -1
  295. package/dist/domain/scheduler/index.d.ts.map +0 -1
  296. package/dist/domain/scheduler/index.js.map +0 -1
  297. package/dist/domain/scheduler/scheduler.error.d.ts.map +0 -1
  298. package/dist/domain/scheduler/scheduler.error.js.map +0 -1
  299. package/dist/domain/scheduler/schedulerError.base.d.ts.map +0 -1
  300. package/dist/domain/scheduler/schedulerError.base.js.map +0 -1
  301. package/dist/domain/scheduler/schedulerError.execution.d.ts.map +0 -1
  302. package/dist/domain/scheduler/schedulerError.execution.js.map +0 -1
  303. package/dist/domain/scheduler/schedulerError.schedule.d.ts.map +0 -1
  304. package/dist/domain/scheduler/schedulerError.schedule.js.map +0 -1
  305. package/dist/domain/schema/index.d.ts.map +0 -1
  306. package/dist/domain/schema/index.js.map +0 -1
  307. package/dist/domain/schema/schema.error.d.ts.map +0 -1
  308. package/dist/domain/schema/schema.error.js.map +0 -1
  309. package/dist/domain/schema/schemaError.base.d.ts.map +0 -1
  310. package/dist/domain/schema/schemaError.base.js.map +0 -1
  311. package/dist/domain/schema/schemaError.types.d.ts.map +0 -1
  312. package/dist/domain/schema/schemaError.types.js.map +0 -1
  313. package/dist/domain/serialization/index.d.ts.map +0 -1
  314. package/dist/domain/serialization/index.js.map +0 -1
  315. package/dist/domain/serialization/serialization.error.d.ts.map +0 -1
  316. package/dist/domain/serialization/serialization.error.js.map +0 -1
  317. package/dist/domain/serialization/serializationError.base.d.ts.map +0 -1
  318. package/dist/domain/serialization/serializationError.base.js.map +0 -1
  319. package/dist/domain/serialization/serializationError.types.d.ts.map +0 -1
  320. package/dist/domain/serialization/serializationError.types.js.map +0 -1
  321. package/dist/domain/state/conflict.error.d.ts.map +0 -1
  322. package/dist/domain/state/conflict.error.js.map +0 -1
  323. package/dist/domain/state/index.d.ts.map +0 -1
  324. package/dist/domain/state/index.js.map +0 -1
  325. package/dist/domain/state/notFound.error.d.ts.map +0 -1
  326. package/dist/domain/state/notFound.error.js.map +0 -1
  327. package/dist/domain/state/validation.error.d.ts.map +0 -1
  328. package/dist/domain/state/validation.error.js.map +0 -1
  329. package/dist/domain/state/validationError.base.d.ts.map +0 -1
  330. package/dist/domain/state/validationError.base.js.map +0 -1
  331. package/dist/domain/state/validationError.helpers.d.ts.map +0 -1
  332. package/dist/domain/state/validationError.helpers.js.map +0 -1
  333. package/dist/index.d.ts.map +0 -1
  334. package/dist/index.js.map +0 -1
  335. package/dist/infrastructure/adapter/adapter.error.d.ts.map +0 -1
  336. package/dist/infrastructure/adapter/adapter.error.js.map +0 -1
  337. package/dist/infrastructure/adapter/adapterError.base.d.ts.map +0 -1
  338. package/dist/infrastructure/adapter/adapterError.base.js.map +0 -1
  339. package/dist/infrastructure/adapter/adapterError.lifecycle.d.ts.map +0 -1
  340. package/dist/infrastructure/adapter/adapterError.lifecycle.js.map +0 -1
  341. package/dist/infrastructure/adapter/adapterError.operation.d.ts.map +0 -1
  342. package/dist/infrastructure/adapter/adapterError.operation.js.map +0 -1
  343. package/dist/infrastructure/adapter/index.d.ts.map +0 -1
  344. package/dist/infrastructure/adapter/index.js.map +0 -1
  345. package/dist/infrastructure/cache/cache.error.d.ts.map +0 -1
  346. package/dist/infrastructure/cache/cache.error.js.map +0 -1
  347. package/dist/infrastructure/cache/cacheError.base.d.ts.map +0 -1
  348. package/dist/infrastructure/cache/cacheError.base.js.map +0 -1
  349. package/dist/infrastructure/cache/cacheError.factory.d.ts.map +0 -1
  350. package/dist/infrastructure/cache/cacheError.factory.js.map +0 -1
  351. package/dist/infrastructure/cache/index.d.ts.map +0 -1
  352. package/dist/infrastructure/cache/index.js.map +0 -1
  353. package/dist/infrastructure/container/container.error.d.ts.map +0 -1
  354. package/dist/infrastructure/container/container.error.js.map +0 -1
  355. package/dist/infrastructure/container/containerError.base.d.ts.map +0 -1
  356. package/dist/infrastructure/container/containerError.base.js.map +0 -1
  357. package/dist/infrastructure/container/containerError.registration.d.ts.map +0 -1
  358. package/dist/infrastructure/container/containerError.registration.js.map +0 -1
  359. package/dist/infrastructure/container/index.d.ts.map +0 -1
  360. package/dist/infrastructure/container/index.js.map +0 -1
  361. package/dist/infrastructure/index.d.ts.map +0 -1
  362. package/dist/infrastructure/index.js.map +0 -1
  363. package/dist/infrastructure/middleware/index.d.ts.map +0 -1
  364. package/dist/infrastructure/middleware/index.js.map +0 -1
  365. package/dist/infrastructure/middleware/middleware.error.d.ts.map +0 -1
  366. package/dist/infrastructure/middleware/middleware.error.js.map +0 -1
  367. package/dist/infrastructure/network/http.error.d.ts.map +0 -1
  368. package/dist/infrastructure/network/http.error.js.map +0 -1
  369. package/dist/infrastructure/network/httpAdapter.error.d.ts.map +0 -1
  370. package/dist/infrastructure/network/httpAdapter.error.js.map +0 -1
  371. package/dist/infrastructure/network/httpClient.errors.d.ts.map +0 -1
  372. package/dist/infrastructure/network/httpClient.errors.js.map +0 -1
  373. package/dist/infrastructure/network/httpClientError.advanced.d.ts.map +0 -1
  374. package/dist/infrastructure/network/httpClientError.advanced.js.map +0 -1
  375. package/dist/infrastructure/network/httpClientError.base.d.ts.map +0 -1
  376. package/dist/infrastructure/network/httpClientError.base.js.map +0 -1
  377. package/dist/infrastructure/network/httpClientError.common.d.ts.map +0 -1
  378. package/dist/infrastructure/network/httpClientError.common.js.map +0 -1
  379. package/dist/infrastructure/network/httpClientError.error.d.ts.map +0 -1
  380. package/dist/infrastructure/network/httpClientError.error.js.map +0 -1
  381. package/dist/infrastructure/network/httpClientError.options.d.ts.map +0 -1
  382. package/dist/infrastructure/network/httpClientError.options.js.map +0 -1
  383. package/dist/infrastructure/network/httpClientError.specialized.d.ts.map +0 -1
  384. package/dist/infrastructure/network/httpClientError.specialized.js.map +0 -1
  385. package/dist/infrastructure/network/httpClientError.types.d.ts.map +0 -1
  386. package/dist/infrastructure/network/httpClientError.types.js.map +0 -1
  387. package/dist/infrastructure/network/httpError.base.d.ts.map +0 -1
  388. package/dist/infrastructure/network/httpError.base.js.map +0 -1
  389. package/dist/infrastructure/network/httpError.helpers.d.ts.map +0 -1
  390. package/dist/infrastructure/network/httpError.helpers.js.map +0 -1
  391. package/dist/infrastructure/network/httpResponse.error.d.ts.map +0 -1
  392. package/dist/infrastructure/network/httpResponse.error.js.map +0 -1
  393. package/dist/infrastructure/network/httpRouter.error.d.ts.map +0 -1
  394. package/dist/infrastructure/network/httpRouter.error.js.map +0 -1
  395. package/dist/infrastructure/network/httpRouterError.base.d.ts.map +0 -1
  396. package/dist/infrastructure/network/httpRouterError.base.js.map +0 -1
  397. package/dist/infrastructure/network/httpRouterError.types.d.ts.map +0 -1
  398. package/dist/infrastructure/network/httpRouterError.types.js.map +0 -1
  399. package/dist/infrastructure/network/httpServerError.error.d.ts.map +0 -1
  400. package/dist/infrastructure/network/httpServerError.error.js.map +0 -1
  401. package/dist/infrastructure/network/httpServerLifecycle.error.d.ts.map +0 -1
  402. package/dist/infrastructure/network/httpServerLifecycle.error.js.map +0 -1
  403. package/dist/infrastructure/network/httpServerLifecycleError.base.d.ts.map +0 -1
  404. package/dist/infrastructure/network/httpServerLifecycleError.base.js.map +0 -1
  405. package/dist/infrastructure/network/httpServerLifecycleError.types.d.ts.map +0 -1
  406. package/dist/infrastructure/network/httpServerLifecycleError.types.js.map +0 -1
  407. package/dist/infrastructure/network/httpStream.error.d.ts.map +0 -1
  408. package/dist/infrastructure/network/httpStream.error.js.map +0 -1
  409. package/dist/infrastructure/network/index.d.ts.map +0 -1
  410. package/dist/infrastructure/network/index.js.map +0 -1
  411. package/dist/infrastructure/network/network.error.d.ts.map +0 -1
  412. package/dist/infrastructure/network/network.error.js.map +0 -1
  413. package/dist/infrastructure/network/networkError.base.d.ts.map +0 -1
  414. package/dist/infrastructure/network/networkError.base.js.map +0 -1
  415. package/dist/infrastructure/network/networkError.factory.d.ts.map +0 -1
  416. package/dist/infrastructure/network/networkError.factory.js.map +0 -1
  417. package/dist/infrastructure/network/routePattern.error.d.ts.map +0 -1
  418. package/dist/infrastructure/network/routePattern.error.js.map +0 -1
  419. package/dist/infrastructure/network/timeout.error.d.ts.map +0 -1
  420. package/dist/infrastructure/network/timeout.error.js.map +0 -1
  421. package/dist/infrastructure/network/timeoutError.base.d.ts.map +0 -1
  422. package/dist/infrastructure/network/timeoutError.base.js.map +0 -1
  423. package/dist/infrastructure/network/timeoutError.factory.d.ts.map +0 -1
  424. package/dist/infrastructure/network/timeoutError.factory.js.map +0 -1
  425. package/dist/infrastructure/service/externalService.error.d.ts.map +0 -1
  426. package/dist/infrastructure/service/externalService.error.js.map +0 -1
  427. package/dist/infrastructure/service/externalServiceError.base.d.ts.map +0 -1
  428. package/dist/infrastructure/service/externalServiceError.base.js.map +0 -1
  429. package/dist/infrastructure/service/externalServiceError.factory.d.ts.map +0 -1
  430. package/dist/infrastructure/service/externalServiceError.factory.js.map +0 -1
  431. package/dist/infrastructure/service/index.d.ts.map +0 -1
  432. package/dist/infrastructure/service/index.js.map +0 -1
  433. package/dist/infrastructure/service/service.error.d.ts.map +0 -1
  434. package/dist/infrastructure/service/service.error.js.map +0 -1
  435. package/dist/infrastructure/service/serviceError.base.d.ts.map +0 -1
  436. package/dist/infrastructure/service/serviceError.base.js.map +0 -1
  437. package/dist/infrastructure/service/serviceError.factory.d.ts.map +0 -1
  438. package/dist/infrastructure/service/serviceError.factory.js.map +0 -1
  439. package/dist/infrastructure/storage/database.error.d.ts.map +0 -1
  440. package/dist/infrastructure/storage/database.error.js.map +0 -1
  441. package/dist/infrastructure/storage/databaseError.base.d.ts.map +0 -1
  442. package/dist/infrastructure/storage/databaseError.base.js.map +0 -1
  443. package/dist/infrastructure/storage/databaseError.factory.d.ts.map +0 -1
  444. package/dist/infrastructure/storage/databaseError.factory.js.map +0 -1
  445. package/dist/infrastructure/storage/index.d.ts.map +0 -1
  446. package/dist/infrastructure/storage/index.js.map +0 -1
  447. package/dist/infrastructure/storage/storage.error.d.ts.map +0 -1
  448. package/dist/infrastructure/storage/storage.error.js.map +0 -1
  449. package/dist/infrastructure/storage/storageError.base.d.ts.map +0 -1
  450. package/dist/infrastructure/storage/storageError.base.js.map +0 -1
  451. package/dist/infrastructure/storage/storageError.factory.d.ts.map +0 -1
  452. package/dist/infrastructure/storage/storageError.factory.js.map +0 -1
  453. package/dist/system/crypto.error.d.ts.map +0 -1
  454. package/dist/system/crypto.error.js.map +0 -1
  455. package/dist/system/cryptoError.base.d.ts.map +0 -1
  456. package/dist/system/cryptoError.base.js.map +0 -1
  457. package/dist/system/cryptoError.factory.d.ts.map +0 -1
  458. package/dist/system/cryptoError.factory.js.map +0 -1
  459. package/dist/system/index.d.ts.map +0 -1
  460. package/dist/system/index.js.map +0 -1
  461. package/dist/system/logging/index.d.ts.map +0 -1
  462. package/dist/system/logging/index.js.map +0 -1
  463. package/dist/system/logging/logging.error.d.ts.map +0 -1
  464. package/dist/system/logging/logging.error.js.map +0 -1
  465. package/dist/system/runtime.error.d.ts.map +0 -1
  466. package/dist/system/runtime.error.js.map +0 -1
  467. package/dist/system/runtimeError.base.d.ts.map +0 -1
  468. package/dist/system/runtimeError.base.js.map +0 -1
  469. package/dist/system/runtimeError.types.d.ts.map +0 -1
  470. package/dist/system/runtimeError.types.js.map +0 -1
  471. package/dist/system/system.error.d.ts.map +0 -1
  472. package/dist/system/system.error.js.map +0 -1
  473. package/dist/system/systemError.base.d.ts.map +0 -1
  474. package/dist/system/systemError.base.js.map +0 -1
  475. package/dist/system/systemError.factory.d.ts.map +0 -1
  476. package/dist/system/systemError.factory.js.map +0 -1
  477. package/dist/utils/errorHandler.core.d.ts.map +0 -1
  478. package/dist/utils/errorHandler.core.js.map +0 -1
  479. package/dist/utils/errorHandler.factory.d.ts.map +0 -1
  480. package/dist/utils/errorHandler.factory.js.map +0 -1
  481. package/dist/utils/errorHandler.types.d.ts.map +0 -1
  482. package/dist/utils/errorHandler.types.js.map +0 -1
  483. package/dist/utils/errorMapper.core.d.ts.map +0 -1
  484. package/dist/utils/errorMapper.core.js.map +0 -1
  485. package/dist/utils/errorMapper.mappers.d.ts.map +0 -1
  486. package/dist/utils/errorMapper.mappers.js.map +0 -1
  487. package/dist/utils/errorMapper.registry.d.ts.map +0 -1
  488. package/dist/utils/errorMapper.registry.js.map +0 -1
  489. package/dist/utils/errorMapper.types.d.ts.map +0 -1
  490. package/dist/utils/errorMapper.types.js.map +0 -1
  491. package/dist/utils/errorSerializer.core.d.ts.map +0 -1
  492. package/dist/utils/errorSerializer.core.js.map +0 -1
  493. package/dist/utils/errorSerializer.factory.d.ts.map +0 -1
  494. package/dist/utils/errorSerializer.factory.js.map +0 -1
  495. package/dist/utils/errorSerializer.types.d.ts.map +0 -1
  496. package/dist/utils/errorSerializer.types.js.map +0 -1
  497. package/dist/utils/errorUtils.extraction.d.ts.map +0 -1
  498. package/dist/utils/errorUtils.extraction.js.map +0 -1
  499. package/dist/utils/errorUtils.helper.d.ts.map +0 -1
  500. package/dist/utils/errorUtils.helper.js.map +0 -1
  501. package/dist/utils/errorUtils.transform.d.ts.map +0 -1
  502. package/dist/utils/errorUtils.transform.js.map +0 -1
  503. package/dist/utils/errorUtils.typeCheck.d.ts.map +0 -1
  504. package/dist/utils/errorUtils.typeCheck.js.map +0 -1
  505. package/dist/utils/index.d.ts.map +0 -1
  506. package/dist/utils/index.js.map +0 -1
@@ -1,33 +1,84 @@
1
+ import { ErrorCategory } from "../types/errorCategory.type.js";
1
2
  import { ErrorCode } from "../types/errorCode.type.js";
2
- import { BaseError } from "../core/baseError.core.js";
3
+ import { ErrorSeverity } from "../types/errorSeverity.type.js";
4
+ import { BaseError, BASE_ERROR_BRAND } from "../core/baseError.core.js";
3
5
  /**
4
6
  * Determines whether an unknown value is a BaseError.
7
+ *
8
+ * Uses `instanceof` as the fast path and falls back to the package brand plus
9
+ * a structural check, so errors produced by another installed copy of
10
+ * `@zudojs/errors` are still recognised.
5
11
  */
6
12
  export function isBaseError(value) {
7
- return value instanceof BaseError;
13
+ if (value instanceof BaseError)
14
+ return true;
15
+ if (value === null || typeof value !== "object")
16
+ return false;
17
+ if (!(value instanceof Error))
18
+ return false;
19
+ const candidate = value;
20
+ return (candidate[BASE_ERROR_BRAND] === true &&
21
+ typeof candidate.code === "string" &&
22
+ typeof candidate.category === "string" &&
23
+ typeof candidate.severity === "string" &&
24
+ typeof candidate.statusCode === "number" &&
25
+ typeof candidate.expose === "boolean" &&
26
+ typeof candidate.isOperational === "boolean" &&
27
+ typeof candidate.metadata === "object" &&
28
+ candidate.metadata !== null &&
29
+ typeof candidate.toJSON === "function");
8
30
  }
31
+ /** Default message used when an unknown value is converted into a BaseError. */
32
+ export const UNKNOWN_ERROR_MESSAGE = "An unexpected error occurred.";
9
33
  /**
10
34
  * Converts an unknown thrown value into a BaseError.
35
+ *
36
+ * This is the single normalization routine shared by `toBaseError`,
37
+ * `normalizeToBaseError`, `normalizeUnknownError` and `ErrorHandler.normalize`.
38
+ * Unknown values are classified as non-operational internal errors
39
+ * (`ERR_INTERNAL_ERROR`, 500, not exposed) and the original value is kept as
40
+ * `cause`; a plain string is used as the message.
11
41
  */
12
- export function toBaseError(error, options = {}) {
13
- if (error instanceof BaseError)
14
- return error;
15
- if (error instanceof Error) {
16
- return new BaseError(options.message ?? error.message, {
42
+ export function normalizeUnknownToBaseError(value, options = {}) {
43
+ if (isBaseError(value))
44
+ return value;
45
+ const defaults = {
46
+ code: ErrorCode.INTERNAL_ERROR,
47
+ category: ErrorCategory.SYSTEM,
48
+ severity: ErrorSeverity.ERROR,
49
+ statusCode: 500,
50
+ expose: false,
51
+ isOperational: false,
52
+ };
53
+ if (value instanceof Error) {
54
+ return new BaseError(options.message ?? (value.message || UNKNOWN_ERROR_MESSAGE), {
55
+ ...defaults,
17
56
  ...options,
18
- cause: options.cause ?? error,
57
+ cause: options.cause ?? value,
19
58
  });
20
59
  }
21
- return new BaseError(options.message ?? "An unknown error occurred.", {
60
+ const message = options.message ??
61
+ (typeof value === "string" && value.length > 0
62
+ ? value
63
+ : UNKNOWN_ERROR_MESSAGE);
64
+ return new BaseError(message, {
65
+ ...defaults,
22
66
  ...options,
23
- cause: options.cause ?? error,
67
+ metadata: { originalType: typeof value, ...options.metadata },
68
+ cause: options.cause ?? value,
24
69
  });
25
70
  }
71
+ /**
72
+ * Converts an unknown thrown value into a BaseError.
73
+ */
74
+ export function toBaseError(error, options = {}) {
75
+ return normalizeUnknownToBaseError(error, options);
76
+ }
26
77
  /**
27
78
  * Extracts an error code from an unknown error.
28
79
  */
29
80
  export function getErrorCode(error) {
30
- if (error instanceof BaseError)
81
+ if (isBaseError(error))
31
82
  return error.code;
32
83
  return ErrorCode.UNKNOWN;
33
84
  }
@@ -35,23 +86,23 @@ export function getErrorCode(error) {
35
86
  * Extracts an error category from an unknown error.
36
87
  */
37
88
  export function getErrorCategory(error) {
38
- if (error instanceof BaseError)
89
+ if (isBaseError(error))
39
90
  return error.category;
40
- return "UNKNOWN";
91
+ return ErrorCategory.UNKNOWN;
41
92
  }
42
93
  /**
43
94
  * Extracts an error severity from an unknown error.
44
95
  */
45
96
  export function getErrorSeverity(error) {
46
- if (error instanceof BaseError)
97
+ if (isBaseError(error))
47
98
  return error.severity;
48
- return "ERROR";
99
+ return ErrorSeverity.ERROR;
49
100
  }
50
101
  /**
51
102
  * Extracts a status code from an unknown error.
52
103
  */
53
104
  export function getErrorStatusCode(error) {
54
- if (error instanceof BaseError)
105
+ if (isBaseError(error))
55
106
  return error.statusCode;
56
107
  return 500;
57
108
  }
@@ -59,7 +110,7 @@ export function getErrorStatusCode(error) {
59
110
  * Determines whether an unknown error is safe to expose.
60
111
  */
61
112
  export function isErrorExposable(error) {
62
- if (error instanceof BaseError)
113
+ if (isBaseError(error))
63
114
  return error.expose;
64
115
  return false;
65
116
  }
@@ -7,7 +7,12 @@ import { ErrorSeverity } from "../../base/types/errorSeverity.type.js";
7
7
  */
8
8
  export interface RateLimitErrorOptions extends Omit<BaseErrorOptions, "category"> {
9
9
  readonly category?: ErrorCategory;
10
- /** Number of seconds the client should wait before retrying. */
10
+ /**
11
+ * Number of seconds the client should wait before retrying.
12
+ *
13
+ * Must be a finite non-negative number; fractional values are rounded up
14
+ * because the HTTP `Retry-After` header requires an integer.
15
+ */
11
16
  readonly retryAfterSeconds?: number;
12
17
  }
13
18
  /**
@@ -2,12 +2,16 @@ import { BaseError } from "../../base/core/baseError.core.js";
2
2
  import { ErrorCategory } from "../../base/types/errorCategory.type.js";
3
3
  import { ErrorCode } from "../../base/types/errorCode.type.js";
4
4
  import { ErrorSeverity } from "../../base/types/errorSeverity.type.js";
5
+ import { normalizeRetryAfterSeconds } from "../shared/domainError.helpers.js";
5
6
  /**
6
7
  * Error raised when a client exceeds an allowed request or operation rate.
7
8
  */
8
9
  export class RateLimitError extends BaseError {
9
10
  retryAfterSeconds;
10
11
  constructor(message = "Too many requests. Please try again later.", options = {}) {
12
+ const retryAfterSeconds = options.retryAfterSeconds !== undefined
13
+ ? normalizeRetryAfterSeconds(options.retryAfterSeconds)
14
+ : undefined;
11
15
  super(message, {
12
16
  ...options,
13
17
  code: options.code ?? ErrorCode.RATE_LIMITED,
@@ -18,17 +22,11 @@ export class RateLimitError extends BaseError {
18
22
  isOperational: options.isOperational ?? true,
19
23
  metadata: {
20
24
  ...options.metadata,
21
- ...(options.retryAfterSeconds !== undefined
22
- ? { retryAfterSeconds: options.retryAfterSeconds }
23
- : {}),
25
+ ...(retryAfterSeconds !== undefined ? { retryAfterSeconds } : {}),
24
26
  },
25
27
  });
26
- if (options.retryAfterSeconds !== undefined) {
27
- if (!Number.isFinite(options.retryAfterSeconds) ||
28
- options.retryAfterSeconds < 0) {
29
- throw new RangeError("retryAfterSeconds must be a finite non-negative number.");
30
- }
31
- this.retryAfterSeconds = options.retryAfterSeconds;
28
+ if (retryAfterSeconds !== undefined) {
29
+ this.retryAfterSeconds = retryAfterSeconds;
32
30
  }
33
31
  }
34
32
  /** Returns the retry-after value in seconds. */
@@ -58,7 +58,7 @@ export class APIValidationError extends APIError {
58
58
  export class APIAuthenticationError extends APIError {
59
59
  constructor(message = "API authentication is required.", options = {}) {
60
60
  super(message, {
61
- code: ErrorCode.UNAUTHORIZED,
61
+ code: ErrorCode.API_AUTHENTICATION,
62
62
  endpoint: options.endpoint,
63
63
  method: options.method,
64
64
  cause: options.cause,
@@ -71,7 +71,7 @@ export class APIAuthenticationError extends APIError {
71
71
  export class APIAuthorizationError extends APIError {
72
72
  constructor(message = "You do not have permission to perform this operation.", options = {}) {
73
73
  super(message, {
74
- code: ErrorCode.FORBIDDEN,
74
+ code: ErrorCode.API_AUTHORIZATION,
75
75
  endpoint: options.endpoint,
76
76
  method: options.method,
77
77
  cause: options.cause,
@@ -2,8 +2,17 @@
2
2
  * API lifecycle error classes — rate limit, timeout, availability.
3
3
  */
4
4
  import { APIError } from "./apiError.base.js";
5
- /** Error thrown when an API rate limit is exceeded. */
5
+ /**
6
+ * Error thrown when an API rate limit is exceeded.
7
+ *
8
+ * `retryAfter` is expressed in seconds (as the HTTP `Retry-After` header);
9
+ * fractional values are rounded up and the value is only recorded in
10
+ * metadata (as `retryAfterSeconds`) when provided.
11
+ */
6
12
  export declare class APIRateLimitError extends APIError {
13
+ /** Seconds to wait before retrying, if known. */
14
+ readonly retryAfterSeconds?: number;
15
+ /** @deprecated Use `retryAfterSeconds`. */
7
16
  readonly retryAfter?: number;
8
17
  constructor(message?: string, retryAfter?: number, options?: {
9
18
  endpoint?: string;
@@ -2,29 +2,44 @@
2
2
  * API lifecycle error classes — rate limit, timeout, availability.
3
3
  */
4
4
  import { ErrorCode } from "../../base/types/errorCode.type.js";
5
+ import { assertFiniteNonNegative, normalizeRetryAfterSeconds, } from "../shared/domainError.helpers.js";
5
6
  import { APIError } from "./apiError.base.js";
6
- /** Error thrown when an API rate limit is exceeded. */
7
+ /**
8
+ * Error thrown when an API rate limit is exceeded.
9
+ *
10
+ * `retryAfter` is expressed in seconds (as the HTTP `Retry-After` header);
11
+ * fractional values are rounded up and the value is only recorded in
12
+ * metadata (as `retryAfterSeconds`) when provided.
13
+ */
7
14
  export class APIRateLimitError extends APIError {
15
+ /** Seconds to wait before retrying, if known. */
16
+ retryAfterSeconds;
17
+ /** @deprecated Use `retryAfterSeconds`. */
8
18
  retryAfter;
9
19
  constructor(message = "API rate limit exceeded.", retryAfter, options = {}) {
20
+ const retryAfterSeconds = retryAfter !== undefined
21
+ ? normalizeRetryAfterSeconds(retryAfter, "retryAfter")
22
+ : undefined;
10
23
  super(message, {
11
- code: ErrorCode.RATE_LIMITED,
24
+ code: ErrorCode.API_RATE_LIMIT,
12
25
  endpoint: options.endpoint,
13
26
  method: options.method,
14
27
  cause: options.cause,
15
- metadata: { retryAfter },
28
+ metadata: retryAfterSeconds !== undefined ? { retryAfterSeconds } : {},
16
29
  statusCode: 429,
17
30
  expose: true,
18
31
  });
19
- this.retryAfter = retryAfter;
32
+ this.retryAfterSeconds = retryAfterSeconds;
33
+ this.retryAfter = retryAfterSeconds;
20
34
  }
21
35
  }
22
36
  /** Error thrown when an API operation times out. */
23
37
  export class APITimeoutError extends APIError {
24
38
  timeoutMs;
25
39
  constructor(timeoutMs, options = {}) {
40
+ assertFiniteNonNegative("timeoutMs", timeoutMs);
26
41
  super(`API operation timed out after ${timeoutMs}ms.`, {
27
- code: ErrorCode.TIMEOUT,
42
+ code: ErrorCode.API_TIMEOUT,
28
43
  endpoint: options.endpoint,
29
44
  method: options.method,
30
45
  cause: options.cause,
@@ -39,7 +54,7 @@ export class APITimeoutError extends APIError {
39
54
  export class APIUnavailableError extends APIError {
40
55
  constructor(message = "API service is temporarily unavailable.", options = {}) {
41
56
  super(message, {
42
- code: ErrorCode.SERVICE_UNAVAILABLE,
57
+ code: ErrorCode.API_UNAVAILABLE,
43
58
  endpoint: options.endpoint,
44
59
  method: options.method,
45
60
  cause: options.cause,
@@ -52,7 +67,7 @@ export class APIUnavailableError extends APIError {
52
67
  export class APIInternalError extends APIError {
53
68
  constructor(message = "An unexpected internal API error occurred.", options = {}) {
54
69
  super(message, {
55
- code: ErrorCode.INTERNAL_ERROR,
70
+ code: ErrorCode.API_INTERNAL,
56
71
  endpoint: options.endpoint,
57
72
  method: options.method,
58
73
  cause: options.cause,
@@ -7,7 +7,7 @@ import { APIError } from "./apiError.base.js";
7
7
  export class APINotFoundError extends APIError {
8
8
  constructor(endpoint, method = "GET", options = {}) {
9
9
  super(`Endpoint "${method} ${endpoint}" was not found.`, {
10
- code: ErrorCode.NOT_FOUND,
10
+ code: ErrorCode.API_NOT_FOUND,
11
11
  endpoint,
12
12
  method,
13
13
  cause: options.cause,
@@ -20,7 +20,7 @@ export class APINotFoundError extends APIError {
20
20
  export class APIConflictError extends APIError {
21
21
  constructor(message, options = {}) {
22
22
  super(message, {
23
- code: ErrorCode.CONFLICT,
23
+ code: ErrorCode.API_CONFLICT,
24
24
  endpoint: options.endpoint,
25
25
  method: options.method,
26
26
  cause: options.cause,
@@ -33,7 +33,7 @@ export class APIConflictError extends APIError {
33
33
  export class APIOperationNotFoundError extends APIError {
34
34
  constructor(operation, options = {}) {
35
35
  super(`API operation "${operation}" was not found.`, {
36
- code: ErrorCode.NOT_FOUND,
36
+ code: ErrorCode.API_OPERATION_NOT_FOUND,
37
37
  endpoint: operation,
38
38
  cause: options.cause,
39
39
  statusCode: 404,
@@ -45,7 +45,7 @@ export class APIOperationNotFoundError extends APIError {
45
45
  export class APIDuplicateOperationError extends APIError {
46
46
  constructor(operation, options = {}) {
47
47
  super(`API operation "${operation}" is already registered.`, {
48
- code: ErrorCode.CONFLICT,
48
+ code: ErrorCode.API_DUPLICATE_OPERATION,
49
49
  endpoint: operation,
50
50
  cause: options.cause,
51
51
  statusCode: 409,
@@ -27,6 +27,8 @@ export declare function createDomainError(message: string, options?: DomainError
27
27
  export declare function isDomainError(value: unknown): value is DomainError;
28
28
  /**
29
29
  * Creates a domain error for an invalid domain state.
30
+ *
31
+ * Uses `PRECONDITION_FAILED` with HTTP 412, the status that matches the code.
30
32
  */
31
33
  export declare function invalidDomainState(message: string, metadata?: DomainErrorOptions["metadata"]): DomainError;
32
34
  /**
@@ -36,12 +36,14 @@ export function isDomainError(value) {
36
36
  }
37
37
  /**
38
38
  * Creates a domain error for an invalid domain state.
39
+ *
40
+ * Uses `PRECONDITION_FAILED` with HTTP 412, the status that matches the code.
39
41
  */
40
42
  export function invalidDomainState(message, metadata) {
41
43
  return new DomainError(message, {
42
44
  code: ErrorCode.PRECONDITION_FAILED,
43
45
  category: ErrorCategory.BUSINESS,
44
- statusCode: 409,
46
+ statusCode: 412,
45
47
  metadata,
46
48
  });
47
49
  }
@@ -2,6 +2,7 @@
2
2
  * Specific lifecycle error classes.
3
3
  */
4
4
  import { ErrorCode } from "../../base/types/errorCode.type.js";
5
+ import { assertFiniteNonNegative } from "../shared/domainError.helpers.js";
5
6
  import { LifecycleError } from "./lifecycleError.base.js";
6
7
  /** Error thrown when a lifecycle state transition is invalid. */
7
8
  export class LifecycleStateError extends LifecycleError {
@@ -13,7 +14,6 @@ export class LifecycleStateError extends LifecycleError {
13
14
  componentId,
14
15
  metadata: { fromState, toState },
15
16
  });
16
- this.name = "LifecycleStateError";
17
17
  this.fromState = fromState;
18
18
  this.toState = toState;
19
19
  }
@@ -22,6 +22,7 @@ export class LifecycleStateError extends LifecycleError {
22
22
  export class LifecycleTimeoutError extends LifecycleError {
23
23
  timeout;
24
24
  constructor(componentId, phase, timeout, cause) {
25
+ assertFiniteNonNegative("timeout", timeout);
25
26
  super(`Lifecycle operation timed out for component "${componentId}" during ${phase} after ${timeout}ms.`, {
26
27
  code: ErrorCode.LIFECYCLE_TIMEOUT,
27
28
  componentId,
@@ -29,7 +30,6 @@ export class LifecycleTimeoutError extends LifecycleError {
29
30
  cause,
30
31
  metadata: { timeout },
31
32
  });
32
- this.name = "LifecycleTimeoutError";
33
33
  this.timeout = timeout;
34
34
  }
35
35
  }
@@ -41,7 +41,6 @@ export class LifecycleDependencyError extends LifecycleError {
41
41
  code: ErrorCode.LIFECYCLE_DEPENDENCY,
42
42
  metadata: { cycle },
43
43
  });
44
- this.name = "LifecycleDependencyError";
45
44
  this.cycle = Object.freeze([...cycle]);
46
45
  }
47
46
  }
@@ -54,7 +53,6 @@ export class LifecycleComponentError extends LifecycleError {
54
53
  phase,
55
54
  cause,
56
55
  });
57
- this.name = "LifecycleComponentError";
58
56
  }
59
57
  }
60
58
  /** Error thrown when a lifecycle start operation fails. */
@@ -66,7 +64,6 @@ export class LifecycleStartError extends LifecycleError {
66
64
  phase: "start",
67
65
  cause,
68
66
  });
69
- this.name = "LifecycleStartError";
70
67
  }
71
68
  }
72
69
  /** Error thrown when a lifecycle stop operation fails. */
@@ -78,7 +75,6 @@ export class LifecycleStopError extends LifecycleError {
78
75
  phase: "stop",
79
76
  cause,
80
77
  });
81
- this.name = "LifecycleStopError";
82
78
  }
83
79
  }
84
80
  /** Error thrown when a lifecycle rollback operation fails. */
@@ -89,7 +85,6 @@ export class LifecycleRollbackError extends LifecycleError {
89
85
  componentId,
90
86
  cause,
91
87
  });
92
- this.name = "LifecycleRollbackError";
93
88
  }
94
89
  }
95
90
  /** Error thrown when an operation is attempted on a disposed lifecycle manager. */
@@ -99,7 +94,6 @@ export class LifecycleDisposedError extends LifecycleError {
99
94
  code: ErrorCode.LIFECYCLE_DISPOSED,
100
95
  statusCode: 500,
101
96
  });
102
- this.name = "LifecycleDisposedError";
103
97
  }
104
98
  }
105
99
  //# sourceMappingURL=lifecycleError.types.js.map
@@ -1,6 +1,9 @@
1
1
  import { ModuleError } from "./moduleError.base.js";
2
2
  /**
3
3
  * Error thrown when a module is not found.
4
+ *
5
+ * Module registration is a server-side concern, so this is reported as an
6
+ * internal (500, non-exposed, non-operational) failure.
4
7
  */
5
8
  export declare class ModuleNotFoundError extends ModuleError {
6
9
  constructor(moduleId: string, message?: string);
@@ -2,13 +2,17 @@ import { ErrorCode } from "../../base/types/errorCode.type.js";
2
2
  import { ModuleError } from "./moduleError.base.js";
3
3
  /**
4
4
  * Error thrown when a module is not found.
5
+ *
6
+ * Module registration is a server-side concern, so this is reported as an
7
+ * internal (500, non-exposed, non-operational) failure.
5
8
  */
6
9
  export class ModuleNotFoundError extends ModuleError {
7
10
  constructor(moduleId, message) {
8
11
  super(message ?? `Module "${moduleId}" was not found.`, {
9
12
  code: ErrorCode.MODULE_NOT_FOUND,
10
- statusCode: 404,
11
- expose: true,
13
+ statusCode: 500,
14
+ expose: false,
15
+ isOperational: false,
12
16
  moduleId,
13
17
  });
14
18
  }
@@ -15,20 +15,27 @@ export declare class BodyParserError extends BaseError {
15
15
  }
16
16
  /**
17
17
  * Error thrown when an unsupported body type is encountered.
18
+ *
19
+ * Responds with 415 Unsupported Media Type. The header value is untrusted
20
+ * input: it is stripped of control characters and truncated before being
21
+ * embedded in the message or metadata.
18
22
  */
19
23
  export declare class UnsupportedBodyTypeError extends BodyParserError {
20
24
  /**
21
- * The unsupported content type.
25
+ * The unsupported content type (sanitized and truncated).
22
26
  */
23
27
  readonly contentType: string;
24
28
  constructor(contentType: string);
25
29
  }
26
30
  /**
27
31
  * Error thrown when the Content-Length header is invalid.
32
+ *
33
+ * The header value is untrusted input: it is stripped of control characters
34
+ * and truncated before being embedded in the message or metadata.
28
35
  */
29
36
  export declare class InvalidContentLengthError extends BodyParserError {
30
37
  /**
31
- * The invalid Content-Length value.
38
+ * The invalid Content-Length value (sanitized and truncated).
32
39
  */
33
40
  readonly value: string;
34
41
  constructor(value: string);
@@ -2,6 +2,7 @@ import { BaseError } from "../../base/core/baseError.core.js";
2
2
  import { ErrorCode } from "../../base/types/errorCode.type.js";
3
3
  import { ErrorCategory } from "../../base/types/errorCategory.type.js";
4
4
  import { ErrorSeverity } from "../../base/types/errorSeverity.type.js";
5
+ import { MAX_METADATA_FRAGMENT_LENGTH, sanitizeFragment, } from "../shared/domainError.helpers.js";
5
6
  /**
6
7
  * Base error class for body parser errors.
7
8
  */
@@ -11,49 +12,56 @@ export class BodyParserError extends BaseError {
11
12
  ...options,
12
13
  code: options.code ?? ErrorCode.HTTP_BODY_PARSER,
13
14
  category: options.category ?? ErrorCategory.INPUT,
14
- severity: options.severity ?? ErrorSeverity.ERROR,
15
+ severity: options.severity ?? ErrorSeverity.WARNING,
15
16
  statusCode: options.statusCode ?? 400,
16
17
  expose: options.expose ?? true,
17
18
  });
18
- this.name = "BodyParserError";
19
19
  }
20
20
  }
21
21
  /**
22
22
  * Error thrown when an unsupported body type is encountered.
23
+ *
24
+ * Responds with 415 Unsupported Media Type. The header value is untrusted
25
+ * input: it is stripped of control characters and truncated before being
26
+ * embedded in the message or metadata.
23
27
  */
24
28
  export class UnsupportedBodyTypeError extends BodyParserError {
25
29
  /**
26
- * The unsupported content type.
30
+ * The unsupported content type (sanitized and truncated).
27
31
  */
28
32
  contentType;
29
33
  constructor(contentType) {
30
- super(`Unsupported request content type: ${contentType}`, {
34
+ const safeContentType = sanitizeFragment(contentType, MAX_METADATA_FRAGMENT_LENGTH);
35
+ super(`Unsupported request content type: ${sanitizeFragment(contentType)}`, {
31
36
  code: ErrorCode.HTTP_UNSUPPORTED_BODY_TYPE,
37
+ statusCode: 415,
32
38
  metadata: {
33
- contentType,
39
+ contentType: safeContentType,
34
40
  },
35
41
  });
36
- this.name = "UnsupportedBodyTypeError";
37
- this.contentType = contentType;
42
+ this.contentType = safeContentType;
38
43
  }
39
44
  }
40
45
  /**
41
46
  * Error thrown when the Content-Length header is invalid.
47
+ *
48
+ * The header value is untrusted input: it is stripped of control characters
49
+ * and truncated before being embedded in the message or metadata.
42
50
  */
43
51
  export class InvalidContentLengthError extends BodyParserError {
44
52
  /**
45
- * The invalid Content-Length value.
53
+ * The invalid Content-Length value (sanitized and truncated).
46
54
  */
47
55
  value;
48
56
  constructor(value) {
49
- super(`Invalid Content-Length header: ${value}`, {
57
+ const safeValue = sanitizeFragment(value, MAX_METADATA_FRAGMENT_LENGTH);
58
+ super(`Invalid Content-Length header: ${sanitizeFragment(value)}`, {
50
59
  code: ErrorCode.HTTP_INVALID_CONTENT_LENGTH,
51
60
  metadata: {
52
- value,
61
+ value: safeValue,
53
62
  },
54
63
  });
55
- this.name = "InvalidContentLengthError";
56
- this.value = value;
64
+ this.value = safeValue;
57
65
  }
58
66
  }
59
67
  /**
@@ -11,11 +11,10 @@ export class HttpBodyError extends BaseError {
11
11
  ...options,
12
12
  code: options.code ?? ErrorCode.HTTP_BODY,
13
13
  category: options.category ?? ErrorCategory.INPUT,
14
- severity: options.severity ?? ErrorSeverity.ERROR,
14
+ severity: options.severity ?? ErrorSeverity.WARNING,
15
15
  statusCode: options.statusCode ?? 400,
16
16
  expose: options.expose ?? true,
17
17
  });
18
- this.name = "HttpBodyError";
19
18
  }
20
19
  }
21
20
  /** Creates an HTTP body error. */
@@ -11,9 +11,9 @@ export class HttpBodyLimitError extends HttpBodyError {
11
11
  constructor(limit, received) {
12
12
  super("Request body exceeds the configured size limit.", {
13
13
  code: ErrorCode.HTTP_BODY_LIMIT,
14
+ statusCode: 413,
14
15
  metadata: { limit, received },
15
16
  });
16
- this.name = "HttpBodyLimitError";
17
17
  this.limit = limit;
18
18
  this.received = received;
19
19
  }
@@ -27,7 +27,6 @@ export class HttpBodyAbortedError extends HttpBodyError {
27
27
  code: ErrorCode.HTTP_BODY_ABORTED,
28
28
  statusCode: 408,
29
29
  });
30
- this.name = "HttpBodyAbortedError";
31
30
  }
32
31
  }
33
32
  /**
@@ -39,7 +38,6 @@ export class HttpBodyParseError extends HttpBodyError {
39
38
  code: ErrorCode.HTTP_BODY_PARSE,
40
39
  cause,
41
40
  });
42
- this.name = "HttpBodyParseError";
43
41
  }
44
42
  }
45
43
  //# sourceMappingURL=httpBodyError.types.js.map
@@ -11,11 +11,10 @@ export class HttpFormDataError extends BaseError {
11
11
  ...options,
12
12
  code: options.code ?? ErrorCode.HTTP_FORM_DATA,
13
13
  category: options.category ?? ErrorCategory.INPUT,
14
- severity: options.severity ?? ErrorSeverity.ERROR,
14
+ severity: options.severity ?? ErrorSeverity.WARNING,
15
15
  statusCode: options.statusCode ?? 400,
16
16
  expose: options.expose ?? true,
17
17
  });
18
- this.name = "HttpFormDataError";
19
18
  }
20
19
  }
21
20
  /**
@@ -25,8 +24,8 @@ export class HttpFormDataLimitError extends HttpFormDataError {
25
24
  constructor(message) {
26
25
  super(message, {
27
26
  code: ErrorCode.HTTP_FORM_DATA_LIMIT,
27
+ statusCode: 413,
28
28
  });
29
- this.name = "HttpFormDataLimitError";
30
29
  }
31
30
  }
32
31
  /**
@@ -37,7 +36,6 @@ export class HttpFormDataParseError extends HttpFormDataError {
37
36
  super(message, {
38
37
  code: ErrorCode.HTTP_FORM_DATA_PARSE,
39
38
  });
40
- this.name = "HttpFormDataParseError";
41
39
  }
42
40
  }
43
41
  /**