@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.
- package/README.md +36 -33
- package/cjs/index.cjs +1355 -0
- package/cjs/index.cjs.map +1 -0
- package/esm/communicators/broker-registry.d.mts +157 -0
- package/esm/communicators/broker-registry.d.mts.map +1 -0
- package/esm/communicators/broker-registry.mjs +204 -0
- package/esm/communicators/broker-registry.mjs.map +1 -0
- package/esm/communicators/broker.d.mts +104 -0
- package/esm/communicators/broker.d.mts.map +1 -0
- package/esm/communicators/broker.mjs +104 -0
- package/esm/communicators/broker.mjs.map +1 -0
- package/esm/communicators/index.d.mts +2 -0
- package/esm/communicators/index.mjs +4 -0
- package/esm/contracts/broker-driver.contract.d.mts +200 -0
- package/esm/contracts/broker-driver.contract.d.mts.map +1 -0
- package/esm/contracts/channel.contract.d.mts +197 -0
- package/esm/contracts/channel.contract.d.mts.map +1 -0
- package/esm/contracts/index.d.mts +2 -0
- package/esm/decorators/consumable.d.mts +17 -0
- package/esm/decorators/consumable.d.mts.map +1 -0
- package/esm/decorators/consumable.mjs +36 -0
- package/esm/decorators/consumable.mjs.map +1 -0
- package/esm/decorators/index.d.mts +1 -0
- package/esm/decorators/index.mjs +3 -0
- package/esm/drivers/index.d.mts +2 -0
- package/esm/drivers/index.mjs +5 -0
- package/esm/drivers/rabbitmq/index.d.mts +2 -0
- package/esm/drivers/rabbitmq/index.mjs +4 -0
- package/esm/drivers/rabbitmq/rabbitmq-channel.d.mts +85 -0
- package/esm/drivers/rabbitmq/rabbitmq-channel.d.mts.map +1 -0
- package/esm/drivers/rabbitmq/rabbitmq-channel.mjs +352 -0
- package/esm/drivers/rabbitmq/rabbitmq-channel.mjs.map +1 -0
- package/esm/drivers/rabbitmq/rabbitmq-driver.d.mts +130 -0
- package/esm/drivers/rabbitmq/rabbitmq-driver.d.mts.map +1 -0
- package/esm/drivers/rabbitmq/rabbitmq-driver.mjs +291 -0
- package/esm/drivers/rabbitmq/rabbitmq-driver.mjs.map +1 -0
- package/esm/index.d.mts +20 -0
- package/esm/index.mjs +16 -0
- package/esm/message-managers/event-consumer.d.mts +61 -0
- package/esm/message-managers/event-consumer.d.mts.map +1 -0
- package/esm/message-managers/event-consumer.mjs +63 -0
- package/esm/message-managers/event-consumer.mjs.map +1 -0
- package/esm/message-managers/event-message.d.mts +87 -0
- package/esm/message-managers/event-message.d.mts.map +1 -0
- package/esm/message-managers/event-message.mjs +68 -0
- package/esm/message-managers/event-message.mjs.map +1 -0
- package/esm/message-managers/index.d.mts +3 -0
- package/esm/message-managers/index.mjs +4 -0
- package/esm/message-managers/prepare-consumer-subscription.mjs +42 -0
- package/esm/message-managers/prepare-consumer-subscription.mjs.map +1 -0
- package/esm/message-managers/types.d.mts +23 -0
- package/esm/message-managers/types.d.mts.map +1 -0
- package/esm/types/channel.types.d.mts +23 -0
- package/esm/types/channel.types.d.mts.map +1 -0
- package/esm/types/connection.types.d.mts +67 -0
- package/esm/types/connection.types.d.mts.map +1 -0
- package/esm/types/driver.types.d.mts +13 -0
- package/esm/types/driver.types.d.mts.map +1 -0
- package/esm/types/index.d.mts +7 -0
- package/esm/types/message.types.d.mts +37 -0
- package/esm/types/message.types.d.mts.map +1 -0
- package/esm/types/publish.types.d.mts +16 -0
- package/esm/types/publish.types.d.mts.map +1 -0
- package/esm/types/registry.types.d.mts +8 -0
- package/esm/types/registry.types.d.mts.map +1 -0
- package/esm/types/subscribe.types.d.mts +21 -0
- package/esm/types/subscribe.types.d.mts.map +1 -0
- package/esm/use-case-broadcast.d.mts +41 -0
- package/esm/use-case-broadcast.d.mts.map +1 -0
- package/esm/use-case-broadcast.mjs +30 -0
- package/esm/use-case-broadcast.mjs.map +1 -0
- package/esm/utils/{connect-to-broker.d.ts → connect-to-broker.d.mts} +15 -10
- package/esm/utils/connect-to-broker.d.mts.map +1 -0
- package/esm/utils/connect-to-broker.mjs +168 -0
- package/esm/utils/connect-to-broker.mjs.map +1 -0
- package/esm/utils/index.d.mts +1 -0
- package/esm/utils/index.mjs +3 -0
- package/llms-full.txt +581 -0
- package/llms.txt +12 -0
- package/package.json +46 -46
- package/skills/README.md +21 -0
- package/skills/consume-message/SKILL.md +217 -0
- package/skills/herald-basics/SKILL.md +96 -0
- package/skills/publish-message/SKILL.md +172 -0
- package/skills/request-and-respond/SKILL.md +74 -0
- package/cjs/communicators/broker-registry.d.ts +0 -155
- package/cjs/communicators/broker-registry.d.ts.map +0 -1
- package/cjs/communicators/broker-registry.js +0 -206
- package/cjs/communicators/broker-registry.js.map +0 -1
- package/cjs/communicators/broker.d.ts +0 -100
- package/cjs/communicators/broker.d.ts.map +0 -1
- package/cjs/communicators/broker.js +0 -105
- package/cjs/communicators/broker.js.map +0 -1
- package/cjs/communicators/index.d.ts +0 -3
- package/cjs/communicators/index.d.ts.map +0 -1
- package/cjs/contracts/broker-driver.contract.d.ts +0 -196
- package/cjs/contracts/broker-driver.contract.d.ts.map +0 -1
- package/cjs/contracts/channel.contract.d.ts +0 -191
- package/cjs/contracts/channel.contract.d.ts.map +0 -1
- package/cjs/contracts/index.d.ts +0 -3
- package/cjs/contracts/index.d.ts.map +0 -1
- package/cjs/decorators/consumable.d.ts +0 -13
- package/cjs/decorators/consumable.d.ts.map +0 -1
- package/cjs/decorators/consumable.js +0 -33
- package/cjs/decorators/consumable.js.map +0 -1
- package/cjs/decorators/index.d.ts +0 -2
- package/cjs/decorators/index.d.ts.map +0 -1
- package/cjs/drivers/index.d.ts +0 -2
- package/cjs/drivers/index.d.ts.map +0 -1
- package/cjs/drivers/rabbitmq/index.d.ts +0 -3
- package/cjs/drivers/rabbitmq/index.d.ts.map +0 -1
- package/cjs/drivers/rabbitmq/rabbitmq-channel.d.ts +0 -79
- package/cjs/drivers/rabbitmq/rabbitmq-channel.d.ts.map +0 -1
- package/cjs/drivers/rabbitmq/rabbitmq-channel.js +0 -414
- package/cjs/drivers/rabbitmq/rabbitmq-channel.js.map +0 -1
- package/cjs/drivers/rabbitmq/rabbitmq-driver.d.ts +0 -124
- package/cjs/drivers/rabbitmq/rabbitmq-driver.d.ts.map +0 -1
- package/cjs/drivers/rabbitmq/rabbitmq-driver.js +0 -347
- package/cjs/drivers/rabbitmq/rabbitmq-driver.js.map +0 -1
- package/cjs/index.d.ts +0 -47
- package/cjs/index.d.ts.map +0 -1
- package/cjs/index.js +0 -1
- package/cjs/index.js.map +0 -1
- package/cjs/message-managers/event-consumer.d.ts +0 -64
- package/cjs/message-managers/event-consumer.d.ts.map +0 -1
- package/cjs/message-managers/event-consumer.js +0 -71
- package/cjs/message-managers/event-consumer.js.map +0 -1
- package/cjs/message-managers/event-message.d.ts +0 -90
- package/cjs/message-managers/event-message.d.ts.map +0 -1
- package/cjs/message-managers/event-message.js +0 -84
- package/cjs/message-managers/event-message.js.map +0 -1
- package/cjs/message-managers/index.d.ts +0 -4
- package/cjs/message-managers/index.d.ts.map +0 -1
- package/cjs/message-managers/prepare-consumer-subscription.d.ts +0 -4
- package/cjs/message-managers/prepare-consumer-subscription.d.ts.map +0 -1
- package/cjs/message-managers/prepare-consumer-subscription.js +0 -40
- package/cjs/message-managers/prepare-consumer-subscription.js.map +0 -1
- package/cjs/message-managers/types.d.ts +0 -20
- package/cjs/message-managers/types.d.ts.map +0 -1
- package/cjs/types/channel.types.d.ts +0 -19
- package/cjs/types/channel.types.d.ts.map +0 -1
- package/cjs/types/connection.types.d.ts +0 -65
- package/cjs/types/connection.types.d.ts.map +0 -1
- package/cjs/types/driver.types.d.ts +0 -10
- package/cjs/types/driver.types.d.ts.map +0 -1
- package/cjs/types/index.d.ts +0 -8
- package/cjs/types/index.d.ts.map +0 -1
- package/cjs/types/message.types.d.ts +0 -34
- package/cjs/types/message.types.d.ts.map +0 -1
- package/cjs/types/publish.types.d.ts +0 -13
- package/cjs/types/publish.types.d.ts.map +0 -1
- package/cjs/types/registry.types.d.ts +0 -4
- package/cjs/types/registry.types.d.ts.map +0 -1
- package/cjs/types/subscribe.types.d.ts +0 -18
- package/cjs/types/subscribe.types.d.ts.map +0 -1
- package/cjs/utils/connect-to-broker.d.ts +0 -131
- package/cjs/utils/connect-to-broker.d.ts.map +0 -1
- package/cjs/utils/connect-to-broker.js +0 -171
- package/cjs/utils/connect-to-broker.js.map +0 -1
- package/cjs/utils/index.d.ts +0 -2
- package/cjs/utils/index.d.ts.map +0 -1
- package/esm/communicators/broker-registry.d.ts +0 -155
- package/esm/communicators/broker-registry.d.ts.map +0 -1
- package/esm/communicators/broker-registry.js +0 -206
- package/esm/communicators/broker-registry.js.map +0 -1
- package/esm/communicators/broker.d.ts +0 -100
- package/esm/communicators/broker.d.ts.map +0 -1
- package/esm/communicators/broker.js +0 -105
- package/esm/communicators/broker.js.map +0 -1
- package/esm/communicators/index.d.ts +0 -3
- package/esm/communicators/index.d.ts.map +0 -1
- package/esm/contracts/broker-driver.contract.d.ts +0 -196
- package/esm/contracts/broker-driver.contract.d.ts.map +0 -1
- package/esm/contracts/channel.contract.d.ts +0 -191
- package/esm/contracts/channel.contract.d.ts.map +0 -1
- package/esm/contracts/index.d.ts +0 -3
- package/esm/contracts/index.d.ts.map +0 -1
- package/esm/decorators/consumable.d.ts +0 -13
- package/esm/decorators/consumable.d.ts.map +0 -1
- package/esm/decorators/consumable.js +0 -33
- package/esm/decorators/consumable.js.map +0 -1
- package/esm/decorators/index.d.ts +0 -2
- package/esm/decorators/index.d.ts.map +0 -1
- package/esm/drivers/index.d.ts +0 -2
- package/esm/drivers/index.d.ts.map +0 -1
- package/esm/drivers/rabbitmq/index.d.ts +0 -3
- package/esm/drivers/rabbitmq/index.d.ts.map +0 -1
- package/esm/drivers/rabbitmq/rabbitmq-channel.d.ts +0 -79
- package/esm/drivers/rabbitmq/rabbitmq-channel.d.ts.map +0 -1
- package/esm/drivers/rabbitmq/rabbitmq-channel.js +0 -414
- package/esm/drivers/rabbitmq/rabbitmq-channel.js.map +0 -1
- package/esm/drivers/rabbitmq/rabbitmq-driver.d.ts +0 -124
- package/esm/drivers/rabbitmq/rabbitmq-driver.d.ts.map +0 -1
- package/esm/drivers/rabbitmq/rabbitmq-driver.js +0 -347
- package/esm/drivers/rabbitmq/rabbitmq-driver.js.map +0 -1
- package/esm/index.d.ts +0 -47
- package/esm/index.d.ts.map +0 -1
- package/esm/index.js +0 -1
- package/esm/index.js.map +0 -1
- package/esm/message-managers/event-consumer.d.ts +0 -64
- package/esm/message-managers/event-consumer.d.ts.map +0 -1
- package/esm/message-managers/event-consumer.js +0 -71
- package/esm/message-managers/event-consumer.js.map +0 -1
- package/esm/message-managers/event-message.d.ts +0 -90
- package/esm/message-managers/event-message.d.ts.map +0 -1
- package/esm/message-managers/event-message.js +0 -84
- package/esm/message-managers/event-message.js.map +0 -1
- package/esm/message-managers/index.d.ts +0 -4
- package/esm/message-managers/index.d.ts.map +0 -1
- package/esm/message-managers/prepare-consumer-subscription.d.ts +0 -4
- package/esm/message-managers/prepare-consumer-subscription.d.ts.map +0 -1
- package/esm/message-managers/prepare-consumer-subscription.js +0 -40
- package/esm/message-managers/prepare-consumer-subscription.js.map +0 -1
- package/esm/message-managers/types.d.ts +0 -20
- package/esm/message-managers/types.d.ts.map +0 -1
- package/esm/types/channel.types.d.ts +0 -19
- package/esm/types/channel.types.d.ts.map +0 -1
- package/esm/types/connection.types.d.ts +0 -65
- package/esm/types/connection.types.d.ts.map +0 -1
- package/esm/types/driver.types.d.ts +0 -10
- package/esm/types/driver.types.d.ts.map +0 -1
- package/esm/types/index.d.ts +0 -8
- package/esm/types/index.d.ts.map +0 -1
- package/esm/types/message.types.d.ts +0 -34
- package/esm/types/message.types.d.ts.map +0 -1
- package/esm/types/publish.types.d.ts +0 -13
- package/esm/types/publish.types.d.ts.map +0 -1
- package/esm/types/registry.types.d.ts +0 -4
- package/esm/types/registry.types.d.ts.map +0 -1
- package/esm/types/subscribe.types.d.ts +0 -18
- package/esm/types/subscribe.types.d.ts.map +0 -1
- package/esm/utils/connect-to-broker.d.ts.map +0 -1
- package/esm/utils/connect-to-broker.js +0 -171
- package/esm/utils/connect-to-broker.js.map +0 -1
- package/esm/utils/index.d.ts +0 -2
- 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 +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"}
|
package/cjs/types/index.d.ts
DELETED
|
@@ -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
|
package/cjs/types/index.d.ts.map
DELETED
|
@@ -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 +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"}
|