@lindorm/iris 0.4.3 → 0.6.0

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 (262) hide show
  1. package/dist/classes/IrisSource.d.ts.map +1 -1
  2. package/dist/classes/IrisSource.js +40 -7
  3. package/dist/classes/IrisSource.js.map +1 -1
  4. package/dist/decorators/CorrelationField.d.ts.map +1 -1
  5. package/dist/decorators/CorrelationField.js +2 -3
  6. package/dist/decorators/CorrelationField.js.map +1 -1
  7. package/dist/decorators/Delay.d.ts.map +1 -1
  8. package/dist/decorators/Delay.js +5 -1
  9. package/dist/decorators/Delay.js.map +1 -1
  10. package/dist/decorators/Expiry.d.ts.map +1 -1
  11. package/dist/decorators/Expiry.js +5 -1
  12. package/dist/decorators/Expiry.js.map +1 -1
  13. package/dist/decorators/Generated.d.ts +7 -1
  14. package/dist/decorators/Generated.d.ts.map +1 -1
  15. package/dist/decorators/Generated.js +17 -9
  16. package/dist/decorators/Generated.js.map +1 -1
  17. package/dist/decorators/IdentifierField.d.ts.map +1 -1
  18. package/dist/decorators/IdentifierField.js +2 -3
  19. package/dist/decorators/IdentifierField.js.map +1 -1
  20. package/dist/decorators/Priority.d.ts.map +1 -1
  21. package/dist/decorators/Priority.js +5 -1
  22. package/dist/decorators/Priority.js.map +1 -1
  23. package/dist/decorators/TimestampField.d.ts.map +1 -1
  24. package/dist/decorators/TimestampField.js +13 -3
  25. package/dist/decorators/TimestampField.js.map +1 -1
  26. package/dist/decorators/Version.d.ts.map +1 -1
  27. package/dist/decorators/Version.js +5 -1
  28. package/dist/decorators/Version.js.map +1 -1
  29. package/dist/errors/IrisError.d.ts +1 -0
  30. package/dist/errors/IrisError.d.ts.map +1 -1
  31. package/dist/errors/IrisError.js +1 -0
  32. package/dist/errors/IrisError.js.map +1 -1
  33. package/dist/internal/classes/DriverRpcServerBase.d.ts.map +1 -1
  34. package/dist/internal/classes/DriverRpcServerBase.js +4 -1
  35. package/dist/internal/classes/DriverRpcServerBase.js.map +1 -1
  36. package/dist/internal/classes/DriverStreamProcessorBase.d.ts.map +1 -1
  37. package/dist/internal/classes/DriverStreamProcessorBase.js +5 -1
  38. package/dist/internal/classes/DriverStreamProcessorBase.js.map +1 -1
  39. package/dist/internal/dead-letter/DeadLetterManager.js +2 -2
  40. package/dist/internal/dead-letter/DeadLetterManager.js.map +1 -1
  41. package/dist/internal/dead-letter/utils/create-dead-letter-store.d.ts.map +1 -1
  42. package/dist/internal/dead-letter/utils/create-dead-letter-store.js +15 -4
  43. package/dist/internal/dead-letter/utils/create-dead-letter-store.js.map +1 -1
  44. package/dist/internal/delay/DelayManager.js +2 -2
  45. package/dist/internal/delay/DelayManager.js.map +1 -1
  46. package/dist/internal/delay/utils/create-delay-store.d.ts.map +1 -1
  47. package/dist/internal/delay/utils/create-delay-store.js +15 -4
  48. package/dist/internal/delay/utils/create-delay-store.js.map +1 -1
  49. package/dist/internal/drivers/kafka/classes/KafkaMessageBus.d.ts.map +1 -1
  50. package/dist/internal/drivers/kafka/classes/KafkaMessageBus.js +21 -6
  51. package/dist/internal/drivers/kafka/classes/KafkaMessageBus.js.map +1 -1
  52. package/dist/internal/drivers/kafka/classes/KafkaRpcClient.d.ts.map +1 -1
  53. package/dist/internal/drivers/kafka/classes/KafkaRpcClient.js +16 -6
  54. package/dist/internal/drivers/kafka/classes/KafkaRpcClient.js.map +1 -1
  55. package/dist/internal/drivers/kafka/classes/KafkaRpcServer.d.ts.map +1 -1
  56. package/dist/internal/drivers/kafka/classes/KafkaRpcServer.js +6 -1
  57. package/dist/internal/drivers/kafka/classes/KafkaRpcServer.js.map +1 -1
  58. package/dist/internal/drivers/kafka/classes/KafkaStreamPipeline.d.ts.map +1 -1
  59. package/dist/internal/drivers/kafka/classes/KafkaStreamPipeline.js +14 -5
  60. package/dist/internal/drivers/kafka/classes/KafkaStreamPipeline.js.map +1 -1
  61. package/dist/internal/drivers/kafka/classes/KafkaWorkerQueue.d.ts.map +1 -1
  62. package/dist/internal/drivers/kafka/classes/KafkaWorkerQueue.js +29 -8
  63. package/dist/internal/drivers/kafka/classes/KafkaWorkerQueue.js.map +1 -1
  64. package/dist/internal/drivers/kafka/utils/create-kafka-consumer.d.ts.map +1 -1
  65. package/dist/internal/drivers/kafka/utils/create-kafka-consumer.js +10 -4
  66. package/dist/internal/drivers/kafka/utils/create-kafka-consumer.js.map +1 -1
  67. package/dist/internal/drivers/kafka/utils/ensure-kafka-topic.d.ts.map +1 -1
  68. package/dist/internal/drivers/kafka/utils/ensure-kafka-topic.js +7 -1
  69. package/dist/internal/drivers/kafka/utils/ensure-kafka-topic.js.map +1 -1
  70. package/dist/internal/drivers/kafka/utils/publish-kafka-messages.d.ts.map +1 -1
  71. package/dist/internal/drivers/kafka/utils/publish-kafka-messages.js +6 -1
  72. package/dist/internal/drivers/kafka/utils/publish-kafka-messages.js.map +1 -1
  73. package/dist/internal/drivers/kafka/utils/wrap-kafka-consumer.d.ts.map +1 -1
  74. package/dist/internal/drivers/kafka/utils/wrap-kafka-consumer.js +7 -1
  75. package/dist/internal/drivers/kafka/utils/wrap-kafka-consumer.js.map +1 -1
  76. package/dist/internal/drivers/memory/classes/MemoryMessageBus.js +2 -2
  77. package/dist/internal/drivers/memory/classes/MemoryMessageBus.js.map +1 -1
  78. package/dist/internal/drivers/memory/classes/MemoryRpcClient.d.ts.map +1 -1
  79. package/dist/internal/drivers/memory/classes/MemoryRpcClient.js +12 -4
  80. package/dist/internal/drivers/memory/classes/MemoryRpcClient.js.map +1 -1
  81. package/dist/internal/drivers/memory/classes/MemoryStreamPipeline.d.ts.map +1 -1
  82. package/dist/internal/drivers/memory/classes/MemoryStreamPipeline.js +7 -3
  83. package/dist/internal/drivers/memory/classes/MemoryStreamPipeline.js.map +1 -1
  84. package/dist/internal/drivers/memory/classes/MemoryWorkerQueue.d.ts.map +1 -1
  85. package/dist/internal/drivers/memory/classes/MemoryWorkerQueue.js +11 -5
  86. package/dist/internal/drivers/memory/classes/MemoryWorkerQueue.js.map +1 -1
  87. package/dist/internal/drivers/memory/types/memory-store.d.ts +1 -0
  88. package/dist/internal/drivers/memory/types/memory-store.d.ts.map +1 -1
  89. package/dist/internal/drivers/memory/utils/clone-envelope.d.ts +3 -0
  90. package/dist/internal/drivers/memory/utils/clone-envelope.d.ts.map +1 -0
  91. package/dist/internal/drivers/memory/utils/clone-envelope.js +5 -0
  92. package/dist/internal/drivers/memory/utils/clone-envelope.js.map +1 -0
  93. package/dist/internal/drivers/memory/utils/dispatch-to-consumers.d.ts.map +1 -1
  94. package/dist/internal/drivers/memory/utils/dispatch-to-consumers.js +13 -5
  95. package/dist/internal/drivers/memory/utils/dispatch-to-consumers.js.map +1 -1
  96. package/dist/internal/drivers/memory/utils/dispatch-to-subscribers.d.ts.map +1 -1
  97. package/dist/internal/drivers/memory/utils/dispatch-to-subscribers.js +3 -2
  98. package/dist/internal/drivers/memory/utils/dispatch-to-subscribers.js.map +1 -1
  99. package/dist/internal/drivers/nats/classes/NatsDriver.d.ts.map +1 -1
  100. package/dist/internal/drivers/nats/classes/NatsDriver.js +8 -1
  101. package/dist/internal/drivers/nats/classes/NatsDriver.js.map +1 -1
  102. package/dist/internal/drivers/nats/classes/NatsMessageBus.d.ts.map +1 -1
  103. package/dist/internal/drivers/nats/classes/NatsMessageBus.js +13 -3
  104. package/dist/internal/drivers/nats/classes/NatsMessageBus.js.map +1 -1
  105. package/dist/internal/drivers/nats/classes/NatsRpcClient.d.ts.map +1 -1
  106. package/dist/internal/drivers/nats/classes/NatsRpcClient.js +22 -4
  107. package/dist/internal/drivers/nats/classes/NatsRpcClient.js.map +1 -1
  108. package/dist/internal/drivers/nats/classes/NatsRpcServer.d.ts.map +1 -1
  109. package/dist/internal/drivers/nats/classes/NatsRpcServer.js +6 -1
  110. package/dist/internal/drivers/nats/classes/NatsRpcServer.js.map +1 -1
  111. package/dist/internal/drivers/nats/classes/NatsStreamPipeline.d.ts.map +1 -1
  112. package/dist/internal/drivers/nats/classes/NatsStreamPipeline.js +14 -5
  113. package/dist/internal/drivers/nats/classes/NatsStreamPipeline.js.map +1 -1
  114. package/dist/internal/drivers/nats/classes/NatsWorkerQueue.d.ts.map +1 -1
  115. package/dist/internal/drivers/nats/classes/NatsWorkerQueue.js +23 -6
  116. package/dist/internal/drivers/nats/classes/NatsWorkerQueue.js.map +1 -1
  117. package/dist/internal/drivers/nats/types/nats-types.d.ts +2 -0
  118. package/dist/internal/drivers/nats/types/nats-types.d.ts.map +1 -1
  119. package/dist/internal/drivers/nats/utils/create-nats-consumer.d.ts.map +1 -1
  120. package/dist/internal/drivers/nats/utils/create-nats-consumer.js +4 -3
  121. package/dist/internal/drivers/nats/utils/create-nats-consumer.js.map +1 -1
  122. package/dist/internal/drivers/nats/utils/index.d.ts +1 -0
  123. package/dist/internal/drivers/nats/utils/index.d.ts.map +1 -1
  124. package/dist/internal/drivers/nats/utils/index.js +1 -0
  125. package/dist/internal/drivers/nats/utils/index.js.map +1 -1
  126. package/dist/internal/drivers/nats/utils/publish-nats-messages.d.ts.map +1 -1
  127. package/dist/internal/drivers/nats/utils/publish-nats-messages.js +6 -1
  128. package/dist/internal/drivers/nats/utils/publish-nats-messages.js.map +1 -1
  129. package/dist/internal/drivers/nats/utils/resolve-max-deliver.d.ts +3 -0
  130. package/dist/internal/drivers/nats/utils/resolve-max-deliver.d.ts.map +1 -0
  131. package/dist/internal/drivers/nats/utils/resolve-max-deliver.js +2 -0
  132. package/dist/internal/drivers/nats/utils/resolve-max-deliver.js.map +1 -0
  133. package/dist/internal/drivers/nats/utils/wrap-nats-consumer.d.ts.map +1 -1
  134. package/dist/internal/drivers/nats/utils/wrap-nats-consumer.js.map +1 -1
  135. package/dist/internal/drivers/rabbit/classes/RabbitDriver.d.ts.map +1 -1
  136. package/dist/internal/drivers/rabbit/classes/RabbitDriver.js +7 -1
  137. package/dist/internal/drivers/rabbit/classes/RabbitDriver.js.map +1 -1
  138. package/dist/internal/drivers/rabbit/classes/RabbitMessageBus.d.ts.map +1 -1
  139. package/dist/internal/drivers/rabbit/classes/RabbitMessageBus.js +19 -3
  140. package/dist/internal/drivers/rabbit/classes/RabbitMessageBus.js.map +1 -1
  141. package/dist/internal/drivers/rabbit/classes/RabbitRpcClient.d.ts +2 -0
  142. package/dist/internal/drivers/rabbit/classes/RabbitRpcClient.d.ts.map +1 -1
  143. package/dist/internal/drivers/rabbit/classes/RabbitRpcClient.js +32 -5
  144. package/dist/internal/drivers/rabbit/classes/RabbitRpcClient.js.map +1 -1
  145. package/dist/internal/drivers/rabbit/classes/RabbitRpcServer.d.ts.map +1 -1
  146. package/dist/internal/drivers/rabbit/classes/RabbitRpcServer.js +6 -1
  147. package/dist/internal/drivers/rabbit/classes/RabbitRpcServer.js.map +1 -1
  148. package/dist/internal/drivers/rabbit/classes/RabbitStreamPipeline.d.ts.map +1 -1
  149. package/dist/internal/drivers/rabbit/classes/RabbitStreamPipeline.js +11 -2
  150. package/dist/internal/drivers/rabbit/classes/RabbitStreamPipeline.js.map +1 -1
  151. package/dist/internal/drivers/rabbit/classes/RabbitWorkerQueue.d.ts.map +1 -1
  152. package/dist/internal/drivers/rabbit/classes/RabbitWorkerQueue.js +17 -3
  153. package/dist/internal/drivers/rabbit/classes/RabbitWorkerQueue.js.map +1 -1
  154. package/dist/internal/drivers/rabbit/utils/publish-messages.d.ts.map +1 -1
  155. package/dist/internal/drivers/rabbit/utils/publish-messages.js +6 -1
  156. package/dist/internal/drivers/rabbit/utils/publish-messages.js.map +1 -1
  157. package/dist/internal/drivers/rabbit/utils/rabbit-constants.d.ts +2 -0
  158. package/dist/internal/drivers/rabbit/utils/rabbit-constants.d.ts.map +1 -0
  159. package/dist/internal/drivers/rabbit/utils/rabbit-constants.js +2 -0
  160. package/dist/internal/drivers/rabbit/utils/rabbit-constants.js.map +1 -0
  161. package/dist/internal/drivers/rabbit/utils/wrap-rabbit-consumer.d.ts.map +1 -1
  162. package/dist/internal/drivers/rabbit/utils/wrap-rabbit-consumer.js +6 -1
  163. package/dist/internal/drivers/rabbit/utils/wrap-rabbit-consumer.js.map +1 -1
  164. package/dist/internal/drivers/redis/classes/RedisMessageBus.d.ts.map +1 -1
  165. package/dist/internal/drivers/redis/classes/RedisMessageBus.js +8 -3
  166. package/dist/internal/drivers/redis/classes/RedisMessageBus.js.map +1 -1
  167. package/dist/internal/drivers/redis/classes/RedisRpcClient.d.ts.map +1 -1
  168. package/dist/internal/drivers/redis/classes/RedisRpcClient.js +10 -5
  169. package/dist/internal/drivers/redis/classes/RedisRpcClient.js.map +1 -1
  170. package/dist/internal/drivers/redis/classes/RedisRpcServer.d.ts.map +1 -1
  171. package/dist/internal/drivers/redis/classes/RedisRpcServer.js +6 -1
  172. package/dist/internal/drivers/redis/classes/RedisRpcServer.js.map +1 -1
  173. package/dist/internal/drivers/redis/classes/RedisStreamPipeline.d.ts.map +1 -1
  174. package/dist/internal/drivers/redis/classes/RedisStreamPipeline.js +8 -4
  175. package/dist/internal/drivers/redis/classes/RedisStreamPipeline.js.map +1 -1
  176. package/dist/internal/drivers/redis/classes/RedisWorkerQueue.d.ts.map +1 -1
  177. package/dist/internal/drivers/redis/classes/RedisWorkerQueue.js +17 -6
  178. package/dist/internal/drivers/redis/classes/RedisWorkerQueue.js.map +1 -1
  179. package/dist/internal/drivers/redis/utils/create-consumer-loop.js +2 -2
  180. package/dist/internal/drivers/redis/utils/create-consumer-loop.js.map +1 -1
  181. package/dist/internal/drivers/redis/utils/publish-redis-messages.d.ts.map +1 -1
  182. package/dist/internal/drivers/redis/utils/publish-redis-messages.js +6 -1
  183. package/dist/internal/drivers/redis/utils/publish-redis-messages.js.map +1 -1
  184. package/dist/internal/drivers/redis/utils/wrap-redis-consumer.d.ts.map +1 -1
  185. package/dist/internal/drivers/redis/utils/wrap-redis-consumer.js +7 -1
  186. package/dist/internal/drivers/redis/utils/wrap-redis-consumer.js.map +1 -1
  187. package/dist/internal/message/classes/MessageManager.d.ts.map +1 -1
  188. package/dist/internal/message/classes/MessageManager.js +10 -0
  189. package/dist/internal/message/classes/MessageManager.js.map +1 -1
  190. package/dist/internal/message/classes/MessageScanner.d.ts.map +1 -1
  191. package/dist/internal/message/classes/MessageScanner.js +13 -2
  192. package/dist/internal/message/classes/MessageScanner.js.map +1 -1
  193. package/dist/internal/message/metadata/build-message-metadata.d.ts.map +1 -1
  194. package/dist/internal/message/metadata/build-message-metadata.js +33 -4
  195. package/dist/internal/message/metadata/build-message-metadata.js.map +1 -1
  196. package/dist/internal/message/metadata/stage-metadata.d.ts.map +1 -1
  197. package/dist/internal/message/metadata/stage-metadata.js +25 -5
  198. package/dist/internal/message/metadata/stage-metadata.js.map +1 -1
  199. package/dist/internal/message/metadata/validate-fields.d.ts.map +1 -1
  200. package/dist/internal/message/metadata/validate-fields.js +6 -0
  201. package/dist/internal/message/metadata/validate-fields.js.map +1 -1
  202. package/dist/internal/message/metadata/validate-generated.d.ts.map +1 -1
  203. package/dist/internal/message/metadata/validate-generated.js +26 -0
  204. package/dist/internal/message/metadata/validate-generated.js.map +1 -1
  205. package/dist/internal/message/metadata/validate-headers.d.ts.map +1 -1
  206. package/dist/internal/message/metadata/validate-headers.js +18 -0
  207. package/dist/internal/message/metadata/validate-headers.js.map +1 -1
  208. package/dist/internal/message/types/metadata.d.ts +3 -1
  209. package/dist/internal/message/types/metadata.d.ts.map +1 -1
  210. package/dist/internal/message/types/types.d.ts +1 -1
  211. package/dist/internal/message/types/types.d.ts.map +1 -1
  212. package/dist/internal/message/utils/build-schema.d.ts.map +1 -1
  213. package/dist/internal/message/utils/build-schema.js +6 -1
  214. package/dist/internal/message/utils/build-schema.js.map +1 -1
  215. package/dist/internal/message/utils/compress.d.ts.map +1 -1
  216. package/dist/internal/message/utils/compress.js +12 -2
  217. package/dist/internal/message/utils/compress.js.map +1 -1
  218. package/dist/internal/message/utils/deserialise.d.ts.map +1 -1
  219. package/dist/internal/message/utils/deserialise.js +35 -7
  220. package/dist/internal/message/utils/deserialise.js.map +1 -1
  221. package/dist/internal/message/utils/encrypt.d.ts.map +1 -1
  222. package/dist/internal/message/utils/encrypt.js +16 -2
  223. package/dist/internal/message/utils/encrypt.js.map +1 -1
  224. package/dist/internal/message/utils/generate-fields.d.ts.map +1 -1
  225. package/dist/internal/message/utils/generate-fields.js +10 -1
  226. package/dist/internal/message/utils/generate-fields.js.map +1 -1
  227. package/dist/internal/message/utils/index.d.ts +1 -0
  228. package/dist/internal/message/utils/index.d.ts.map +1 -1
  229. package/dist/internal/message/utils/index.js +1 -0
  230. package/dist/internal/message/utils/index.js.map +1 -1
  231. package/dist/internal/message/utils/parse-field.d.ts.map +1 -1
  232. package/dist/internal/message/utils/parse-field.js +6 -1
  233. package/dist/internal/message/utils/parse-field.js.map +1 -1
  234. package/dist/internal/message/utils/prepare-inbound.d.ts.map +1 -1
  235. package/dist/internal/message/utils/prepare-inbound.js +16 -3
  236. package/dist/internal/message/utils/prepare-inbound.js.map +1 -1
  237. package/dist/internal/message/utils/resolve-consume-topic.d.ts +4 -0
  238. package/dist/internal/message/utils/resolve-consume-topic.d.ts.map +1 -0
  239. package/dist/internal/message/utils/resolve-consume-topic.js +11 -0
  240. package/dist/internal/message/utils/resolve-consume-topic.js.map +1 -0
  241. package/dist/internal/message/utils/run-hooks.d.ts.map +1 -1
  242. package/dist/internal/message/utils/run-hooks.js +6 -1
  243. package/dist/internal/message/utils/run-hooks.js.map +1 -1
  244. package/dist/internal/message/utils/serialize-message.d.ts.map +1 -1
  245. package/dist/internal/message/utils/serialize-message.js +11 -1
  246. package/dist/internal/message/utils/serialize-message.js.map +1 -1
  247. package/dist/internal/utils/check-pipeline-results.d.ts.map +1 -1
  248. package/dist/internal/utils/check-pipeline-results.js +6 -1
  249. package/dist/internal/utils/check-pipeline-results.js.map +1 -1
  250. package/dist/internal/utils/validate-encrypted-messages.d.ts.map +1 -1
  251. package/dist/internal/utils/validate-encrypted-messages.js +6 -1
  252. package/dist/internal/utils/validate-encrypted-messages.js.map +1 -1
  253. package/dist/mocks/create-mock-rpc-client.d.ts.map +1 -1
  254. package/dist/mocks/create-mock-rpc-client.js +6 -1
  255. package/dist/mocks/create-mock-rpc-client.js.map +1 -1
  256. package/dist/utils/write-message.d.ts.map +1 -1
  257. package/dist/utils/write-message.js +7 -1
  258. package/dist/utils/write-message.js.map +1 -1
  259. package/dist/utils/write-source.d.ts.map +1 -1
  260. package/dist/utils/write-source.js +7 -1
  261. package/dist/utils/write-source.js.map +1 -1
  262. package/package.json +13 -13
@@ -1 +1 @@
1
- {"version":3,"file":"build-schema.d.ts","sourceRoot":"","sources":["../../../../src/internal/message/utils/build-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAsD5D,eAAO,MAAM,WAAW,GAAI,UAAU,eAAe,KAAG,CAAC,CAAC,OAmDzD,CAAC"}
1
+ {"version":3,"file":"build-schema.d.ts","sourceRoot":"","sources":["../../../../src/internal/message/utils/build-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AA6D5D,eAAO,MAAM,WAAW,GAAI,UAAU,eAAe,KAAG,CAAC,CAAC,OAmDzD,CAAC"}
@@ -21,7 +21,12 @@ const getValidator = (field) => {
21
21
  return z.url();
22
22
  case "enum":
23
23
  if (!field.enum) {
24
- throw new IrisSerializationError(`Field "${field.key}" has type "enum" but no enum values provided`);
24
+ throw new IrisSerializationError(`Field "${field.key}" has type "enum" but no enum values provided`, {
25
+ code: "missing_enum_values",
26
+ title: "Missing Enum Values",
27
+ details: "The named field is declared with type enum but no enum values were provided. Supply the enum object via the field decorator.",
28
+ data: { field: field.key },
29
+ });
25
30
  }
26
31
  return z.nativeEnum(field.enum);
27
32
  case "date":
@@ -1 +1 @@
1
- {"version":3,"file":"build-schema.js","sourceRoot":"","sources":["../../../../src/internal/message/utils/build-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AAInF,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAE1E,MAAM,YAAY,GAAG,CAAC,KAAgB,EAAyB,EAAE;IAC/D,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,SAAS;YACZ,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;QAErB,KAAK,SAAS;YACZ,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC;QAE1B,KAAK,QAAQ;YACX,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;QAEpB,KAAK,OAAO;YACV,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;QAEpB,KAAK,QAAQ;YACX,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;QAEpB,KAAK,MAAM;YACT,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAElB,KAAK,OAAO;YACV,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;QAEnB,KAAK,KAAK;YACR,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;QAEjB,KAAK,MAAM;YACT,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBAChB,MAAM,IAAI,sBAAsB,CAC9B,UAAU,KAAK,CAAC,GAAG,+CAA+C,CACnE,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,CAAC,UAAU,CACjB,KAAK,CAAC,IAA8D,CACrE,CAAC;QAEJ,KAAK,MAAM;YACT,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAElB,KAAK,OAAO;YACV,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAE1B,KAAK,QAAQ;YACX,OAAO,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAE3B;YACE,OAAO;IACX,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,QAAyB,EAAa,EAAE;IAClE,MAAM,UAAU,GAA8B,EAAE,CAAC;IAEjD,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QAEpC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,SAAS,GAAc,KAAK,CAAC,MAAM,CAAC;YACxC,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACrC,SAAS,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;YAClC,CAAC;iBAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAC1B,SAAS,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;YACnC,CAAC;iBAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAC1B,SAAS,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;YACnC,CAAC;YACD,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;YAClC,SAAS;QACX,CAAC;QAED,IAAI,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC,SAAS;YAAE,SAAS;QAEzB,IAAI,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;YAC9D,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC5B,SAAS,GAAI,SAAyB,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YAChE,CAAC;iBAAM,CAAC;gBACN,SAAS,GAAI,SAAyD,CAAC,GAAG,CACxE,KAAK,CAAC,GAAG,CACV,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;YAC9D,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC5B,SAAS,GAAI,SAAyB,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YAChE,CAAC;iBAAM,CAAC;gBACN,SAAS,GAAI,SAAyD,CAAC,GAAG,CACxE,KAAK,CAAC,GAAG,CACV,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACrC,SAAS,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;QAClC,CAAC;aAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC1B,SAAS,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;QACnC,CAAC;aAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC1B,SAAS,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;QACnC,CAAC;QAED,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IACpC,CAAC;IAED,OAAO,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;AACpC,CAAC,CAAC"}
1
+ {"version":3,"file":"build-schema.js","sourceRoot":"","sources":["../../../../src/internal/message/utils/build-schema.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"compress.d.ts","sourceRoot":"","sources":["../../../../src/internal/message/utils/compress.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAS9E,eAAO,MAAM,QAAQ,GACnB,MAAM,MAAM,EACZ,WAAW,wBAAwB,KAClC,OAAO,CAAC,MAAM,CAahB,CAAC;AAEF,eAAO,MAAM,UAAU,GACrB,MAAM,MAAM,EACZ,WAAW,wBAAwB,KAClC,OAAO,CAAC,MAAM,CAahB,CAAC"}
1
+ {"version":3,"file":"compress.d.ts","sourceRoot":"","sources":["../../../../src/internal/message/utils/compress.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAS9E,eAAO,MAAM,QAAQ,GACnB,MAAM,MAAM,EACZ,WAAW,wBAAwB,KAClC,OAAO,CAAC,MAAM,CAoBhB,CAAC;AAEF,eAAO,MAAM,UAAU,GACrB,MAAM,MAAM,EACZ,WAAW,wBAAwB,KAClC,OAAO,CAAC,MAAM,CAoBhB,CAAC"}
@@ -16,7 +16,12 @@ export const compress = async (data, algorithm) => {
16
16
  case "brotli":
17
17
  return brotliCompressAsync(data);
18
18
  default:
19
- throw new IrisSerializationError(`Unsupported compression algorithm: ${String(algorithm)}`);
19
+ throw new IrisSerializationError(`Unsupported compression algorithm: ${String(algorithm)}`, {
20
+ code: "unsupported_compression_algorithm",
21
+ title: "Unsupported Compression Algorithm",
22
+ details: "The requested compression algorithm is not supported. Use one of: gzip, deflate, or brotli.",
23
+ data: { algorithm },
24
+ });
20
25
  }
21
26
  };
22
27
  export const decompress = async (data, algorithm) => {
@@ -28,7 +33,12 @@ export const decompress = async (data, algorithm) => {
28
33
  case "brotli":
29
34
  return brotliDecompressAsync(data);
30
35
  default:
31
- throw new IrisSerializationError(`Unsupported decompression algorithm: ${String(algorithm)}`);
36
+ throw new IrisSerializationError(`Unsupported decompression algorithm: ${String(algorithm)}`, {
37
+ code: "unsupported_decompression_algorithm",
38
+ title: "Unsupported Decompression Algorithm",
39
+ details: "The requested decompression algorithm is not supported. Use one of: gzip, deflate, or brotli.",
40
+ data: { algorithm },
41
+ });
32
42
  }
33
43
  };
34
44
  //# sourceMappingURL=compress.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"compress.js","sourceRoot":"","sources":["../../../../src/internal/message/utils/compress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,OAAO,EACP,IAAI,EACJ,MAAM,EACN,OAAO,GACR,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AAGnF,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAClC,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;AACtC,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;AACxC,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;AACxC,MAAM,mBAAmB,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;AACtD,MAAM,qBAAqB,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAAC;AAE1D,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAC3B,IAAY,EACZ,SAAmC,EAClB,EAAE;IACnB,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,MAAM;YACT,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;QACzB,KAAK,SAAS;YACZ,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;QAC5B,KAAK,QAAQ;YACX,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACnC;YACE,MAAM,IAAI,sBAAsB,CAC9B,sCAAsC,MAAM,CAAC,SAAS,CAAC,EAAE,CAC1D,CAAC;IACN,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAC7B,IAAY,EACZ,SAAmC,EAClB,EAAE;IACnB,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,MAAM;YACT,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;QAC3B,KAAK,SAAS;YACZ,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;QAC5B,KAAK,QAAQ;YACX,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACrC;YACE,MAAM,IAAI,sBAAsB,CAC9B,wCAAwC,MAAM,CAAC,SAAS,CAAC,EAAE,CAC5D,CAAC;IACN,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"compress.js","sourceRoot":"","sources":["../../../../src/internal/message/utils/compress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,OAAO,EACP,IAAI,EACJ,MAAM,EACN,OAAO,GACR,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AAGnF,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAClC,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;AACtC,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;AACxC,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;AACxC,MAAM,mBAAmB,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;AACtD,MAAM,qBAAqB,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAAC;AAE1D,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAC3B,IAAY,EACZ,SAAmC,EAClB,EAAE;IACnB,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,MAAM;YACT,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;QACzB,KAAK,SAAS;YACZ,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;QAC5B,KAAK,QAAQ;YACX,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACnC;YACE,MAAM,IAAI,sBAAsB,CAC9B,sCAAsC,MAAM,CAAC,SAAS,CAAC,EAAE,EACzD;gBACE,IAAI,EAAE,mCAAmC;gBACzC,KAAK,EAAE,mCAAmC;gBAC1C,OAAO,EACL,6FAA6F;gBAC/F,IAAI,EAAE,EAAE,SAAS,EAAE;aACpB,CACF,CAAC;IACN,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAC7B,IAAY,EACZ,SAAmC,EAClB,EAAE;IACnB,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,MAAM;YACT,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;QAC3B,KAAK,SAAS;YACZ,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;QAC5B,KAAK,QAAQ;YACX,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACrC;YACE,MAAM,IAAI,sBAAsB,CAC9B,wCAAwC,MAAM,CAAC,SAAS,CAAC,EAAE,EAC3D;gBACE,IAAI,EAAE,qCAAqC;gBAC3C,KAAK,EAAE,qCAAqC;gBAC5C,OAAO,EACL,+FAA+F;gBACjG,IAAI,EAAE,EAAE,SAAS,EAAE;aACpB,CACF,CAAC;IACN,CAAC;AACH,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"deserialise.d.ts","sourceRoot":"","sources":["../../../../src/internal/message/utils/deserialise.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,eAAO,MAAM,WAAW,GAAI,OAAO,GAAG,EAAE,MAAM,aAAa,KAAG,GA8H7D,CAAC"}
1
+ {"version":3,"file":"deserialise.d.ts","sourceRoot":"","sources":["../../../../src/internal/message/utils/deserialise.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,eAAO,MAAM,WAAW,GAAI,OAAO,GAAG,EAAE,MAAM,aAAa,KAAG,GAiK7D,CAAC"}
@@ -12,7 +12,11 @@ export const deserialise = (value, type) => {
12
12
  }
13
13
  catch {
14
14
  throw new IrisSerializationError("Cannot convert value to bigint during deserialisation", {
15
- debug: { type, value: String(value) },
15
+ code: "bigint_deserialise_failed",
16
+ title: "Bigint Deserialise Failed",
17
+ details: "The value could not be converted to a bigint during deserialisation. Ensure the field holds an integer-compatible value.",
18
+ data: { type },
19
+ debug: { value: String(value) },
16
20
  });
17
21
  }
18
22
  }
@@ -29,7 +33,11 @@ export const deserialise = (value, type) => {
29
33
  if (value instanceof Date) {
30
34
  if (isNaN(value.getTime())) {
31
35
  throw new IrisSerializationError("Invalid Date object during deserialisation", {
32
- debug: { type, value: String(value) },
36
+ code: "invalid_date_deserialise",
37
+ title: "Invalid Date Deserialise",
38
+ details: "The value is a Date object representing an invalid date (NaN time) and cannot be deserialised. Provide a valid date.",
39
+ data: { type },
40
+ debug: { value: String(value) },
33
41
  });
34
42
  }
35
43
  return value;
@@ -39,7 +47,11 @@ export const deserialise = (value, type) => {
39
47
  const date = new Date(value);
40
48
  if (isNaN(date.getTime())) {
41
49
  throw new IrisSerializationError("Cannot convert value to date during deserialisation", {
42
- debug: { type, value: String(value) },
50
+ code: "date_deserialise_failed",
51
+ title: "Date Deserialise Failed",
52
+ details: "The value could not be converted to a valid date during deserialisation. Ensure the field holds a parseable date value.",
53
+ data: { type },
54
+ debug: { value: String(value) },
43
55
  });
44
56
  }
45
57
  return date;
@@ -52,7 +64,11 @@ export const deserialise = (value, type) => {
52
64
  const parsed = parseFloat(value);
53
65
  if (isNaN(parsed)) {
54
66
  throw new IrisSerializationError("Cannot convert value to float during deserialisation", {
55
- debug: { type, value: String(value) },
67
+ code: "float_deserialise_failed",
68
+ title: "Float Deserialise Failed",
69
+ details: "The value could not be converted to a float during deserialisation. Ensure the field holds a numeric value.",
70
+ data: { type },
71
+ debug: { value: String(value) },
56
72
  });
57
73
  }
58
74
  return parsed;
@@ -68,7 +84,11 @@ export const deserialise = (value, type) => {
68
84
  const parsed = parseInt(value, 10);
69
85
  if (isNaN(parsed)) {
70
86
  throw new IrisSerializationError("Cannot convert value to integer during deserialisation", {
71
- debug: { type, value: String(value) },
87
+ code: "integer_deserialise_failed",
88
+ title: "Integer Deserialise Failed",
89
+ details: "The value could not be converted to an integer during deserialisation. Ensure the field holds a numeric value.",
90
+ data: { type },
91
+ debug: { value: String(value) },
72
92
  });
73
93
  }
74
94
  return parsed;
@@ -80,7 +100,11 @@ export const deserialise = (value, type) => {
80
100
  }
81
101
  catch {
82
102
  throw new IrisSerializationError("Failed to deserialise array value: invalid JSON", {
83
- debug: { type, value },
103
+ code: "array_deserialise_failed",
104
+ title: "Array Deserialise Failed",
105
+ details: "The string value for an array field is not valid JSON and could not be parsed. Ensure array fields are serialised as valid JSON.",
106
+ data: { type },
107
+ debug: { value },
84
108
  });
85
109
  }
86
110
  }
@@ -93,7 +117,11 @@ export const deserialise = (value, type) => {
93
117
  }
94
118
  catch {
95
119
  throw new IrisSerializationError("Failed to deserialise object value: invalid JSON", {
96
- debug: { type, value },
120
+ code: "object_deserialise_failed",
121
+ title: "Object Deserialise Failed",
122
+ details: "The string value for an object field is not valid JSON and could not be parsed. Ensure object fields are serialised as valid JSON.",
123
+ data: { type },
124
+ debug: { value },
97
125
  });
98
126
  }
99
127
  }
@@ -1 +1 @@
1
- {"version":3,"file":"deserialise.js","sourceRoot":"","sources":["../../../../src/internal/message/utils/deserialise.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deserialise.js","sourceRoot":"","sources":["../../../../src/internal/message/utils/deserialise.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"encrypt.d.ts","sourceRoot":"","sources":["../../../../src/internal/message/utils/encrypt.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,eAAO,MAAM,cAAc,GACzB,MAAM,MAAM,EACZ,SAAS,QAAQ,GAAG,IAAI,GAAG,SAAS,EACpC,WAAW,gBAAgB,KAC1B,OAAO,CAAC,MAAM,CAkBhB,CAAC;AAEF,eAAO,MAAM,cAAc,GACzB,MAAM,MAAM,EACZ,SAAS,QAAQ,GAAG,IAAI,GAAG,SAAS,KACnC,OAAO,CAAC,MAAM,CAoBhB,CAAC"}
1
+ {"version":3,"file":"encrypt.d.ts","sourceRoot":"","sources":["../../../../src/internal/message/utils/encrypt.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,eAAO,MAAM,cAAc,GACzB,MAAM,MAAM,EACZ,SAAS,QAAQ,GAAG,IAAI,GAAG,SAAS,EACpC,WAAW,gBAAgB,KAC1B,OAAO,CAAC,MAAM,CA4BhB,CAAC;AAEF,eAAO,MAAM,cAAc,GACzB,MAAM,MAAM,EACZ,SAAS,QAAQ,GAAG,IAAI,GAAG,SAAS,KACnC,OAAO,CAAC,MAAM,CA8BhB,CAAC"}
@@ -2,7 +2,11 @@ import { IrisNotSupportedError } from "../../../errors/IrisNotSupportedError.js"
2
2
  import { IrisSerializationError } from "../../../errors/IrisSerializationError.js";
3
3
  export const encryptPayload = async (data, amphora, predicate) => {
4
4
  if (!amphora) {
5
- throw new IrisNotSupportedError("@Encrypted requires an Amphora instance but none was configured");
5
+ throw new IrisNotSupportedError("@Encrypted requires an Amphora instance but none was configured", {
6
+ code: "missing_amphora_instance",
7
+ title: "Missing Amphora Instance",
8
+ details: "A message marked with @Encrypted requires an Amphora instance to encrypt its payload, but none was configured on the source.",
9
+ });
6
10
  }
7
11
  try {
8
12
  const { AesKit } = await import("@lindorm/aes");
@@ -14,13 +18,20 @@ export const encryptPayload = async (data, amphora, predicate) => {
14
18
  if (error instanceof IrisNotSupportedError)
15
19
  throw error;
16
20
  throw new IrisSerializationError("Failed to encrypt message payload", {
21
+ code: "payload_encryption_failed",
22
+ title: "Payload Encryption Failed",
23
+ details: "The message payload could not be encrypted. Verify that a matching encryption key is available in the Amphora.",
17
24
  error: error instanceof Error ? error : undefined,
18
25
  });
19
26
  }
20
27
  };
21
28
  export const decryptPayload = async (data, amphora) => {
22
29
  if (!amphora) {
23
- throw new IrisNotSupportedError("@Encrypted requires an Amphora instance but none was configured");
30
+ throw new IrisNotSupportedError("@Encrypted requires an Amphora instance but none was configured", {
31
+ code: "missing_amphora_instance",
32
+ title: "Missing Amphora Instance",
33
+ details: "A message marked with @Encrypted requires an Amphora instance to decrypt its payload, but none was configured on the source.",
34
+ });
24
35
  }
25
36
  try {
26
37
  const { AesKit, parseAes } = await import("@lindorm/aes");
@@ -34,6 +45,9 @@ export const decryptPayload = async (data, amphora) => {
34
45
  if (error instanceof IrisNotSupportedError)
35
46
  throw error;
36
47
  throw new IrisSerializationError("Failed to decrypt message payload", {
48
+ code: "payload_decryption_failed",
49
+ title: "Payload Decryption Failed",
50
+ details: "The message payload could not be decrypted. Verify that the key referenced by the encrypted payload is available in the Amphora.",
37
51
  error: error instanceof Error ? error : undefined,
38
52
  });
39
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"encrypt.js","sourceRoot":"","sources":["../../../../src/internal/message/utils/encrypt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AAInF,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EACjC,IAAY,EACZ,OAAoC,EACpC,SAA2B,EACV,EAAE;IACnB,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,qBAAqB,CAC7B,iEAAiE,CAClE,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,OAAO,EAAE,OAAc,EAAE,CAAC,CAAC;QACvD,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,CAAC;IAC9D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,qBAAqB;YAAE,MAAM,KAAK,CAAC;QACxD,MAAM,IAAI,sBAAsB,CAAC,mCAAmC,EAAE;YACpE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;SAClD,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EACjC,IAAY,EACZ,OAAoC,EACnB,EAAE;IACnB,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,qBAAqB,CAC7B,iEAAiE,CAClE,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;QAC1D,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,OAAO,EAAE,OAAc,EAAE,CAAC,CAAC;QACvD,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAS,IAAI,CAAC,CAAC;QAC/C,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,qBAAqB;YAAE,MAAM,KAAK,CAAC;QACxD,MAAM,IAAI,sBAAsB,CAAC,mCAAmC,EAAE;YACpE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;SAClD,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"encrypt.js","sourceRoot":"","sources":["../../../../src/internal/message/utils/encrypt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AAInF,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EACjC,IAAY,EACZ,OAAoC,EACpC,SAA2B,EACV,EAAE;IACnB,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,qBAAqB,CAC7B,iEAAiE,EACjE;YACE,IAAI,EAAE,0BAA0B;YAChC,KAAK,EAAE,0BAA0B;YACjC,OAAO,EACL,8HAA8H;SACjI,CACF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,OAAO,EAAE,OAAc,EAAE,CAAC,CAAC;QACvD,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,CAAC;IAC9D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,qBAAqB;YAAE,MAAM,KAAK,CAAC;QACxD,MAAM,IAAI,sBAAsB,CAAC,mCAAmC,EAAE;YACpE,IAAI,EAAE,2BAA2B;YACjC,KAAK,EAAE,2BAA2B;YAClC,OAAO,EACL,gHAAgH;YAClH,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;SAClD,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EACjC,IAAY,EACZ,OAAoC,EACnB,EAAE;IACnB,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,qBAAqB,CAC7B,iEAAiE,EACjE;YACE,IAAI,EAAE,0BAA0B;YAChC,KAAK,EAAE,0BAA0B;YACjC,OAAO,EACL,8HAA8H;SACjI,CACF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;QAC1D,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,OAAO,EAAE,OAAc,EAAE,CAAC,CAAC;QACvD,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAS,IAAI,CAAC,CAAC;QAC/C,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,qBAAqB;YAAE,MAAM,KAAK,CAAC;QACxD,MAAM,IAAI,sBAAsB,CAAC,mCAAmC,EAAE;YACpE,IAAI,EAAE,2BAA2B;YACjC,KAAK,EAAE,2BAA2B;YAClC,OAAO,EACL,kIAAkI;YACpI,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;SAClD,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"generate-fields.d.ts","sourceRoot":"","sources":["../../../../src/internal/message/utils/generate-fields.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAiC5D,eAAO,MAAM,cAAc,GAAI,UAAU,eAAe,EAAE,SAAS,GAAG,KAAG,IAKxE,CAAC"}
1
+ {"version":3,"file":"generate-fields.d.ts","sourceRoot":"","sources":["../../../../src/internal/message/utils/generate-fields.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAkD5D,eAAO,MAAM,cAAc,GAAI,UAAU,eAAe,EAAE,SAAS,GAAG,KAAG,IAKxE,CAAC"}
@@ -1,9 +1,18 @@
1
- import { randomUUID } from "@lindorm/random";
1
+ import { randomId, randomUUID } from "@lindorm/random";
2
2
  import { randomInt, randomBytes } from "crypto";
3
3
  const generateValue = (gen) => {
4
+ if (gen.generator)
5
+ return gen.generator();
4
6
  switch (gen.strategy) {
5
7
  case "uuid":
6
8
  return randomUUID();
9
+ case "lindorm_id":
10
+ return gen.namespace != null || gen.length != null
11
+ ? randomId({
12
+ namespace: gen.namespace ?? undefined,
13
+ length: (gen.length ?? undefined),
14
+ })
15
+ : randomId();
7
16
  case "date":
8
17
  return new Date();
9
18
  case "string": {
@@ -1 +1 @@
1
- {"version":3,"file":"generate-fields.js","sourceRoot":"","sources":["../../../../src/internal/message/utils/generate-fields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAIhD,MAAM,aAAa,GAAG,CAAC,GAAkB,EAAW,EAAE;IACpD,QAAQ,GAAG,CAAC,QAAQ,EAAE,CAAC;QACrB,KAAK,MAAM;YACT,OAAO,UAAU,EAAE,CAAC;QAEtB,KAAK,MAAM;YACT,OAAO,IAAI,IAAI,EAAE,CAAC;QAEpB,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1C,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACnE,CAAC;QAED,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;YACzB,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,MAAM,CAAC;YAC9B,OAAO,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC7B,CAAC;QAED,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;YACzB,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,MAAM,CAAC;YAC9B,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;QAC3C,CAAC;QAED;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,QAAyB,EAAE,OAAY,EAAQ,EAAE;IAC9E,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QACrC,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI;YAAE,SAAS;QACvC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"generate-fields.js","sourceRoot":"","sources":["../../../../src/internal/message/utils/generate-fields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAWhD,MAAM,aAAa,GAAG,CAAC,GAAkB,EAAW,EAAE;IACpD,IAAI,GAAG,CAAC,SAAS;QAAE,OAAO,GAAG,CAAC,SAAS,EAAE,CAAC;IAE1C,QAAQ,GAAG,CAAC,QAAQ,EAAE,CAAC;QACrB,KAAK,MAAM;YACT,OAAO,UAAU,EAAE,CAAC;QAEtB,KAAK,YAAY;YACf,OAAO,GAAG,CAAC,SAAS,IAAI,IAAI,IAAI,GAAG,CAAC,MAAM,IAAI,IAAI;gBAChD,CAAC,CAAC,QAAQ,CAAC;oBACP,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,SAAS;oBACrC,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,IAAI,SAAS,CAA+B;iBAChE,CAAC;gBACJ,CAAC,CAAC,QAAQ,EAAE,CAAC;QAEjB,KAAK,MAAM;YACT,OAAO,IAAI,IAAI,EAAE,CAAC;QAEpB,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1C,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACnE,CAAC;QAED,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;YACzB,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,MAAM,CAAC;YAC9B,OAAO,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC7B,CAAC;QAED,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;YACzB,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,MAAM,CAAC;YAC9B,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;QAC3C,CAAC;QAED;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,QAAyB,EAAE,OAAY,EAAQ,EAAE;IAC9E,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QACrC,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI;YAAE,SAAS;QACvC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC;AACH,CAAC,CAAC"}
@@ -8,6 +8,7 @@ export * from "./parse-field.js";
8
8
  export * from "./prepare-inbound.js";
9
9
  export * from "./prepare-outbound.js";
10
10
  export * from "./run-hooks.js";
11
+ export * from "./resolve-consume-topic.js";
11
12
  export * from "./resolve-default-topic.js";
12
13
  export * from "./resolve-delay.js";
13
14
  export * from "./resolve-expiry.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/internal/message/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/internal/message/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC"}
@@ -8,6 +8,7 @@ export * from "./parse-field.js";
8
8
  export * from "./prepare-inbound.js";
9
9
  export * from "./prepare-outbound.js";
10
10
  export * from "./run-hooks.js";
11
+ export * from "./resolve-consume-topic.js";
11
12
  export * from "./resolve-default-topic.js";
12
13
  export * from "./resolve-delay.js";
13
14
  export * from "./resolve-expiry.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/internal/message/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/internal/message/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"parse-field.d.ts","sourceRoot":"","sources":["../../../../src/internal/message/utils/parse-field.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGtD,eAAO,MAAM,UAAU,GAAI,OAAO,SAAS,EAAE,SAAS,GAAG,EAAE,SAAS,GAAG,KAAG,GA6BzE,CAAC"}
1
+ {"version":3,"file":"parse-field.d.ts","sourceRoot":"","sources":["../../../../src/internal/message/utils/parse-field.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGtD,eAAO,MAAM,UAAU,GAAI,OAAO,SAAS,EAAE,SAAS,GAAG,EAAE,SAAS,GAAG,KAAG,GAmCzE,CAAC"}
@@ -18,7 +18,12 @@ export const parseField = (field, message, options) => {
18
18
  }
19
19
  catch (error) {
20
20
  throw new IrisSerializationError(`Failed to parse field "${field.key}" of type ${field.type}`, {
21
- debug: { field: field.key, value, type: typeof value, error },
21
+ code: "field_parse_failed",
22
+ title: "Field Parse Failed",
23
+ details: "The provided value for the named field could not be parsed into the field's declared type. Check that the value matches the expected type.",
24
+ data: { field: field.key, type: field.type },
25
+ debug: { value, valueType: typeof value },
26
+ error: error instanceof Error ? error : undefined,
22
27
  });
23
28
  }
24
29
  };
@@ -1 +1 @@
1
- {"version":3,"file":"parse-field.js","sourceRoot":"","sources":["../../../../src/internal/message/utils/parse-field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AAEnF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAgB,EAAE,OAAY,EAAE,OAAY,EAAO,EAAE;IAC9E,MAAM,iBAAiB,GAAG,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC;IAC/C,MAAM,KAAK,GAAG,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE1E,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAE1C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAGlD,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC3B,OAAO,OAAO,KAAK,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;QAC/E,CAAC;QAGD,IAAI,KAAK,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAEhC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,OAAO,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,sBAAsB,CAC9B,0BAA0B,KAAK,CAAC,GAAG,aAAa,KAAK,CAAC,IAAI,EAAE,EAC5D;YACE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,KAAK,EAAE,KAAK,EAAE;SAC9D,CACF,CAAC;IACJ,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"parse-field.js","sourceRoot":"","sources":["../../../../src/internal/message/utils/parse-field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AAEnF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAgB,EAAE,OAAY,EAAE,OAAY,EAAO,EAAE;IAC9E,MAAM,iBAAiB,GAAG,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC;IAC/C,MAAM,KAAK,GAAG,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE1E,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAE1C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAGlD,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC3B,OAAO,OAAO,KAAK,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;QAC/E,CAAC;QAGD,IAAI,KAAK,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAEhC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,OAAO,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,sBAAsB,CAC9B,0BAA0B,KAAK,CAAC,GAAG,aAAa,KAAK,CAAC,IAAI,EAAE,EAC5D;YACE,IAAI,EAAE,oBAAoB;YAC1B,KAAK,EAAE,oBAAoB;YAC3B,OAAO,EACL,4IAA4I;YAC9I,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE;YAC5C,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,KAAK,EAAE;YACzC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;SAClD,CACF,CAAC;IACJ,CAAC;AACH,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"prepare-inbound.d.ts","sourceRoot":"","sources":["../../../../src/internal/message/utils/prepare-inbound.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAIjD,eAAO,MAAM,cAAc,GACzB,SAAS,MAAM,GAAG,MAAM,EACxB,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,UAAU,eAAe,EACzB,UAAU,QAAQ,KACjB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkCjC,CAAC"}
1
+ {"version":3,"file":"prepare-inbound.d.ts","sourceRoot":"","sources":["../../../../src/internal/message/utils/prepare-inbound.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAIjD,eAAO,MAAM,cAAc,GACzB,SAAS,MAAM,GAAG,MAAM,EACxB,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,UAAU,eAAe,EACzB,UAAU,QAAQ,KACjB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAqDjC,CAAC"}
@@ -9,16 +9,29 @@ export const prepareInbound = async (payload, headers, metadata, amphora) => {
9
9
  data = await decryptPayload(str, amphora);
10
10
  }
11
11
  if (headers["x-iris-encrypted"] === "true" && !metadata.encrypted) {
12
- throw new IrisSerializationError("Received encrypted message but @Encrypted is not configured on this message class");
12
+ throw new IrisSerializationError("Received encrypted message but @Encrypted is not configured on this message class", {
13
+ code: "unexpected_encrypted_message",
14
+ title: "Unexpected Encrypted Message",
15
+ details: "An encrypted payload was received but the message class is not marked with @Encrypted. Add @Encrypted to the message class or stop encrypting the payload.",
16
+ });
13
17
  }
14
18
  if (headers["x-iris-encrypted"] !== "true" && metadata.encrypted) {
15
- throw new IrisSerializationError("Message requires encryption but received unencrypted payload");
19
+ throw new IrisSerializationError("Message requires encryption but received unencrypted payload", {
20
+ code: "missing_encrypted_payload",
21
+ title: "Missing Encrypted Payload",
22
+ details: "The message class is marked with @Encrypted but the received payload was not encrypted. Ensure the producer encrypts this message.",
23
+ });
16
24
  }
17
25
  const compressionAlgorithm = headers["x-iris-compression"];
18
26
  if (compressionAlgorithm) {
19
27
  const validAlgorithms = new Set(["gzip", "deflate", "brotli"]);
20
28
  if (!validAlgorithms.has(compressionAlgorithm)) {
21
- throw new IrisSerializationError(`Unsupported compression algorithm in header: "${compressionAlgorithm}"`);
29
+ throw new IrisSerializationError(`Unsupported compression algorithm in header: "${compressionAlgorithm}"`, {
30
+ code: "unsupported_compression_algorithm",
31
+ title: "Unsupported Compression Algorithm",
32
+ details: "The inbound message declares a compression algorithm that is not supported. Supported algorithms are gzip, deflate, and brotli.",
33
+ data: { algorithm: compressionAlgorithm },
34
+ });
22
35
  }
23
36
  const buf = Buffer.isBuffer(data) ? data : Buffer.from(data, "utf-8");
24
37
  data = await decompress(buf, compressionAlgorithm);
@@ -1 +1 @@
1
- {"version":3,"file":"prepare-inbound.js","sourceRoot":"","sources":["../../../../src/internal/message/utils/prepare-inbound.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AAGnF,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EACjC,OAAwB,EACxB,OAA+B,EAC/B,QAAyB,EACzB,OAAkB,EACgB,EAAE;IACpC,IAAI,IAAI,GAAoB,OAAO,CAAC;IAEpC,IAAI,OAAO,CAAC,kBAAkB,CAAC,KAAK,MAAM,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QACjE,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAClE,IAAI,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,OAAO,CAAC,kBAAkB,CAAC,KAAK,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;QAClE,MAAM,IAAI,sBAAsB,CAC9B,mFAAmF,CACpF,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,kBAAkB,CAAC,KAAK,MAAM,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QACjE,MAAM,IAAI,sBAAsB,CAC9B,8DAA8D,CAC/D,CAAC;IACJ,CAAC;IAED,MAAM,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC3D,IAAI,oBAAoB,EAAE,CAAC;QACzB,MAAM,eAAe,GAAG,IAAI,GAAG,CAAS,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,sBAAsB,CAC9B,iDAAiD,oBAAoB,GAAG,CACzE,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACtE,IAAI,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,oBAAgD,CAAC,CAAC;IACjF,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACnE,OAAO,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AACrD,CAAC,CAAC"}
1
+ {"version":3,"file":"prepare-inbound.js","sourceRoot":"","sources":["../../../../src/internal/message/utils/prepare-inbound.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AAGnF,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EACjC,OAAwB,EACxB,OAA+B,EAC/B,QAAyB,EACzB,OAAkB,EACgB,EAAE;IACpC,IAAI,IAAI,GAAoB,OAAO,CAAC;IAEpC,IAAI,OAAO,CAAC,kBAAkB,CAAC,KAAK,MAAM,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QACjE,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAClE,IAAI,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,OAAO,CAAC,kBAAkB,CAAC,KAAK,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;QAClE,MAAM,IAAI,sBAAsB,CAC9B,mFAAmF,EACnF;YACE,IAAI,EAAE,8BAA8B;YACpC,KAAK,EAAE,8BAA8B;YACrC,OAAO,EACL,4JAA4J;SAC/J,CACF,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,kBAAkB,CAAC,KAAK,MAAM,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QACjE,MAAM,IAAI,sBAAsB,CAC9B,8DAA8D,EAC9D;YACE,IAAI,EAAE,2BAA2B;YACjC,KAAK,EAAE,2BAA2B;YAClC,OAAO,EACL,oIAAoI;SACvI,CACF,CAAC;IACJ,CAAC;IAED,MAAM,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC3D,IAAI,oBAAoB,EAAE,CAAC;QACzB,MAAM,eAAe,GAAG,IAAI,GAAG,CAAS,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,sBAAsB,CAC9B,iDAAiD,oBAAoB,GAAG,EACxE;gBACE,IAAI,EAAE,mCAAmC;gBACzC,KAAK,EAAE,mCAAmC;gBAC1C,OAAO,EACL,iIAAiI;gBACnI,IAAI,EAAE,EAAE,SAAS,EAAE,oBAAoB,EAAE;aAC1C,CACF,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACtE,IAAI,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,oBAAgD,CAAC,CAAC;IACjF,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACnE,OAAO,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AACrD,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { ILogger } from "@lindorm/logger";
2
+ import type { MessageMetadata } from "../types/metadata.js";
3
+ export declare const resolveConsumeTopic: (metadata: MessageMetadata, logger?: ILogger, queue?: string) => string;
4
+ //# sourceMappingURL=resolve-consume-topic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-consume-topic.d.ts","sourceRoot":"","sources":["../../../../src/internal/message/utils/resolve-consume-topic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG5D,eAAO,MAAM,mBAAmB,GAC9B,UAAU,eAAe,EACzB,SAAS,OAAO,EAChB,QAAQ,MAAM,KACb,MAkBF,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { resolveDefaultTopic } from "./resolve-default-topic.js";
2
+ export const resolveConsumeTopic = (metadata, logger, queue) => {
3
+ if (metadata.topic?.callback) {
4
+ if (queue) {
5
+ return queue;
6
+ }
7
+ logger?.warn("Message uses a dynamic @Topic callback and no explicit queue was provided; consume() cannot resolve it statically and falls back to the namespaced message name", { message: metadata.message.name, namespace: metadata.namespace });
8
+ }
9
+ return resolveDefaultTopic(metadata);
10
+ };
11
+ //# sourceMappingURL=resolve-consume-topic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-consume-topic.js","sourceRoot":"","sources":["../../../../src/internal/message/utils/resolve-consume-topic.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,QAAyB,EACzB,MAAgB,EAChB,KAAc,EACN,EAAE;IACV,IAAI,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC;QAM7B,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,EAAE,IAAI,CACV,iKAAiK,EACjK,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAClE,CAAC;IACJ,CAAC;IAED,OAAO,mBAAmB,CAAC,QAAQ,CAAC,CAAC;AACvC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"run-hooks.d.ts","sourceRoot":"","sources":["../../../../src/internal/message/utils/run-hooks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,eAAO,MAAM,YAAY,GACvB,WAAW,iBAAiB,EAC5B,OAAO,KAAK,CAAC,QAAQ,CAAC,EACtB,SAAS,OAAO,EAChB,MAAM,YAAY,EAClB,GAAG,OAAO,KAAK,CAAC,OAAO,CAAC,KACvB,IAUF,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,WAAW,iBAAiB,EAC5B,OAAO,KAAK,CAAC,QAAQ,CAAC,EACtB,SAAS,OAAO,EAChB,MAAM,YAAY,EAClB,GAAG,OAAO,KAAK,CAAC,OAAO,CAAC,KACvB,OAAO,CAAC,IAAI,CAKd,CAAC"}
1
+ {"version":3,"file":"run-hooks.d.ts","sourceRoot":"","sources":["../../../../src/internal/message/utils/run-hooks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,eAAO,MAAM,YAAY,GACvB,WAAW,iBAAiB,EAC5B,OAAO,KAAK,CAAC,QAAQ,CAAC,EACtB,SAAS,OAAO,EAChB,MAAM,YAAY,EAClB,GAAG,OAAO,KAAK,CAAC,OAAO,CAAC,KACvB,IAiBF,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,WAAW,iBAAiB,EAC5B,OAAO,KAAK,CAAC,QAAQ,CAAC,EACtB,SAAS,OAAO,EAChB,MAAM,YAAY,EAClB,GAAG,OAAO,KAAK,CAAC,OAAO,CAAC,KACvB,OAAO,CAAC,IAAI,CAKd,CAAC"}
@@ -5,7 +5,12 @@ export const runHooksSync = (decorator, hooks, message, meta, ...extra) => {
5
5
  continue;
6
6
  const result = hook.callback(message, meta, ...extra);
7
7
  if (result instanceof Promise) {
8
- throw new IrisError(`@${decorator} hook returned a Promise — ${decorator} hooks must be synchronous`);
8
+ throw new IrisError(`@${decorator} hook returned a Promise — ${decorator} hooks must be synchronous`, {
9
+ code: "async_sync_hook",
10
+ title: "Async Sync Hook",
11
+ details: "A synchronous lifecycle hook returned a Promise. Make the named hook's callback synchronous, or move the logic to an async hook.",
12
+ data: { decorator },
13
+ });
9
14
  }
10
15
  }
11
16
  };
@@ -1 +1 @@
1
- {"version":3,"file":"run-hooks.js","sourceRoot":"","sources":["../../../../src/internal/message/utils/run-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAKzD,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,SAA4B,EAC5B,KAAsB,EACtB,OAAgB,EAChB,IAAkB,EAClB,GAAG,KAAqB,EAClB,EAAE;IACR,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;YAAE,SAAS;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC;QACtD,IAAI,MAAM,YAAY,OAAO,EAAE,CAAC;YAC9B,MAAM,IAAI,SAAS,CACjB,IAAI,SAAS,8BAA8B,SAAS,4BAA4B,CACjF,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAChC,SAA4B,EAC5B,KAAsB,EACtB,OAAgB,EAChB,IAAkB,EAClB,GAAG,KAAqB,EACT,EAAE;IACjB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;YAAE,SAAS;QAC3C,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"run-hooks.js","sourceRoot":"","sources":["../../../../src/internal/message/utils/run-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAKzD,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,SAA4B,EAC5B,KAAsB,EACtB,OAAgB,EAChB,IAAkB,EAClB,GAAG,KAAqB,EAClB,EAAE;IACR,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;YAAE,SAAS;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC;QACtD,IAAI,MAAM,YAAY,OAAO,EAAE,CAAC;YAC9B,MAAM,IAAI,SAAS,CACjB,IAAI,SAAS,8BAA8B,SAAS,4BAA4B,EAChF;gBACE,IAAI,EAAE,iBAAiB;gBACvB,KAAK,EAAE,iBAAiB;gBACxB,OAAO,EACL,kIAAkI;gBACpI,IAAI,EAAE,EAAE,SAAS,EAAE;aACpB,CACF,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAChC,SAA4B,EAC5B,KAAsB,EACtB,OAAgB,EAChB,IAAkB,EAClB,GAAG,KAAqB,EACT,EAAE;IACjB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;YAAE,SAAS;QAC3C,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"serialize-message.d.ts","sourceRoot":"","sources":["../../../../src/internal/message/utils/serialize-message.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAExE,YAAY,EAAE,iBAAiB,EAAE,CAAC;AAElC,eAAO,MAAM,gBAAgB,GAC3B,SAAS,GAAG,EACZ,UAAU,eAAe,KACxB,iBA6CF,CAAC"}
1
+ {"version":3,"file":"serialize-message.d.ts","sourceRoot":"","sources":["../../../../src/internal/message/utils/serialize-message.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAExE,YAAY,EAAE,iBAAiB,EAAE,CAAC;AAElC,eAAO,MAAM,gBAAgB,GAC3B,SAAS,GAAG,EACZ,UAAU,eAAe,KACxB,iBAyDF,CAAC"}
@@ -11,6 +11,10 @@ export const serializeMessage = (message, metadata) => {
11
11
  }
12
12
  catch (error) {
13
13
  throw new IrisSerializationError(`@Transform.to failed for field "${field.key}"`, {
14
+ code: "transform_to_failed",
15
+ title: "Transform To Failed",
16
+ details: "The @Transform.to function threw while converting the named field during serialization. Review the transform's to() implementation.",
17
+ data: { field: field.key },
14
18
  error: error instanceof Error ? error : undefined,
15
19
  });
16
20
  }
@@ -29,7 +33,13 @@ export const serializeMessage = (message, metadata) => {
29
33
  body = JsonKit.stringify(data);
30
34
  }
31
35
  catch (error) {
32
- throw new IrisSerializationError(`Failed to serialize message "${metadata.message.name}"`, { debug: { error: error instanceof Error ? error.message : String(error) } });
36
+ throw new IrisSerializationError(`Failed to serialize message "${metadata.message.name}"`, {
37
+ code: "message_serialize_failed",
38
+ title: "Message Serialize Failed",
39
+ details: "The message body could not be serialized to JSON. A field likely holds a value that is not JSON-serializable, such as a circular reference.",
40
+ data: { message: metadata.message.name },
41
+ debug: { error: error instanceof Error ? error.message : String(error) },
42
+ });
33
43
  }
34
44
  return {
35
45
  body,
@@ -1 +1 @@
1
- {"version":3,"file":"serialize-message.js","sourceRoot":"","sources":["../../../../src/internal/message/utils/serialize-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AAMnF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,OAAY,EACZ,QAAyB,EACN,EAAE;IACrB,MAAM,IAAI,GAA4B,EAAE,CAAC;IACzC,MAAM,OAAO,GAA2B,EAAE,CAAC;IAE3C,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpC,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE/B,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC;gBACH,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;YACpC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,sBAAsB,CAC9B,mCAAmC,KAAK,CAAC,GAAG,GAAG,EAC/C;oBACE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;iBAClD,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAC1C,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,sBAAsB,CAC9B,gCAAgC,QAAQ,CAAC,OAAO,CAAC,IAAI,GAAG,EACxD,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAC7E,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI;QACJ,OAAO;KACR,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"serialize-message.js","sourceRoot":"","sources":["../../../../src/internal/message/utils/serialize-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AAMnF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,OAAY,EACZ,QAAyB,EACN,EAAE;IACrB,MAAM,IAAI,GAA4B,EAAE,CAAC;IACzC,MAAM,OAAO,GAA2B,EAAE,CAAC;IAE3C,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpC,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE/B,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC;gBACH,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;YACpC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,sBAAsB,CAC9B,mCAAmC,KAAK,CAAC,GAAG,GAAG,EAC/C;oBACE,IAAI,EAAE,qBAAqB;oBAC3B,KAAK,EAAE,qBAAqB;oBAC5B,OAAO,EACL,qIAAqI;oBACvI,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE;oBAC1B,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;iBAClD,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAC1C,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,sBAAsB,CAC9B,gCAAgC,QAAQ,CAAC,OAAO,CAAC,IAAI,GAAG,EACxD;YACE,IAAI,EAAE,0BAA0B;YAChC,KAAK,EAAE,0BAA0B;YACjC,OAAO,EACL,6IAA6I;YAC/I,IAAI,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE;YACxC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;SACzE,CACF,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI;QACJ,OAAO;KACR,CAAC;AACJ,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"check-pipeline-results.d.ts","sourceRoot":"","sources":["../../../src/internal/utils/check-pipeline-results.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,GAC/B,SAAS,KAAK,CAAC,CAAC,KAAK,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI,KAC7C,IAQF,CAAC"}
1
+ {"version":3,"file":"check-pipeline-results.d.ts","sourceRoot":"","sources":["../../../src/internal/utils/check-pipeline-results.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,oBAAoB,GAC/B,SAAS,KAAK,CAAC,CAAC,KAAK,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI,KAC7C,IAaF,CAAC"}
@@ -1,6 +1,11 @@
1
+ import { IrisTransportError } from "../../errors/IrisTransportError.js";
1
2
  export const checkPipelineResults = (results) => {
2
3
  if (!results) {
3
- throw new Error("Redis pipeline returned null results");
4
+ throw new IrisTransportError("Redis pipeline returned null results", {
5
+ code: "pipeline_null_results",
6
+ title: "Pipeline Null Results",
7
+ details: "The Redis pipeline returned null instead of a results array, indicating the pipeline did not execute. Retry the operation.",
8
+ });
4
9
  }
5
10
  for (const [err] of results) {
6
11
  if (err)
@@ -1 +1 @@
1
- {"version":3,"file":"check-pipeline-results.js","sourceRoot":"","sources":["../../../src/internal/utils/check-pipeline-results.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,OAA8C,EACxC,EAAE;IACR,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,GAAG;YAAE,MAAM,GAAG,CAAC;IACrB,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"check-pipeline-results.js","sourceRoot":"","sources":["../../../src/internal/utils/check-pipeline-results.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAExE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,OAA8C,EACxC,EAAE;IACR,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,kBAAkB,CAAC,sCAAsC,EAAE;YACnE,IAAI,EAAE,uBAAuB;YAC7B,KAAK,EAAE,uBAAuB;YAC9B,OAAO,EACL,4HAA4H;SAC/H,CAAC,CAAC;IACL,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,GAAG;YAAE,MAAM,GAAG,CAAC;IACrB,CAAC;AACH,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"validate-encrypted-messages.d.ts","sourceRoot":"","sources":["../../../src/internal/utils/validate-encrypted-messages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAG5D,eAAO,MAAM,yBAAyB,GACpC,UAAU,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,EACtC,SAAS,QAAQ,GAAG,SAAS,KAC5B,IASF,CAAC"}
1
+ {"version":3,"file":"validate-encrypted-messages.d.ts","sourceRoot":"","sources":["../../../src/internal/utils/validate-encrypted-messages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAG5D,eAAO,MAAM,yBAAyB,GACpC,UAAU,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,EACtC,SAAS,QAAQ,GAAG,SAAS,KAC5B,IAgBF,CAAC"}
@@ -4,7 +4,12 @@ export const validateEncryptedMessages = (messages, amphora) => {
4
4
  for (const target of messages) {
5
5
  const metadata = getMessageMetadata(target);
6
6
  if (metadata.encrypted && !amphora) {
7
- throw new IrisSourceError(`Message "${metadata.message.name}" uses @Encrypted but no amphora instance was provided to IrisSource`);
7
+ throw new IrisSourceError(`Message "${metadata.message.name}" uses @Encrypted but no amphora instance was provided to IrisSource`, {
8
+ code: "missing_amphora_instance",
9
+ title: "Missing Amphora Instance",
10
+ details: "A registered message is marked with @Encrypted but no Amphora instance was provided to IrisSource. Provide an Amphora when constructing the source.",
11
+ data: { message: metadata.message.name },
12
+ });
8
13
  }
9
14
  }
10
15
  };
@@ -1 +1 @@
1
- {"version":3,"file":"validate-encrypted-messages.js","sourceRoot":"","sources":["../../../src/internal/utils/validate-encrypted-messages.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAElE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AAEjF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,QAAsC,EACtC,OAA6B,EACvB,EAAE;IACR,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,QAAQ,CAAC,SAAS,IAAI,CAAC,OAAO,EAAE,CAAC;YACnC,MAAM,IAAI,eAAe,CACvB,YAAY,QAAQ,CAAC,OAAO,CAAC,IAAI,sEAAsE,CACxG,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"validate-encrypted-messages.js","sourceRoot":"","sources":["../../../src/internal/utils/validate-encrypted-messages.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAElE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AAEjF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,QAAsC,EACtC,OAA6B,EACvB,EAAE;IACR,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,QAAQ,CAAC,SAAS,IAAI,CAAC,OAAO,EAAE,CAAC;YACnC,MAAM,IAAI,eAAe,CACvB,YAAY,QAAQ,CAAC,OAAO,CAAC,IAAI,sEAAsE,EACvG;gBACE,IAAI,EAAE,0BAA0B;gBAChC,KAAK,EAAE,0BAA0B;gBACjC,OAAO,EACL,qJAAqJ;gBACvJ,IAAI,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE;aACzC,CACF,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-mock-rpc-client.d.ts","sourceRoot":"","sources":["../../src/mocks/create-mock-rpc-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEzD,MAAM,MAAM,eAAe,CAAC,GAAG,SAAS,QAAQ,IAAI;IAClD,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACrB,aAAa,IAAI,IAAI,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,GAAG,SAAS,QAAQ,GAAG,QAAQ,EAC/B,GAAG,SAAS,QAAQ,GAAG,QAAQ,EAE/B,QAAQ,MAAM,GAAG,EACjB,kBAAkB,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,KACjD,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,eAAe,CAAC,GAAG,CA6BhD,CAAC"}
1
+ {"version":3,"file":"create-mock-rpc-client.d.ts","sourceRoot":"","sources":["../../src/mocks/create-mock-rpc-client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEzD,MAAM,MAAM,eAAe,CAAC,GAAG,SAAS,QAAQ,IAAI;IAClD,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACrB,aAAa,IAAI,IAAI,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,GAAG,SAAS,QAAQ,GAAG,QAAQ,EAC/B,GAAG,SAAS,QAAQ,GAAG,QAAQ,EAE/B,QAAQ,MAAM,GAAG,EACjB,kBAAkB,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,KACjD,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,eAAe,CAAC,GAAG,CAmChD,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { IrisValidationError } from "../errors/IrisValidationError.js";
1
2
  export const _createMockRpcClient = (mockFn, responseFactory) => {
2
3
  const requests = [];
3
4
  const impl = (fn) => {
@@ -10,7 +11,11 @@ export const _createMockRpcClient = (mockFn, responseFactory) => {
10
11
  request: impl(async (message) => {
11
12
  requests.push(message);
12
13
  if (!responseFactory) {
13
- throw new Error("MockRpcClient: no responseFactory provided — supply one via the constructor");
14
+ throw new IrisValidationError("MockRpcClient: no responseFactory provided — supply one via the constructor", {
15
+ code: "missing_response_factory",
16
+ title: "Missing Response Factory",
17
+ details: "The mock RPC client needs a responseFactory to produce responses; pass one when creating the mock.",
18
+ });
14
19
  }
15
20
  return responseFactory(message);
16
21
  }),