@warlock.js/herald 4.0.174 → 4.1.2

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 (236) hide show
  1. package/README.md +36 -33
  2. package/cjs/index.cjs +1355 -0
  3. package/cjs/index.cjs.map +1 -0
  4. package/esm/communicators/broker-registry.d.mts +157 -0
  5. package/esm/communicators/broker-registry.d.mts.map +1 -0
  6. package/esm/communicators/broker-registry.mjs +204 -0
  7. package/esm/communicators/broker-registry.mjs.map +1 -0
  8. package/esm/communicators/broker.d.mts +104 -0
  9. package/esm/communicators/broker.d.mts.map +1 -0
  10. package/esm/communicators/broker.mjs +104 -0
  11. package/esm/communicators/broker.mjs.map +1 -0
  12. package/esm/communicators/index.d.mts +2 -0
  13. package/esm/communicators/index.mjs +4 -0
  14. package/esm/contracts/broker-driver.contract.d.mts +200 -0
  15. package/esm/contracts/broker-driver.contract.d.mts.map +1 -0
  16. package/esm/contracts/channel.contract.d.mts +197 -0
  17. package/esm/contracts/channel.contract.d.mts.map +1 -0
  18. package/esm/contracts/index.d.mts +2 -0
  19. package/esm/decorators/consumable.d.mts +17 -0
  20. package/esm/decorators/consumable.d.mts.map +1 -0
  21. package/esm/decorators/consumable.mjs +36 -0
  22. package/esm/decorators/consumable.mjs.map +1 -0
  23. package/esm/decorators/index.d.mts +1 -0
  24. package/esm/decorators/index.mjs +3 -0
  25. package/esm/drivers/index.d.mts +2 -0
  26. package/esm/drivers/index.mjs +5 -0
  27. package/esm/drivers/rabbitmq/index.d.mts +2 -0
  28. package/esm/drivers/rabbitmq/index.mjs +4 -0
  29. package/esm/drivers/rabbitmq/rabbitmq-channel.d.mts +85 -0
  30. package/esm/drivers/rabbitmq/rabbitmq-channel.d.mts.map +1 -0
  31. package/esm/drivers/rabbitmq/rabbitmq-channel.mjs +352 -0
  32. package/esm/drivers/rabbitmq/rabbitmq-channel.mjs.map +1 -0
  33. package/esm/drivers/rabbitmq/rabbitmq-driver.d.mts +130 -0
  34. package/esm/drivers/rabbitmq/rabbitmq-driver.d.mts.map +1 -0
  35. package/esm/drivers/rabbitmq/rabbitmq-driver.mjs +291 -0
  36. package/esm/drivers/rabbitmq/rabbitmq-driver.mjs.map +1 -0
  37. package/esm/index.d.mts +20 -0
  38. package/esm/index.mjs +16 -0
  39. package/esm/message-managers/event-consumer.d.mts +61 -0
  40. package/esm/message-managers/event-consumer.d.mts.map +1 -0
  41. package/esm/message-managers/event-consumer.mjs +63 -0
  42. package/esm/message-managers/event-consumer.mjs.map +1 -0
  43. package/esm/message-managers/event-message.d.mts +87 -0
  44. package/esm/message-managers/event-message.d.mts.map +1 -0
  45. package/esm/message-managers/event-message.mjs +68 -0
  46. package/esm/message-managers/event-message.mjs.map +1 -0
  47. package/esm/message-managers/index.d.mts +3 -0
  48. package/esm/message-managers/index.mjs +4 -0
  49. package/esm/message-managers/prepare-consumer-subscription.mjs +42 -0
  50. package/esm/message-managers/prepare-consumer-subscription.mjs.map +1 -0
  51. package/esm/message-managers/types.d.mts +23 -0
  52. package/esm/message-managers/types.d.mts.map +1 -0
  53. package/esm/types/channel.types.d.mts +23 -0
  54. package/esm/types/channel.types.d.mts.map +1 -0
  55. package/esm/types/connection.types.d.mts +67 -0
  56. package/esm/types/connection.types.d.mts.map +1 -0
  57. package/esm/types/driver.types.d.mts +13 -0
  58. package/esm/types/driver.types.d.mts.map +1 -0
  59. package/esm/types/index.d.mts +7 -0
  60. package/esm/types/message.types.d.mts +37 -0
  61. package/esm/types/message.types.d.mts.map +1 -0
  62. package/esm/types/publish.types.d.mts +16 -0
  63. package/esm/types/publish.types.d.mts.map +1 -0
  64. package/esm/types/registry.types.d.mts +8 -0
  65. package/esm/types/registry.types.d.mts.map +1 -0
  66. package/esm/types/subscribe.types.d.mts +21 -0
  67. package/esm/types/subscribe.types.d.mts.map +1 -0
  68. package/esm/use-case-broadcast.d.mts +41 -0
  69. package/esm/use-case-broadcast.d.mts.map +1 -0
  70. package/esm/use-case-broadcast.mjs +30 -0
  71. package/esm/use-case-broadcast.mjs.map +1 -0
  72. package/esm/utils/{connect-to-broker.d.ts → connect-to-broker.d.mts} +15 -10
  73. package/esm/utils/connect-to-broker.d.mts.map +1 -0
  74. package/esm/utils/connect-to-broker.mjs +168 -0
  75. package/esm/utils/connect-to-broker.mjs.map +1 -0
  76. package/esm/utils/index.d.mts +1 -0
  77. package/esm/utils/index.mjs +3 -0
  78. package/llms-full.txt +581 -0
  79. package/llms.txt +12 -0
  80. package/package.json +46 -46
  81. package/skills/README.md +21 -0
  82. package/skills/consume-message/SKILL.md +217 -0
  83. package/skills/herald-basics/SKILL.md +96 -0
  84. package/skills/publish-message/SKILL.md +172 -0
  85. package/skills/request-and-respond/SKILL.md +74 -0
  86. package/cjs/communicators/broker-registry.d.ts +0 -155
  87. package/cjs/communicators/broker-registry.d.ts.map +0 -1
  88. package/cjs/communicators/broker-registry.js +0 -206
  89. package/cjs/communicators/broker-registry.js.map +0 -1
  90. package/cjs/communicators/broker.d.ts +0 -100
  91. package/cjs/communicators/broker.d.ts.map +0 -1
  92. package/cjs/communicators/broker.js +0 -105
  93. package/cjs/communicators/broker.js.map +0 -1
  94. package/cjs/communicators/index.d.ts +0 -3
  95. package/cjs/communicators/index.d.ts.map +0 -1
  96. package/cjs/contracts/broker-driver.contract.d.ts +0 -196
  97. package/cjs/contracts/broker-driver.contract.d.ts.map +0 -1
  98. package/cjs/contracts/channel.contract.d.ts +0 -191
  99. package/cjs/contracts/channel.contract.d.ts.map +0 -1
  100. package/cjs/contracts/index.d.ts +0 -3
  101. package/cjs/contracts/index.d.ts.map +0 -1
  102. package/cjs/decorators/consumable.d.ts +0 -13
  103. package/cjs/decorators/consumable.d.ts.map +0 -1
  104. package/cjs/decorators/consumable.js +0 -33
  105. package/cjs/decorators/consumable.js.map +0 -1
  106. package/cjs/decorators/index.d.ts +0 -2
  107. package/cjs/decorators/index.d.ts.map +0 -1
  108. package/cjs/drivers/index.d.ts +0 -2
  109. package/cjs/drivers/index.d.ts.map +0 -1
  110. package/cjs/drivers/rabbitmq/index.d.ts +0 -3
  111. package/cjs/drivers/rabbitmq/index.d.ts.map +0 -1
  112. package/cjs/drivers/rabbitmq/rabbitmq-channel.d.ts +0 -79
  113. package/cjs/drivers/rabbitmq/rabbitmq-channel.d.ts.map +0 -1
  114. package/cjs/drivers/rabbitmq/rabbitmq-channel.js +0 -414
  115. package/cjs/drivers/rabbitmq/rabbitmq-channel.js.map +0 -1
  116. package/cjs/drivers/rabbitmq/rabbitmq-driver.d.ts +0 -124
  117. package/cjs/drivers/rabbitmq/rabbitmq-driver.d.ts.map +0 -1
  118. package/cjs/drivers/rabbitmq/rabbitmq-driver.js +0 -347
  119. package/cjs/drivers/rabbitmq/rabbitmq-driver.js.map +0 -1
  120. package/cjs/index.d.ts +0 -47
  121. package/cjs/index.d.ts.map +0 -1
  122. package/cjs/index.js +0 -1
  123. package/cjs/index.js.map +0 -1
  124. package/cjs/message-managers/event-consumer.d.ts +0 -64
  125. package/cjs/message-managers/event-consumer.d.ts.map +0 -1
  126. package/cjs/message-managers/event-consumer.js +0 -71
  127. package/cjs/message-managers/event-consumer.js.map +0 -1
  128. package/cjs/message-managers/event-message.d.ts +0 -90
  129. package/cjs/message-managers/event-message.d.ts.map +0 -1
  130. package/cjs/message-managers/event-message.js +0 -84
  131. package/cjs/message-managers/event-message.js.map +0 -1
  132. package/cjs/message-managers/index.d.ts +0 -4
  133. package/cjs/message-managers/index.d.ts.map +0 -1
  134. package/cjs/message-managers/prepare-consumer-subscription.d.ts +0 -4
  135. package/cjs/message-managers/prepare-consumer-subscription.d.ts.map +0 -1
  136. package/cjs/message-managers/prepare-consumer-subscription.js +0 -40
  137. package/cjs/message-managers/prepare-consumer-subscription.js.map +0 -1
  138. package/cjs/message-managers/types.d.ts +0 -20
  139. package/cjs/message-managers/types.d.ts.map +0 -1
  140. package/cjs/types/channel.types.d.ts +0 -19
  141. package/cjs/types/channel.types.d.ts.map +0 -1
  142. package/cjs/types/connection.types.d.ts +0 -65
  143. package/cjs/types/connection.types.d.ts.map +0 -1
  144. package/cjs/types/driver.types.d.ts +0 -10
  145. package/cjs/types/driver.types.d.ts.map +0 -1
  146. package/cjs/types/index.d.ts +0 -8
  147. package/cjs/types/index.d.ts.map +0 -1
  148. package/cjs/types/message.types.d.ts +0 -34
  149. package/cjs/types/message.types.d.ts.map +0 -1
  150. package/cjs/types/publish.types.d.ts +0 -13
  151. package/cjs/types/publish.types.d.ts.map +0 -1
  152. package/cjs/types/registry.types.d.ts +0 -4
  153. package/cjs/types/registry.types.d.ts.map +0 -1
  154. package/cjs/types/subscribe.types.d.ts +0 -18
  155. package/cjs/types/subscribe.types.d.ts.map +0 -1
  156. package/cjs/utils/connect-to-broker.d.ts +0 -131
  157. package/cjs/utils/connect-to-broker.d.ts.map +0 -1
  158. package/cjs/utils/connect-to-broker.js +0 -171
  159. package/cjs/utils/connect-to-broker.js.map +0 -1
  160. package/cjs/utils/index.d.ts +0 -2
  161. package/cjs/utils/index.d.ts.map +0 -1
  162. package/esm/communicators/broker-registry.d.ts +0 -155
  163. package/esm/communicators/broker-registry.d.ts.map +0 -1
  164. package/esm/communicators/broker-registry.js +0 -206
  165. package/esm/communicators/broker-registry.js.map +0 -1
  166. package/esm/communicators/broker.d.ts +0 -100
  167. package/esm/communicators/broker.d.ts.map +0 -1
  168. package/esm/communicators/broker.js +0 -105
  169. package/esm/communicators/broker.js.map +0 -1
  170. package/esm/communicators/index.d.ts +0 -3
  171. package/esm/communicators/index.d.ts.map +0 -1
  172. package/esm/contracts/broker-driver.contract.d.ts +0 -196
  173. package/esm/contracts/broker-driver.contract.d.ts.map +0 -1
  174. package/esm/contracts/channel.contract.d.ts +0 -191
  175. package/esm/contracts/channel.contract.d.ts.map +0 -1
  176. package/esm/contracts/index.d.ts +0 -3
  177. package/esm/contracts/index.d.ts.map +0 -1
  178. package/esm/decorators/consumable.d.ts +0 -13
  179. package/esm/decorators/consumable.d.ts.map +0 -1
  180. package/esm/decorators/consumable.js +0 -33
  181. package/esm/decorators/consumable.js.map +0 -1
  182. package/esm/decorators/index.d.ts +0 -2
  183. package/esm/decorators/index.d.ts.map +0 -1
  184. package/esm/drivers/index.d.ts +0 -2
  185. package/esm/drivers/index.d.ts.map +0 -1
  186. package/esm/drivers/rabbitmq/index.d.ts +0 -3
  187. package/esm/drivers/rabbitmq/index.d.ts.map +0 -1
  188. package/esm/drivers/rabbitmq/rabbitmq-channel.d.ts +0 -79
  189. package/esm/drivers/rabbitmq/rabbitmq-channel.d.ts.map +0 -1
  190. package/esm/drivers/rabbitmq/rabbitmq-channel.js +0 -414
  191. package/esm/drivers/rabbitmq/rabbitmq-channel.js.map +0 -1
  192. package/esm/drivers/rabbitmq/rabbitmq-driver.d.ts +0 -124
  193. package/esm/drivers/rabbitmq/rabbitmq-driver.d.ts.map +0 -1
  194. package/esm/drivers/rabbitmq/rabbitmq-driver.js +0 -347
  195. package/esm/drivers/rabbitmq/rabbitmq-driver.js.map +0 -1
  196. package/esm/index.d.ts +0 -47
  197. package/esm/index.d.ts.map +0 -1
  198. package/esm/index.js +0 -1
  199. package/esm/index.js.map +0 -1
  200. package/esm/message-managers/event-consumer.d.ts +0 -64
  201. package/esm/message-managers/event-consumer.d.ts.map +0 -1
  202. package/esm/message-managers/event-consumer.js +0 -71
  203. package/esm/message-managers/event-consumer.js.map +0 -1
  204. package/esm/message-managers/event-message.d.ts +0 -90
  205. package/esm/message-managers/event-message.d.ts.map +0 -1
  206. package/esm/message-managers/event-message.js +0 -84
  207. package/esm/message-managers/event-message.js.map +0 -1
  208. package/esm/message-managers/index.d.ts +0 -4
  209. package/esm/message-managers/index.d.ts.map +0 -1
  210. package/esm/message-managers/prepare-consumer-subscription.d.ts +0 -4
  211. package/esm/message-managers/prepare-consumer-subscription.d.ts.map +0 -1
  212. package/esm/message-managers/prepare-consumer-subscription.js +0 -40
  213. package/esm/message-managers/prepare-consumer-subscription.js.map +0 -1
  214. package/esm/message-managers/types.d.ts +0 -20
  215. package/esm/message-managers/types.d.ts.map +0 -1
  216. package/esm/types/channel.types.d.ts +0 -19
  217. package/esm/types/channel.types.d.ts.map +0 -1
  218. package/esm/types/connection.types.d.ts +0 -65
  219. package/esm/types/connection.types.d.ts.map +0 -1
  220. package/esm/types/driver.types.d.ts +0 -10
  221. package/esm/types/driver.types.d.ts.map +0 -1
  222. package/esm/types/index.d.ts +0 -8
  223. package/esm/types/index.d.ts.map +0 -1
  224. package/esm/types/message.types.d.ts +0 -34
  225. package/esm/types/message.types.d.ts.map +0 -1
  226. package/esm/types/publish.types.d.ts +0 -13
  227. package/esm/types/publish.types.d.ts.map +0 -1
  228. package/esm/types/registry.types.d.ts +0 -4
  229. package/esm/types/registry.types.d.ts.map +0 -1
  230. package/esm/types/subscribe.types.d.ts +0 -18
  231. package/esm/types/subscribe.types.d.ts.map +0 -1
  232. package/esm/utils/connect-to-broker.d.ts.map +0 -1
  233. package/esm/utils/connect-to-broker.js +0 -171
  234. package/esm/utils/connect-to-broker.js.map +0 -1
  235. package/esm/utils/index.d.ts +0 -2
  236. package/esm/utils/index.d.ts.map +0 -1
@@ -1,84 +0,0 @@
1
- 'use strict';var crypto=require('crypto');class EventMessage {
2
- data;
3
- /**
4
- * Event version
5
- */
6
- version;
7
- /**
8
- * Additional metadata (if any)
9
- */
10
- metadata;
11
- /**
12
- * Event Message id
13
- */
14
- messageId;
15
- /**
16
- * Schema of payload that will be used to determine whether this event should be published
17
- */
18
- schema;
19
- /**
20
- * Data that will be sent with the event (Payload)
21
- */
22
- toJSON() {
23
- if (!this.data) {
24
- throw new Error(`no Data is defined for Event: ${this.eventName}`);
25
- }
26
- return this.data;
27
- }
28
- constructor(data) {
29
- this.data = data;
30
- }
31
- /**
32
- * Serialize the event to be ready for publishing.
33
- * Delegates payload resolution to toJSON() — override toJSON() to customize.
34
- *
35
- * @throws Error if toJSON() throws (e.g. no data provided)
36
- */
37
- serialize() {
38
- const payload = this.toJSON();
39
- return {
40
- payload,
41
- metadata: this.metadata,
42
- messageId: this.messageId ?? crypto.randomUUID(),
43
- eventName: this.eventName,
44
- version: this.version,
45
- occurredAt: new Date(),
46
- __through: "EventMessage",
47
- };
48
- }
49
- }
50
- /**
51
- * A shorthand to define an event without declaring an entire class.
52
- *
53
- * This factory function creates an EventMessage subclass that transforms
54
- * input data (IncomingData) into a different output format (OutgoingData).
55
- *
56
- * @template IncomingData - The type of data passed to the constructor
57
- * @template OutgoingData - The type of data returned by toJSON()
58
- *
59
- * @example
60
- * ```typescript
61
- * const UserCreatedEvent = defineEvent<User, { id: number; name: string }>(
62
- * "user.created",
63
- * { toJSON: (user) => user.only(["id", "name"]) }
64
- * );
65
- *
66
- * publishEvent(new UserCreatedEvent(user));
67
- * ```
68
- */
69
- function defineEvent(eventName, options = {}) {
70
- // We need to use `any` here to bridge the IncomingData -> OutgoingData transformation
71
- // The class accepts IncomingData in constructor but outputs OutgoingData via toJSON()
72
- return class AnnouncedEvent extends EventMessage {
73
- eventName = eventName;
74
- schema = options.schema;
75
- constructor(data) {
76
- super(data);
77
- }
78
- toJSON() {
79
- if (!options.toJSON)
80
- return this.data;
81
- return options.toJSON(this.data);
82
- }
83
- };
84
- }exports.EventMessage=EventMessage;exports.defineEvent=defineEvent;//# sourceMappingURL=event-message.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"event-message.js","sources":["../../src/message-managers/event-message.ts"],"sourcesContent":[null],"names":["randomUUID"],"mappings":"gDAUsB,YAAY,CAAA;AAqCH,IAAA,IAAA,CAAA;AA/B7B;;AAEG;AACI,IAAA,OAAO,CAAU;AAExB;;AAEG;AACI,IAAA,QAAQ,CAAuB;AAEtC;;AAEG;AACI,IAAA,SAAS,CAAU;AAE1B;;AAEG;AACI,IAAA,MAAM,CAAmB;AAEhC;;AAEG;IACI,MAAM,GAAA;AACX,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,CAAA,8BAAA,EAAiC,IAAI,CAAC,SAAS,CAAE,CAAA,CAAC,CAAC;AACpE,SAAA;QAED,OAAO,IAAI,CAAC,IAAgB,CAAC;KAC9B;AAED,IAAA,WAAA,CAA6B,IAAe,EAAA;QAAf,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAW;KAAI;AAEhD;;;;;AAKG;IACI,SAAS,GAAA;AACd,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAE9B,OAAO;YACL,OAAO;YACP,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACvB,YAAA,SAAS,EAAE,IAAI,CAAC,SAAS,IAAIA,iBAAU,EAAE;YACzC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,IAAI,IAAI,EAAE;AACtB,YAAA,SAAS,EAAE,cAAc;SAC1B,CAAC;KACH;AACF,CAAA;AAuBD;;;;;;;;;;;;;;;;;;AAkBG;SACa,WAAW,CACzB,SAAiB,EACjB,UAAsC,EAAE,EAAA;;;IAIxC,OAAO,MAAM,cAAe,SAAQ,YAA0B,CAAA;QACrD,SAAS,GAAG,SAAS,CAAC;AACtB,QAAA,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;AAE/B,QAAA,WAAA,CAAmB,IAAmB,EAAA;YACpC,KAAK,CAAC,IAAW,CAAC,CAAC;SACpB;QAEM,MAAM,GAAA;YACX,IAAI,CAAC,OAAO,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC,IAAoB,CAAC;YAEtD,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAoB,CAAiB,CAAC;SAClE;KACF,CAAC;AACJ"}
@@ -1,4 +0,0 @@
1
- export * from "./event-consumer";
2
- export * from "./event-message";
3
- export * from "./types";
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/message-managers/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC"}
@@ -1,4 +0,0 @@
1
- import type { MessageHandler } from "./../types";
2
- import { EventConsumerClass } from "./types";
3
- export declare function prepareConsumerSubscription(Consumer: EventConsumerClass, onError?: (error: unknown, consumerName: string) => void): MessageHandler<any>;
4
- //# sourceMappingURL=prepare-consumer-subscription.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prepare-consumer-subscription.d.ts","sourceRoot":"","sources":["../../src/message-managers/prepare-consumer-subscription.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE7C,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,uBA4CzD"}
@@ -1,40 +0,0 @@
1
- 'use strict';function prepareConsumerSubscription(Consumer, onError) {
2
- const callback = async (message, ctx) => {
3
- const envelope = message.payload;
4
- let eventPayload = envelope.payload;
5
- if (envelope.version) {
6
- if (!Consumer.isAcceptedVersion(Number(envelope.version))) {
7
- ctx.ack(); // Acknowledge but don't process
8
- return;
9
- }
10
- }
11
- const consumer = new Consumer();
12
- if (consumer.schema) {
13
- const result = await consumer.validate(eventPayload);
14
- if (!result || result.isValid === false) {
15
- ctx.nack();
16
- return;
17
- }
18
- eventPayload = result.data;
19
- }
20
- try {
21
- await consumer.handle(eventPayload, {
22
- payload: eventPayload,
23
- eventName: Consumer.eventName,
24
- messageId: message.metadata.messageId,
25
- occurredAt: envelope.occurredAt ? new Date(envelope.occurredAt) : undefined,
26
- metadata: envelope.metadata,
27
- version: envelope.version,
28
- message,
29
- });
30
- ctx.ack(); // Auto-ack on success?
31
- }
32
- catch (error) {
33
- ctx.nack(true); // Requeue on failure
34
- if (onError) {
35
- onError(error, Consumer.eventName);
36
- }
37
- }
38
- };
39
- return callback;
40
- }exports.prepareConsumerSubscription=prepareConsumerSubscription;//# sourceMappingURL=prepare-consumer-subscription.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prepare-consumer-subscription.js","sources":["../../src/message-managers/prepare-consumer-subscription.ts"],"sourcesContent":[null],"names":[],"mappings":"aAGgB,SAAA,2BAA2B,CACzC,QAA4B,EAC5B,OAAwD,EAAA;IAExD,MAAM,QAAQ,GAAwB,OAAO,OAAO,EAAE,GAAG,KAAI;AAC3D,QAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;AACjC,QAAA,IAAI,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC;QAEpC,IAAI,QAAQ,CAAC,OAAO,EAAE;AACpB,YAAA,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE;AACzD,gBAAA,GAAG,CAAC,GAAG,EAAE,CAAC;gBACV,OAAO;AACR,aAAA;AACF,SAAA;AAED,QAAA,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAEhC,IAAI,QAAQ,CAAC,MAAM,EAAE;YACnB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YACrD,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE;gBACvC,GAAG,CAAC,IAAI,EAAE,CAAC;gBACX,OAAO;AACR,aAAA;AAED,YAAA,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;AAC5B,SAAA;QACD,IAAI;AACF,YAAA,MAAM,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE;AAClC,gBAAA,OAAO,EAAE,YAAY;gBACrB,SAAS,EAAE,QAAQ,CAAC,SAAS;AAC7B,gBAAA,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,SAAU;AACtC,gBAAA,UAAU,EAAE,QAAQ,CAAC,UAAU,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,SAAS;gBAC3E,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,OAAO;AACR,aAAA,CAAC,CAAC;AACH,YAAA,GAAG,CAAC,GAAG,EAAE,CAAC;AACX,SAAA;AAAC,QAAA,OAAO,KAAK,EAAE;AACd,YAAA,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,YAAA,IAAI,OAAO,EAAE;AACX,gBAAA,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;AACpC,aAAA;AACF,SAAA;AACH,KAAC,CAAC;AAEF,IAAA,OAAO,QAAQ,CAAC;AAClB"}
@@ -1,20 +0,0 @@
1
- import { Message } from "../types";
2
- import { type EventConsumer } from "./event-consumer";
3
- export type ConsumedEventMessage = {
4
- version?: number;
5
- occurredAt?: Date;
6
- metadata?: Record<string, any>;
7
- messageId: string;
8
- eventName: string;
9
- payload: Record<string, any>;
10
- message: Message<any>;
11
- };
12
- export type EventConsumerClass<P = Record<string, any>> = {
13
- new (): EventConsumer<P>;
14
- eventName: string;
15
- consumerId: string;
16
- minVersion?: number;
17
- maxVersion?: number;
18
- isAcceptedVersion(version: number): boolean;
19
- };
20
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/message-managers/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI;IACxD,QAAQ,aAAa,CAAC,CAAC,CAAC,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;CAC7C,CAAC"}
@@ -1,19 +0,0 @@
1
- import type { BaseValidator } from "@warlock.js/seal";
2
- import type { DeadLetterOptions } from "./subscribe.types";
3
- export type ChannelOptions<TPayload = unknown> = {
4
- type?: "queue" | "topic" | "fanout";
5
- durable?: boolean;
6
- autoDelete?: boolean;
7
- exclusive?: boolean;
8
- deadLetter?: DeadLetterOptions;
9
- maxMessageSize?: number;
10
- messageTtl?: number;
11
- maxLength?: number;
12
- schema?: BaseValidator;
13
- };
14
- export type ChannelStats = {
15
- messageCount: number;
16
- consumerCount: number;
17
- name: string;
18
- };
19
- //# sourceMappingURL=channel.types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"channel.types.d.ts","sourceRoot":"","sources":["../../src/types/channel.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,MAAM,MAAM,cAAc,CAAC,QAAQ,GAAG,OAAO,IAAI;IAC/C,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC"}
@@ -1,65 +0,0 @@
1
- /// <reference types="node" />
2
- export type BaseConnectionOptions = {
3
- name?: string;
4
- isDefault?: boolean;
5
- };
6
- export type RabbitMQSocketOptions = {
7
- keepAlive?: boolean | number;
8
- noDelay?: boolean;
9
- timeout?: number;
10
- ca?: string | Buffer | Array<string | Buffer>;
11
- cert?: string | Buffer;
12
- key?: string | Buffer;
13
- passphrase?: string;
14
- servername?: string;
15
- rejectUnauthorized?: boolean;
16
- };
17
- export type RabbitMQClientOptions = {
18
- frameMax?: number;
19
- channelMax?: number;
20
- locale?: string;
21
- socket?: RabbitMQSocketOptions;
22
- };
23
- export type RabbitMQConnectionOptions<TClientOptions extends RabbitMQClientOptions = RabbitMQClientOptions> = BaseConnectionOptions & {
24
- driver: "rabbitmq";
25
- host?: string;
26
- port?: number;
27
- username?: string;
28
- password?: string;
29
- vhost?: string;
30
- uri?: string;
31
- heartbeat?: number;
32
- connectionTimeout?: number;
33
- reconnect?: boolean;
34
- reconnectDelay?: number;
35
- prefetch?: number;
36
- clientOptions?: TClientOptions;
37
- };
38
- export type KafkaClientOptions = {
39
- retry?: {
40
- initialRetryTime?: number;
41
- retries?: number;
42
- maxRetryTime?: number;
43
- factor?: number;
44
- multiplier?: number;
45
- };
46
- logLevel?: number;
47
- logCreator?: any;
48
- };
49
- export type KafkaConnectionOptions<TClientOptions extends KafkaClientOptions = KafkaClientOptions> = BaseConnectionOptions & {
50
- driver: "kafka";
51
- brokers: string[];
52
- clientId?: string;
53
- connectionTimeout?: number;
54
- requestTimeout?: number;
55
- ssl?: boolean | object;
56
- sasl?: {
57
- mechanism: "plain" | "scram-sha-256" | "scram-sha-512";
58
- username: string;
59
- password: string;
60
- };
61
- clientOptions?: TClientOptions;
62
- };
63
- export type ConnectionOptions = RabbitMQConnectionOptions | KafkaConnectionOptions;
64
- export type BrokerConfigurations<TClientOptions = any> = RabbitMQConnectionOptions<TClientOptions extends RabbitMQClientOptions ? TClientOptions : RabbitMQClientOptions> | KafkaConnectionOptions<TClientOptions extends KafkaClientOptions ? TClientOptions : KafkaClientOptions>;
65
- //# sourceMappingURL=connection.types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"connection.types.d.ts","sourceRoot":"","sources":["../../src/types/connection.types.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- export type BrokerDriverType = "rabbitmq" | "kafka" | "redis-streams" | "sqs";
2
- export type BrokerEvent = "connected" | "disconnected" | "error" | "reconnecting";
3
- export type BrokerEventListener = (...args: unknown[]) => void;
4
- export type HealthCheckResult = {
5
- healthy: boolean;
6
- latency?: number;
7
- error?: string;
8
- details?: Record<string, unknown>;
9
- };
10
- //# sourceMappingURL=driver.types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"driver.types.d.ts","sourceRoot":"","sources":["../../src/types/driver.types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,OAAO,GAAG,eAAe,GAAG,KAAK,CAAC;AAE9E,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,cAAc,GAAG,OAAO,GAAG,cAAc,CAAC;AAElF,MAAM,MAAM,mBAAmB,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;AAE/D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC,CAAC"}
@@ -1,8 +0,0 @@
1
- export * from "./channel.types";
2
- export * from "./connection.types";
3
- export * from "./driver.types";
4
- export * from "./message.types";
5
- export * from "./publish.types";
6
- export * from "./registry.types";
7
- export * from "./subscribe.types";
8
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC"}
@@ -1,34 +0,0 @@
1
- export type MessageMetadata = {
2
- messageId: string;
3
- correlationId?: string;
4
- replyTo?: string;
5
- priority?: number;
6
- timestamp: Date;
7
- headers?: Record<string, string>;
8
- retryCount?: number;
9
- originalChannel?: string;
10
- };
11
- export type Message<TPayload = unknown> = {
12
- readonly metadata: MessageMetadata;
13
- readonly payload: TPayload;
14
- readonly raw?: unknown;
15
- };
16
- export type MessageContext = {
17
- ack(): Promise<void>;
18
- nack(requeue?: boolean): Promise<void>;
19
- reject(): Promise<void>;
20
- reply<T>(payload: T): Promise<void>;
21
- retry(delay?: number): Promise<void>;
22
- };
23
- export type Subscription = {
24
- readonly id: string;
25
- readonly channel: string;
26
- readonly consumerTag?: string;
27
- unsubscribe(): Promise<void>;
28
- pause(): Promise<void>;
29
- resume(): Promise<void>;
30
- isActive(): boolean;
31
- };
32
- export type MessageHandler<TPayload = unknown> = (message: Message<TPayload>, ctx: MessageContext) => Promise<void> | void;
33
- export type ResponseHandler<TPayload = unknown, TResponse = unknown> = (message: Message<TPayload>, ctx: MessageContext) => Promise<TResponse> | TResponse;
34
- //# sourceMappingURL=message.types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"message.types.d.ts","sourceRoot":"","sources":["../../src/types/message.types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,OAAO,CAAC,QAAQ,GAAG,OAAO,IAAI;IACxC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC3B,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACrB,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,QAAQ,IAAI,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,QAAQ,GAAG,OAAO,IAAI,CAC/C,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,EAC1B,GAAG,EAAE,cAAc,KAChB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAE1B,MAAM,MAAM,eAAe,CAAC,QAAQ,GAAG,OAAO,EAAE,SAAS,GAAG,OAAO,IAAI,CACrE,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,EAC1B,GAAG,EAAE,cAAc,KAChB,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC"}
@@ -1,13 +0,0 @@
1
- export type PublishOptions = {
2
- priority?: number;
3
- ttl?: number;
4
- delay?: number;
5
- headers?: Record<string, string>;
6
- persistent?: boolean;
7
- correlationId?: string;
8
- expiration?: number;
9
- };
10
- export type RequestOptions = PublishOptions & {
11
- timeout?: number;
12
- };
13
- //# sourceMappingURL=publish.types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"publish.types.d.ts","sourceRoot":"","sources":["../../src/types/publish.types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,cAAc,GAAG;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC"}
@@ -1,4 +0,0 @@
1
- import type { Broker } from "../communicators/broker";
2
- export type BrokerRegistryEvent = "registered" | "default-registered" | "connected" | "disconnected";
3
- export type BrokerRegistryListener = (broker: Broker) => void;
4
- //# sourceMappingURL=registry.types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registry.types.d.ts","sourceRoot":"","sources":["../../src/types/registry.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEtD,MAAM,MAAM,mBAAmB,GAC3B,YAAY,GACZ,oBAAoB,GACpB,WAAW,GACX,cAAc,CAAC;AAEnB,MAAM,MAAM,sBAAsB,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC"}
@@ -1,18 +0,0 @@
1
- export type RetryOptions = {
2
- maxRetries: number;
3
- delay: number | ((attempt: number) => number);
4
- };
5
- export type DeadLetterOptions = {
6
- channel: string;
7
- preserveOriginal?: boolean;
8
- };
9
- export type SubscribeOptions = {
10
- consumerId?: string;
11
- group?: string;
12
- prefetch?: number;
13
- autoAck?: boolean;
14
- retry?: RetryOptions;
15
- deadLetter?: DeadLetterOptions;
16
- exclusive?: boolean;
17
- };
18
- //# sourceMappingURL=subscribe.types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subscribe.types.d.ts","sourceRoot":"","sources":["../../src/types/subscribe.types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC"}
@@ -1,131 +0,0 @@
1
- import { Broker } from "../communicators";
2
- import type { ChannelContract } from "../contracts";
3
- import { EventConsumerClass, EventMessage } from "../message-managers";
4
- import type { ChannelOptions, ConnectionOptions } from "../types";
5
- /**
6
- * Connect to a message broker and register it.
7
- *
8
- * This is a high-level utility function that simplifies connection setup
9
- * for most projects. It handles driver instantiation, connection,
10
- * broker creation, and automatic registration.
11
- *
12
- * **Supported Drivers:**
13
- * - `rabbitmq` (default) - RabbitMQ/AMQP driver
14
- * - `kafka` - Apache Kafka driver (coming soon)
15
- *
16
- * @param options - Connection configuration options
17
- * @returns A connected and registered Broker instance
18
- * @throws {Error} If connection fails or driver is not implemented
19
- *
20
- * @example
21
- * ```typescript
22
- * // RabbitMQ connection
23
- * const broker = await connectToBroker({
24
- * driver: "rabbitmq",
25
- * host: "localhost",
26
- * port: 5672,
27
- * username: "guest",
28
- * password: "guest",
29
- * });
30
- *
31
- * // Use the broker
32
- * await broker.channel("user.created").publish({ userId: 1 });
33
- * ```
34
- *
35
- * @example
36
- * ```typescript
37
- * // Multiple brokers
38
- * await connectToBroker({
39
- * driver: "rabbitmq",
40
- * name: "notifications",
41
- * isDefault: true,
42
- * host: process.env.RABBITMQ_HOST,
43
- * });
44
- *
45
- * await connectToBroker({
46
- * driver: "rabbitmq",
47
- * name: "analytics",
48
- * host: process.env.ANALYTICS_RABBITMQ_HOST,
49
- * });
50
- *
51
- * // Use default broker
52
- * herald().channel("notifications").publish({ ... });
53
- *
54
- * // Use specific broker
55
- * herald("analytics").channel("events").publish({ ... });
56
- * ```
57
- */
58
- export declare function connectToBroker(options: ConnectionOptions): Promise<Broker>;
59
- /**
60
- * Get a broker by name or the default one.
61
- *
62
- * This is the main entry point for using brokers in your application.
63
- * Named after the package — `herald()` carries your messages!
64
- *
65
- * @param name - Optional broker name (uses default if not provided)
66
- * @returns Broker instance
67
- * @throws MissingBrokerError if broker not found
68
- *
69
- * @example
70
- * // Get default broker
71
- * const channel = herald().channel("user.created");
72
- * await channel.publish({ userId: 1 });
73
- *
74
- * // Get specific broker
75
- * const analyticsChannel = herald("analytics").channel("events");
76
- * await analyticsChannel.publish({ event: "page_view" });
77
- *
78
- * // Subscribe to messages
79
- * herald()
80
- * .channel<UserPayload>("user.created")
81
- * .subscribe(async (message, ctx) => {
82
- * console.log("User created:", message.payload);
83
- * await ctx.ack();
84
- * });
85
- * ```
86
- */
87
- export declare function herald(name?: string): Broker;
88
- /**
89
- * Get channel instance for the given name from default broker.
90
- *
91
- * Shorthand for `herald().channel(name, options)`.
92
- *
93
- * @param name - Channel name
94
- * @param options - Optional channel options
95
- * @returns Channel instance
96
- * @throws MissingBrokerError if broker not found
97
- *
98
- * @example
99
- * ```typescript
100
- * const channel = heraldChannel("user.created");
101
- * await channel.publish({ userId: 1 });
102
- * ```
103
- */
104
- export declare function heraldChannel<TPayload = unknown>(name: string, options?: ChannelOptions<TPayload>): ChannelContract<TPayload>;
105
- /**
106
- * Publish an EventMessage to the default broker.
107
- *
108
- * @param event - Event message to publish
109
- * @returns Promise that resolves when the event is published
110
- * @throws Error if the broker is not connected
111
- *
112
- * @example
113
- * ```typescript
114
- * await publishEvent(new UserUpdatedEvent({ id: 1, name: "John Doe" }));
115
- * ```
116
- */
117
- export declare function publishEvent<TPayload = Record<string, any>>(event: EventMessage<TPayload>): Promise<void>;
118
- /**
119
- * Subscribe an EventConsumer class to the default broker.
120
- *
121
- * @param Consumer - Event consumer class
122
- * @returns Unsubscribe function
123
- * @throws MissingBrokerError if broker not found
124
- *
125
- * @example
126
- * ```typescript
127
- * await subscribeConsumer(UserUpdatedConsumer);
128
- * ```
129
- */
130
- export declare function subscribeConsumer<TPayload = Record<string, any>>(Consumer: EventConsumerClass<TPayload>): Promise<() => void>;
131
- //# sourceMappingURL=connect-to-broker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"connect-to-broker.d.ts","sourceRoot":"","sources":["../../src/utils/connect-to-broker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAkB,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAwB,eAAe,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAA6B,MAAM,UAAU,CAAC;AAE7F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CA+CjF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,CAAC,QAAQ,GAAG,OAAO,EAC9C,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,GACjC,eAAe,CAAC,QAAQ,CAAC,CAE3B;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,YAAY,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,QAAQ,CAAC,iBAE/F;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpE,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,CAAC,uBAGvC"}