@lindorm/iris 0.4.3 → 0.5.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 (234) 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/Delay.d.ts.map +1 -1
  5. package/dist/decorators/Delay.js +5 -1
  6. package/dist/decorators/Delay.js.map +1 -1
  7. package/dist/decorators/Expiry.d.ts.map +1 -1
  8. package/dist/decorators/Expiry.js +5 -1
  9. package/dist/decorators/Expiry.js.map +1 -1
  10. package/dist/decorators/Priority.d.ts.map +1 -1
  11. package/dist/decorators/Priority.js +5 -1
  12. package/dist/decorators/Priority.js.map +1 -1
  13. package/dist/decorators/Version.d.ts.map +1 -1
  14. package/dist/decorators/Version.js +5 -1
  15. package/dist/decorators/Version.js.map +1 -1
  16. package/dist/errors/IrisError.d.ts +1 -0
  17. package/dist/errors/IrisError.d.ts.map +1 -1
  18. package/dist/errors/IrisError.js +1 -0
  19. package/dist/errors/IrisError.js.map +1 -1
  20. package/dist/internal/classes/DriverRpcServerBase.d.ts.map +1 -1
  21. package/dist/internal/classes/DriverRpcServerBase.js +4 -1
  22. package/dist/internal/classes/DriverRpcServerBase.js.map +1 -1
  23. package/dist/internal/classes/DriverStreamProcessorBase.d.ts.map +1 -1
  24. package/dist/internal/classes/DriverStreamProcessorBase.js +5 -1
  25. package/dist/internal/classes/DriverStreamProcessorBase.js.map +1 -1
  26. package/dist/internal/dead-letter/utils/create-dead-letter-store.d.ts.map +1 -1
  27. package/dist/internal/dead-letter/utils/create-dead-letter-store.js +15 -4
  28. package/dist/internal/dead-letter/utils/create-dead-letter-store.js.map +1 -1
  29. package/dist/internal/delay/utils/create-delay-store.d.ts.map +1 -1
  30. package/dist/internal/delay/utils/create-delay-store.js +15 -4
  31. package/dist/internal/delay/utils/create-delay-store.js.map +1 -1
  32. package/dist/internal/drivers/kafka/classes/KafkaMessageBus.d.ts.map +1 -1
  33. package/dist/internal/drivers/kafka/classes/KafkaMessageBus.js +18 -3
  34. package/dist/internal/drivers/kafka/classes/KafkaMessageBus.js.map +1 -1
  35. package/dist/internal/drivers/kafka/classes/KafkaRpcClient.d.ts.map +1 -1
  36. package/dist/internal/drivers/kafka/classes/KafkaRpcClient.js +12 -2
  37. package/dist/internal/drivers/kafka/classes/KafkaRpcClient.js.map +1 -1
  38. package/dist/internal/drivers/kafka/classes/KafkaRpcServer.d.ts.map +1 -1
  39. package/dist/internal/drivers/kafka/classes/KafkaRpcServer.js +6 -1
  40. package/dist/internal/drivers/kafka/classes/KafkaRpcServer.js.map +1 -1
  41. package/dist/internal/drivers/kafka/classes/KafkaStreamPipeline.d.ts.map +1 -1
  42. package/dist/internal/drivers/kafka/classes/KafkaStreamPipeline.js +11 -2
  43. package/dist/internal/drivers/kafka/classes/KafkaStreamPipeline.js.map +1 -1
  44. package/dist/internal/drivers/kafka/classes/KafkaWorkerQueue.d.ts.map +1 -1
  45. package/dist/internal/drivers/kafka/classes/KafkaWorkerQueue.js +27 -6
  46. package/dist/internal/drivers/kafka/classes/KafkaWorkerQueue.js.map +1 -1
  47. package/dist/internal/drivers/kafka/utils/create-kafka-consumer.d.ts.map +1 -1
  48. package/dist/internal/drivers/kafka/utils/create-kafka-consumer.js +7 -1
  49. package/dist/internal/drivers/kafka/utils/create-kafka-consumer.js.map +1 -1
  50. package/dist/internal/drivers/kafka/utils/ensure-kafka-topic.d.ts.map +1 -1
  51. package/dist/internal/drivers/kafka/utils/ensure-kafka-topic.js +7 -1
  52. package/dist/internal/drivers/kafka/utils/ensure-kafka-topic.js.map +1 -1
  53. package/dist/internal/drivers/kafka/utils/publish-kafka-messages.d.ts.map +1 -1
  54. package/dist/internal/drivers/kafka/utils/publish-kafka-messages.js +6 -1
  55. package/dist/internal/drivers/kafka/utils/publish-kafka-messages.js.map +1 -1
  56. package/dist/internal/drivers/kafka/utils/wrap-kafka-consumer.d.ts.map +1 -1
  57. package/dist/internal/drivers/kafka/utils/wrap-kafka-consumer.js +7 -1
  58. package/dist/internal/drivers/kafka/utils/wrap-kafka-consumer.js.map +1 -1
  59. package/dist/internal/drivers/memory/classes/MemoryRpcClient.d.ts.map +1 -1
  60. package/dist/internal/drivers/memory/classes/MemoryRpcClient.js +10 -2
  61. package/dist/internal/drivers/memory/classes/MemoryRpcClient.js.map +1 -1
  62. package/dist/internal/drivers/memory/classes/MemoryStreamPipeline.d.ts.map +1 -1
  63. package/dist/internal/drivers/memory/classes/MemoryStreamPipeline.js +5 -1
  64. package/dist/internal/drivers/memory/classes/MemoryStreamPipeline.js.map +1 -1
  65. package/dist/internal/drivers/memory/classes/MemoryWorkerQueue.d.ts.map +1 -1
  66. package/dist/internal/drivers/memory/classes/MemoryWorkerQueue.js +9 -3
  67. package/dist/internal/drivers/memory/classes/MemoryWorkerQueue.js.map +1 -1
  68. package/dist/internal/drivers/memory/types/memory-store.d.ts +1 -0
  69. package/dist/internal/drivers/memory/types/memory-store.d.ts.map +1 -1
  70. package/dist/internal/drivers/memory/utils/clone-envelope.d.ts +3 -0
  71. package/dist/internal/drivers/memory/utils/clone-envelope.d.ts.map +1 -0
  72. package/dist/internal/drivers/memory/utils/clone-envelope.js +5 -0
  73. package/dist/internal/drivers/memory/utils/clone-envelope.js.map +1 -0
  74. package/dist/internal/drivers/memory/utils/dispatch-to-consumers.d.ts.map +1 -1
  75. package/dist/internal/drivers/memory/utils/dispatch-to-consumers.js +13 -5
  76. package/dist/internal/drivers/memory/utils/dispatch-to-consumers.js.map +1 -1
  77. package/dist/internal/drivers/memory/utils/dispatch-to-subscribers.d.ts.map +1 -1
  78. package/dist/internal/drivers/memory/utils/dispatch-to-subscribers.js +3 -2
  79. package/dist/internal/drivers/memory/utils/dispatch-to-subscribers.js.map +1 -1
  80. package/dist/internal/drivers/nats/classes/NatsDriver.d.ts.map +1 -1
  81. package/dist/internal/drivers/nats/classes/NatsDriver.js +8 -1
  82. package/dist/internal/drivers/nats/classes/NatsDriver.js.map +1 -1
  83. package/dist/internal/drivers/nats/classes/NatsMessageBus.d.ts.map +1 -1
  84. package/dist/internal/drivers/nats/classes/NatsMessageBus.js +10 -1
  85. package/dist/internal/drivers/nats/classes/NatsMessageBus.js.map +1 -1
  86. package/dist/internal/drivers/nats/classes/NatsRpcClient.d.ts.map +1 -1
  87. package/dist/internal/drivers/nats/classes/NatsRpcClient.js +22 -4
  88. package/dist/internal/drivers/nats/classes/NatsRpcClient.js.map +1 -1
  89. package/dist/internal/drivers/nats/classes/NatsRpcServer.d.ts.map +1 -1
  90. package/dist/internal/drivers/nats/classes/NatsRpcServer.js +6 -1
  91. package/dist/internal/drivers/nats/classes/NatsRpcServer.js.map +1 -1
  92. package/dist/internal/drivers/nats/classes/NatsStreamPipeline.d.ts.map +1 -1
  93. package/dist/internal/drivers/nats/classes/NatsStreamPipeline.js +11 -2
  94. package/dist/internal/drivers/nats/classes/NatsStreamPipeline.js.map +1 -1
  95. package/dist/internal/drivers/nats/classes/NatsWorkerQueue.d.ts.map +1 -1
  96. package/dist/internal/drivers/nats/classes/NatsWorkerQueue.js +21 -4
  97. package/dist/internal/drivers/nats/classes/NatsWorkerQueue.js.map +1 -1
  98. package/dist/internal/drivers/nats/types/nats-types.d.ts +2 -0
  99. package/dist/internal/drivers/nats/types/nats-types.d.ts.map +1 -1
  100. package/dist/internal/drivers/nats/utils/create-nats-consumer.d.ts.map +1 -1
  101. package/dist/internal/drivers/nats/utils/create-nats-consumer.js +2 -1
  102. package/dist/internal/drivers/nats/utils/create-nats-consumer.js.map +1 -1
  103. package/dist/internal/drivers/nats/utils/index.d.ts +1 -0
  104. package/dist/internal/drivers/nats/utils/index.d.ts.map +1 -1
  105. package/dist/internal/drivers/nats/utils/index.js +1 -0
  106. package/dist/internal/drivers/nats/utils/index.js.map +1 -1
  107. package/dist/internal/drivers/nats/utils/publish-nats-messages.d.ts.map +1 -1
  108. package/dist/internal/drivers/nats/utils/publish-nats-messages.js +6 -1
  109. package/dist/internal/drivers/nats/utils/publish-nats-messages.js.map +1 -1
  110. package/dist/internal/drivers/nats/utils/resolve-max-deliver.d.ts +3 -0
  111. package/dist/internal/drivers/nats/utils/resolve-max-deliver.d.ts.map +1 -0
  112. package/dist/internal/drivers/nats/utils/resolve-max-deliver.js +2 -0
  113. package/dist/internal/drivers/nats/utils/resolve-max-deliver.js.map +1 -0
  114. package/dist/internal/drivers/nats/utils/wrap-nats-consumer.d.ts.map +1 -1
  115. package/dist/internal/drivers/nats/utils/wrap-nats-consumer.js.map +1 -1
  116. package/dist/internal/drivers/rabbit/classes/RabbitDriver.d.ts.map +1 -1
  117. package/dist/internal/drivers/rabbit/classes/RabbitDriver.js +7 -1
  118. package/dist/internal/drivers/rabbit/classes/RabbitDriver.js.map +1 -1
  119. package/dist/internal/drivers/rabbit/classes/RabbitMessageBus.d.ts.map +1 -1
  120. package/dist/internal/drivers/rabbit/classes/RabbitMessageBus.js +19 -3
  121. package/dist/internal/drivers/rabbit/classes/RabbitMessageBus.js.map +1 -1
  122. package/dist/internal/drivers/rabbit/classes/RabbitRpcClient.d.ts +2 -0
  123. package/dist/internal/drivers/rabbit/classes/RabbitRpcClient.d.ts.map +1 -1
  124. package/dist/internal/drivers/rabbit/classes/RabbitRpcClient.js +30 -3
  125. package/dist/internal/drivers/rabbit/classes/RabbitRpcClient.js.map +1 -1
  126. package/dist/internal/drivers/rabbit/classes/RabbitRpcServer.d.ts.map +1 -1
  127. package/dist/internal/drivers/rabbit/classes/RabbitRpcServer.js +6 -1
  128. package/dist/internal/drivers/rabbit/classes/RabbitRpcServer.js.map +1 -1
  129. package/dist/internal/drivers/rabbit/classes/RabbitStreamPipeline.d.ts.map +1 -1
  130. package/dist/internal/drivers/rabbit/classes/RabbitStreamPipeline.js +11 -2
  131. package/dist/internal/drivers/rabbit/classes/RabbitStreamPipeline.js.map +1 -1
  132. package/dist/internal/drivers/rabbit/classes/RabbitWorkerQueue.d.ts.map +1 -1
  133. package/dist/internal/drivers/rabbit/classes/RabbitWorkerQueue.js +17 -3
  134. package/dist/internal/drivers/rabbit/classes/RabbitWorkerQueue.js.map +1 -1
  135. package/dist/internal/drivers/rabbit/utils/publish-messages.d.ts.map +1 -1
  136. package/dist/internal/drivers/rabbit/utils/publish-messages.js +6 -1
  137. package/dist/internal/drivers/rabbit/utils/publish-messages.js.map +1 -1
  138. package/dist/internal/drivers/rabbit/utils/rabbit-constants.d.ts +2 -0
  139. package/dist/internal/drivers/rabbit/utils/rabbit-constants.d.ts.map +1 -0
  140. package/dist/internal/drivers/rabbit/utils/rabbit-constants.js +2 -0
  141. package/dist/internal/drivers/rabbit/utils/rabbit-constants.js.map +1 -0
  142. package/dist/internal/drivers/rabbit/utils/wrap-rabbit-consumer.d.ts.map +1 -1
  143. package/dist/internal/drivers/rabbit/utils/wrap-rabbit-consumer.js +6 -1
  144. package/dist/internal/drivers/rabbit/utils/wrap-rabbit-consumer.js.map +1 -1
  145. package/dist/internal/drivers/redis/classes/RedisMessageBus.d.ts.map +1 -1
  146. package/dist/internal/drivers/redis/classes/RedisMessageBus.js +6 -1
  147. package/dist/internal/drivers/redis/classes/RedisMessageBus.js.map +1 -1
  148. package/dist/internal/drivers/redis/classes/RedisRpcClient.d.ts.map +1 -1
  149. package/dist/internal/drivers/redis/classes/RedisRpcClient.js +6 -1
  150. package/dist/internal/drivers/redis/classes/RedisRpcClient.js.map +1 -1
  151. package/dist/internal/drivers/redis/classes/RedisRpcServer.d.ts.map +1 -1
  152. package/dist/internal/drivers/redis/classes/RedisRpcServer.js +6 -1
  153. package/dist/internal/drivers/redis/classes/RedisRpcServer.js.map +1 -1
  154. package/dist/internal/drivers/redis/classes/RedisStreamPipeline.d.ts.map +1 -1
  155. package/dist/internal/drivers/redis/classes/RedisStreamPipeline.js +5 -1
  156. package/dist/internal/drivers/redis/classes/RedisStreamPipeline.js.map +1 -1
  157. package/dist/internal/drivers/redis/classes/RedisWorkerQueue.d.ts.map +1 -1
  158. package/dist/internal/drivers/redis/classes/RedisWorkerQueue.js +15 -4
  159. package/dist/internal/drivers/redis/classes/RedisWorkerQueue.js.map +1 -1
  160. package/dist/internal/drivers/redis/utils/publish-redis-messages.d.ts.map +1 -1
  161. package/dist/internal/drivers/redis/utils/publish-redis-messages.js +6 -1
  162. package/dist/internal/drivers/redis/utils/publish-redis-messages.js.map +1 -1
  163. package/dist/internal/drivers/redis/utils/wrap-redis-consumer.d.ts.map +1 -1
  164. package/dist/internal/drivers/redis/utils/wrap-redis-consumer.js +7 -1
  165. package/dist/internal/drivers/redis/utils/wrap-redis-consumer.js.map +1 -1
  166. package/dist/internal/message/classes/MessageManager.d.ts.map +1 -1
  167. package/dist/internal/message/classes/MessageManager.js +10 -0
  168. package/dist/internal/message/classes/MessageManager.js.map +1 -1
  169. package/dist/internal/message/classes/MessageScanner.d.ts.map +1 -1
  170. package/dist/internal/message/classes/MessageScanner.js +13 -2
  171. package/dist/internal/message/classes/MessageScanner.js.map +1 -1
  172. package/dist/internal/message/metadata/build-message-metadata.d.ts.map +1 -1
  173. package/dist/internal/message/metadata/build-message-metadata.js +33 -4
  174. package/dist/internal/message/metadata/build-message-metadata.js.map +1 -1
  175. package/dist/internal/message/metadata/stage-metadata.d.ts.map +1 -1
  176. package/dist/internal/message/metadata/stage-metadata.js +25 -5
  177. package/dist/internal/message/metadata/stage-metadata.js.map +1 -1
  178. package/dist/internal/message/metadata/validate-fields.d.ts.map +1 -1
  179. package/dist/internal/message/metadata/validate-fields.js +6 -0
  180. package/dist/internal/message/metadata/validate-fields.js.map +1 -1
  181. package/dist/internal/message/metadata/validate-generated.d.ts.map +1 -1
  182. package/dist/internal/message/metadata/validate-generated.js +6 -0
  183. package/dist/internal/message/metadata/validate-generated.js.map +1 -1
  184. package/dist/internal/message/metadata/validate-headers.d.ts.map +1 -1
  185. package/dist/internal/message/metadata/validate-headers.js +18 -0
  186. package/dist/internal/message/metadata/validate-headers.js.map +1 -1
  187. package/dist/internal/message/utils/build-schema.d.ts.map +1 -1
  188. package/dist/internal/message/utils/build-schema.js +6 -1
  189. package/dist/internal/message/utils/build-schema.js.map +1 -1
  190. package/dist/internal/message/utils/compress.d.ts.map +1 -1
  191. package/dist/internal/message/utils/compress.js +12 -2
  192. package/dist/internal/message/utils/compress.js.map +1 -1
  193. package/dist/internal/message/utils/deserialise.d.ts.map +1 -1
  194. package/dist/internal/message/utils/deserialise.js +35 -7
  195. package/dist/internal/message/utils/deserialise.js.map +1 -1
  196. package/dist/internal/message/utils/encrypt.d.ts.map +1 -1
  197. package/dist/internal/message/utils/encrypt.js +16 -2
  198. package/dist/internal/message/utils/encrypt.js.map +1 -1
  199. package/dist/internal/message/utils/index.d.ts +1 -0
  200. package/dist/internal/message/utils/index.d.ts.map +1 -1
  201. package/dist/internal/message/utils/index.js +1 -0
  202. package/dist/internal/message/utils/index.js.map +1 -1
  203. package/dist/internal/message/utils/parse-field.d.ts.map +1 -1
  204. package/dist/internal/message/utils/parse-field.js +6 -1
  205. package/dist/internal/message/utils/parse-field.js.map +1 -1
  206. package/dist/internal/message/utils/prepare-inbound.d.ts.map +1 -1
  207. package/dist/internal/message/utils/prepare-inbound.js +16 -3
  208. package/dist/internal/message/utils/prepare-inbound.js.map +1 -1
  209. package/dist/internal/message/utils/resolve-consume-topic.d.ts +4 -0
  210. package/dist/internal/message/utils/resolve-consume-topic.d.ts.map +1 -0
  211. package/dist/internal/message/utils/resolve-consume-topic.js +11 -0
  212. package/dist/internal/message/utils/resolve-consume-topic.js.map +1 -0
  213. package/dist/internal/message/utils/run-hooks.d.ts.map +1 -1
  214. package/dist/internal/message/utils/run-hooks.js +6 -1
  215. package/dist/internal/message/utils/run-hooks.js.map +1 -1
  216. package/dist/internal/message/utils/serialize-message.d.ts.map +1 -1
  217. package/dist/internal/message/utils/serialize-message.js +11 -1
  218. package/dist/internal/message/utils/serialize-message.js.map +1 -1
  219. package/dist/internal/utils/check-pipeline-results.d.ts.map +1 -1
  220. package/dist/internal/utils/check-pipeline-results.js +6 -1
  221. package/dist/internal/utils/check-pipeline-results.js.map +1 -1
  222. package/dist/internal/utils/validate-encrypted-messages.d.ts.map +1 -1
  223. package/dist/internal/utils/validate-encrypted-messages.js +6 -1
  224. package/dist/internal/utils/validate-encrypted-messages.js.map +1 -1
  225. package/dist/mocks/create-mock-rpc-client.d.ts.map +1 -1
  226. package/dist/mocks/create-mock-rpc-client.js +6 -1
  227. package/dist/mocks/create-mock-rpc-client.js.map +1 -1
  228. package/dist/utils/write-message.d.ts.map +1 -1
  229. package/dist/utils/write-message.js +7 -1
  230. package/dist/utils/write-message.js.map +1 -1
  231. package/dist/utils/write-source.d.ts.map +1 -1
  232. package/dist/utils/write-source.js +7 -1
  233. package/dist/utils/write-source.js.map +1 -1
  234. package/package.json +12 -12
@@ -18,22 +18,34 @@ export const validateHeaders = (targetName, headers, fields) => {
18
18
  const field = fieldMap.get(header.key);
19
19
  if (!field) {
20
20
  throw new IrisMetadataError(`@Header on property "${header.key}" requires a @Field decorator`, {
21
+ code: "header_without_field",
22
+ title: "Header Without Field",
23
+ details: "A @Header decorator was applied to a property that has no @Field decorator. Add a @Field decorator to the property.",
21
24
  debug: { target: targetName, property: header.key },
22
25
  });
23
26
  }
24
27
  if (field.type === "array" || field.type === "object") {
25
28
  throw new IrisMetadataError(`@Header cannot be used on array or object fields (field "${field.key}" has type "${field.type}")`, {
29
+ code: "header_unsupported_field_type",
30
+ title: "Header Unsupported Field Type",
31
+ details: "A @Header was applied to a field whose type is array or object. Headers may only be used on scalar field types.",
26
32
  debug: { target: targetName, property: field.key, type: field.type },
27
33
  });
28
34
  }
29
35
  if (field.transform != null) {
30
36
  throw new IrisMetadataError(`@Header and @Transform cannot be used on the same field "${field.key}"`, {
37
+ code: "header_transform_conflict",
38
+ title: "Header Transform Conflict",
39
+ details: "A field uses both @Header and @Transform, which is not allowed. Remove one of the two decorators from the field.",
31
40
  debug: { target: targetName, property: field.key },
32
41
  });
33
42
  }
34
43
  const normalised = header.headerName.toLowerCase();
35
44
  if (normalised.startsWith("x-iris-")) {
36
45
  throw new IrisMetadataError(`Header name '${header.headerName}' uses reserved 'x-iris-' prefix`, {
46
+ code: "reserved_header_prefix",
47
+ title: "Reserved Header Prefix",
48
+ details: "A custom header name uses the reserved 'x-iris-' prefix, which is owned by the transport layer. Choose a different header name.",
37
49
  debug: {
38
50
  target: targetName,
39
51
  property: header.key,
@@ -43,6 +55,9 @@ export const validateHeaders = (targetName, headers, fields) => {
43
55
  }
44
56
  if (RESERVED_TRANSPORT_HEADERS.has(normalised)) {
45
57
  throw new IrisMetadataError(`Header name '${header.headerName}' conflicts with reserved transport header`, {
58
+ code: "reserved_transport_header",
59
+ title: "Reserved Transport Header",
60
+ details: "A custom header name collides with a reserved transport header such as content-type or message-id. Choose a different header name.",
46
61
  debug: {
47
62
  target: targetName,
48
63
  property: header.key,
@@ -52,6 +67,9 @@ export const validateHeaders = (targetName, headers, fields) => {
52
67
  }
53
68
  if (seenHeaderNames.has(normalised)) {
54
69
  throw new IrisMetadataError("Duplicate header name", {
70
+ code: "duplicate_header_name",
71
+ title: "Duplicate Header Name",
72
+ details: "Two @Header decorators map to the same header name (case-insensitive). Give each header a unique name.",
55
73
  debug: { target: targetName, headerName: header.headerName },
56
74
  });
57
75
  }
@@ -1 +1 @@
1
- {"version":3,"file":"validate-headers.js","sourceRoot":"","sources":["../../../../src/internal/message/metadata/validate-headers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate-headers.js","sourceRoot":"","sources":["../../../../src/internal/message/metadata/validate-headers.ts"],"names":[],"mappings":"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"}
@@ -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":"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"}
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"}
@@ -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
  };