@brightchain/brightchain-api-lib 0.13.0 → 0.14.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 (34) hide show
  1. package/package.json +2 -2
  2. package/src/lib/availability/configValidation.d.ts.map +1 -1
  3. package/src/lib/availability/configValidation.js +20 -0
  4. package/src/lib/availability/configValidation.js.map +1 -1
  5. package/src/lib/availability/gossipService.d.ts +150 -7
  6. package/src/lib/availability/gossipService.d.ts.map +1 -1
  7. package/src/lib/availability/gossipService.js +297 -17
  8. package/src/lib/availability/gossipService.js.map +1 -1
  9. package/src/lib/interfaces/websocketMessages.d.ts +30 -1
  10. package/src/lib/interfaces/websocketMessages.d.ts.map +1 -1
  11. package/src/lib/services/index.d.ts +1 -0
  12. package/src/lib/services/index.d.ts.map +1 -1
  13. package/src/lib/services/index.js +1 -0
  14. package/src/lib/services/index.js.map +1 -1
  15. package/src/lib/services/messagePassingService.d.ts +95 -5
  16. package/src/lib/services/messagePassingService.d.ts.map +1 -1
  17. package/src/lib/services/messagePassingService.js +187 -28
  18. package/src/lib/services/messagePassingService.js.map +1 -1
  19. package/src/lib/services/webSocketMessageServer.d.ts +18 -23
  20. package/src/lib/services/webSocketMessageServer.d.ts.map +1 -1
  21. package/src/lib/services/webSocketMessageServer.js +30 -46
  22. package/src/lib/services/webSocketMessageServer.js.map +1 -1
  23. package/src/lib/services/webSocketPeerProvider.d.ts +49 -0
  24. package/src/lib/services/webSocketPeerProvider.d.ts.map +1 -0
  25. package/src/lib/services/webSocketPeerProvider.js +133 -0
  26. package/src/lib/services/webSocketPeerProvider.js.map +1 -0
  27. package/src/lib/services/websocketHandler.d.ts +11 -8
  28. package/src/lib/services/websocketHandler.d.ts.map +1 -1
  29. package/src/lib/services/websocketHandler.js +33 -40
  30. package/src/lib/services/websocketHandler.js.map +1 -1
  31. package/src/lib/stores/diskMessageMetadataStore.d.ts +2 -2
  32. package/src/lib/stores/diskMessageMetadataStore.d.ts.map +1 -1
  33. package/src/lib/stores/diskMessageMetadataStore.js +1 -1
  34. package/src/lib/stores/diskMessageMetadataStore.js.map +1 -1
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@brightchain/brightchain-api-lib",
3
- "version": "0.13.0",
3
+ "version": "0.14.0",
4
4
  "main": "./src/index.js",
5
5
  "types": "./src/index.d.ts",
6
6
  "dependencies": {
7
7
  "@aws-sdk/client-ses": "^3.859.0",
8
- "@brightchain/brightchain-lib": "0.13.0",
8
+ "@brightchain/brightchain-lib": "0.14.0",
9
9
  "@digitaldefiance/branded-enum": "^0.0.6",
10
10
  "@digitaldefiance/enclave-bridge-client": "^1.1.0",
11
11
  "@digitaldefiance/i18n-lib": "^4.3.2",
@@ -1 +1 @@
1
- {"version":3,"file":"configValidation.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/availability/configValidation.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAIL,eAAe,EACf,YAAY,EACZ,eAAe,EAChB,MAAM,8BAA8B,CAAC;AAEtC;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,GAC/B,IAAI,CAuFN;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAyDxE;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,GAC/B,IAAI,CAwDN;AAED;;;;;;;GAOG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,GAAE,OAAO,CAAC,eAAe,CAAM,GACpC,eAAe,CAMjB;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,GAAE,OAAO,CAAC,YAAY,CAAM,GACjC,YAAY,CAMd;AAED;;;;;;;GAOG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,GAAE,OAAO,CAAC,eAAe,CAAM,GACpC,eAAe,CAQjB"}
1
+ {"version":3,"file":"configValidation.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/availability/configValidation.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAIL,eAAe,EACf,YAAY,EACZ,eAAe,EAChB,MAAM,8BAA8B,CAAC;AAEtC;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,GAC/B,IAAI,CAuFN;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CA0FxE;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,GAC/B,IAAI,CAwDN;AAED;;;;;;;GAOG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,GAAE,OAAO,CAAC,eAAe,CAAM,GACpC,eAAe,CAMjB;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,GAAE,OAAO,CAAC,YAAY,CAAM,GACjC,YAAY,CAMd;AAED;;;;;;;GAOG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,GAAE,OAAO,CAAC,eAAe,CAAM,GACpC,eAAe,CAQjB"}
@@ -155,6 +155,26 @@ function validateGossipConfig(config) {
155
155
  throw new ConfigValidationError('maxBatchSize must not exceed 10000');
156
156
  }
157
157
  }
158
+ // Validate messagePriority (Req 10.3, 10.4)
159
+ if (config.messagePriority !== undefined) {
160
+ const { normal, high } = config.messagePriority;
161
+ // Validate normal priority fanout
162
+ if (!Number.isInteger(normal.fanout) || normal.fanout < 1) {
163
+ throw new ConfigValidationError('messagePriority.normal.fanout must be a positive integer');
164
+ }
165
+ // Validate normal priority TTL
166
+ if (!Number.isInteger(normal.ttl) || normal.ttl < 1) {
167
+ throw new ConfigValidationError('messagePriority.normal.ttl must be a positive integer');
168
+ }
169
+ // Validate high priority fanout
170
+ if (!Number.isInteger(high.fanout) || high.fanout < 1) {
171
+ throw new ConfigValidationError('messagePriority.high.fanout must be a positive integer');
172
+ }
173
+ // Validate high priority TTL
174
+ if (!Number.isInteger(high.ttl) || high.ttl < 1) {
175
+ throw new ConfigValidationError('messagePriority.high.ttl must be a positive integer');
176
+ }
177
+ }
158
178
  }
159
179
  /**
160
180
  * Validate HeartbeatConfig.
@@ -1 +1 @@
1
- {"version":3,"file":"configValidation.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/availability/configValidation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configValidation.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/availability/configValidation.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,26 @@
7
7
  *
8
8
  * @see Requirements 6.1, 6.2, 6.3, 6.4, 6.5, 6.6
9
9
  */
10
- import { AnnouncementHandler, BlockAnnouncement, GossipConfig, IGossipService } from '@brightchain/brightchain-lib';
10
+ import { AnnouncementHandler, BlockAnnouncement, DeliveryAckMetadata, GossipConfig, IGossipService, MessageDeliveryMetadata } from '@brightchain/brightchain-lib';
11
+ import { ECIESService } from '@digitaldefiance/node-ecies-lib';
12
+ /**
13
+ * Error thrown when gossip configuration is invalid.
14
+ * Non-positive fanout or TTL values will trigger this error at service initialization.
15
+ *
16
+ * @see Requirements 10.3, 10.4
17
+ */
18
+ export declare class InvalidGossipConfigError extends Error {
19
+ constructor(message: string);
20
+ }
21
+ /**
22
+ * Optional encrypted payload to send instead of plaintext announcements.
23
+ */
24
+ export interface EncryptedBatchPayload {
25
+ /** Base64-encoded ECIES ciphertext */
26
+ encryptedPayload: string;
27
+ /** Node ID of the sender that encrypted this payload */
28
+ senderNodeId: string;
29
+ }
11
30
  /**
12
31
  * Interface for peer management operations.
13
32
  * Abstracts peer selection for gossip forwarding.
@@ -26,8 +45,14 @@ export interface IPeerProvider {
26
45
  *
27
46
  * @param peerId - The peer to send to
28
47
  * @param announcements - The announcements to send
48
+ * @param encrypted - Optional encrypted payload; when present, announcements should be empty
29
49
  */
30
- sendAnnouncementBatch(peerId: string, announcements: BlockAnnouncement[]): Promise<void>;
50
+ sendAnnouncementBatch(peerId: string, announcements: BlockAnnouncement[], encrypted?: EncryptedBatchPayload): Promise<void>;
51
+ /**
52
+ * Get the ECIES public key for a peer node.
53
+ * Returns null if the peer has not registered a public key.
54
+ */
55
+ getPeerPublicKey(peerId: string): Promise<Buffer | null>;
31
56
  }
32
57
  /**
33
58
  * Gossip Service Implementation
@@ -40,14 +65,38 @@ export interface IPeerProvider {
40
65
  export declare class GossipService implements IGossipService {
41
66
  private readonly peerProvider;
42
67
  private readonly config;
68
+ private readonly eciesService?;
69
+ private readonly localPrivateKey?;
43
70
  /**
44
71
  * Pending announcements waiting to be batched and sent.
45
72
  */
46
73
  private pendingAnnouncements;
47
74
  /**
48
- * Registered announcement handlers.
75
+ * Registered announcement handlers (for non-message, non-ack announcements).
49
76
  */
50
77
  private handlers;
78
+ /**
79
+ * Registered message delivery handlers.
80
+ * Called when a BlockAnnouncement with messageDelivery metadata is received
81
+ * and recipientIds match local users.
82
+ *
83
+ * @see Requirements 3.4, 3.5
84
+ */
85
+ private messageDeliveryHandlers;
86
+ /**
87
+ * Registered delivery ack handlers.
88
+ * Called when a BlockAnnouncement of type 'ack' is received.
89
+ *
90
+ * @see Requirements 4.4
91
+ */
92
+ private deliveryAckHandlers;
93
+ /**
94
+ * Set of local user IDs on this node.
95
+ * Used to determine if a message delivery announcement targets local users.
96
+ *
97
+ * @see Requirements 3.4, 3.6
98
+ */
99
+ private readonly localUserIds;
51
100
  /**
52
101
  * Batch timer handle.
53
102
  */
@@ -61,8 +110,13 @@ export declare class GossipService implements IGossipService {
61
110
  *
62
111
  * @param peerProvider - Provider for peer management operations
63
112
  * @param config - Gossip configuration (uses defaults if not provided)
113
+ * @param localUserIds - Set of local user IDs on this node (defaults to empty set)
114
+ * @param eciesService - Optional ECIES service for encrypting sensitive batches
115
+ * @param localPrivateKey - Optional local node private key (Buffer) for identifying the sender
116
+ * @throws {InvalidGossipConfigError} If configuration contains non-positive fanout or TTL values
117
+ * @see Requirements 10.3, 10.4
64
118
  */
65
- constructor(peerProvider: IPeerProvider, config?: GossipConfig);
119
+ constructor(peerProvider: IPeerProvider, config?: GossipConfig, localUserIds?: Set<string>, eciesService?: ECIESService | undefined, localPrivateKey?: Buffer | undefined);
66
120
  /**
67
121
  * Announce a new block to the network.
68
122
  *
@@ -79,10 +133,16 @@ export declare class GossipService implements IGossipService {
79
133
  announceRemoval(blockId: string): Promise<void>;
80
134
  /**
81
135
  * Handle an incoming block announcement from a peer.
82
- * Notifies handlers and optionally forwards with decremented TTL.
136
+ *
137
+ * Dispatches announcements based on their type and metadata:
138
+ * - 'ack' type: dispatches to delivery ack handlers only (Req 4.4)
139
+ * - 'add' with messageDelivery and matching local recipients: triggers message delivery
140
+ * handlers and auto-sends ack if ackRequired (Req 3.4, 3.5)
141
+ * - 'add' with messageDelivery but no matching local recipients: forwards normally (Req 3.6)
142
+ * - Plain 'add'/'remove' without messageDelivery: notifies general handlers and forwards (backward compat)
83
143
  *
84
144
  * @param announcement - The received announcement
85
- * @see Requirements 6.2, 6.4
145
+ * @see Requirements 3.4, 3.5, 3.6, 4.4
86
146
  */
87
147
  handleAnnouncement(announcement: BlockAnnouncement): Promise<void>;
88
148
  /**
@@ -107,8 +167,13 @@ export declare class GossipService implements IGossipService {
107
167
  getPendingAnnouncements(): BlockAnnouncement[];
108
168
  /**
109
169
  * Immediately flush all pending announcements.
170
+ * Groups announcements by their required fanout (based on message priority)
171
+ * and sends each group to the appropriate number of peers.
110
172
  *
111
- * @see Requirements 6.6
173
+ * - Announcements with messageDelivery use priority-based fanout (Req 3.1, 3.2)
174
+ * - Announcements without messageDelivery use default fanout (Req 3.3)
175
+ *
176
+ * @see Requirements 3.1, 3.2, 3.3, 6.6
112
177
  */
113
178
  flushAnnouncements(): Promise<void>;
114
179
  /**
@@ -149,9 +214,87 @@ export declare class GossipService implements IGossipService {
149
214
  * @see Requirements 6.6
150
215
  */
151
216
  private splitIntoBatches;
217
+ /**
218
+ * Check if a batch contains sensitive metadata (messageDelivery or deliveryAck).
219
+ *
220
+ * @param announcements - The announcements to check
221
+ * @returns true if any announcement has messageDelivery or deliveryAck
222
+ * @see Requirements 4.1, 4.2
223
+ */
224
+ private batchContainsSensitiveMetadata;
225
+ /**
226
+ * Encrypt a batch of announcements for a specific peer using ECIES.
227
+ * Serializes announcements to JSON, encrypts with the peer's public key,
228
+ * and returns a base64-encoded ciphertext string.
229
+ *
230
+ * @param announcements - The announcements to encrypt
231
+ * @param peerPublicKey - The peer's ECIES public key
232
+ * @returns Base64-encoded ECIES ciphertext
233
+ * @see Requirements 4.1, 4.3
234
+ */
235
+ private encryptBatchForPeer;
236
+ /**
237
+ * Send a batch to a peer, encrypting if the batch is sensitive and the peer has a public key.
238
+ *
239
+ * - Sensitive batch + peer key available → encrypt and send with encryptedPayload
240
+ * - Sensitive batch + no peer key → send plaintext, log warning (Req 6.1, 6.2)
241
+ * - Non-sensitive batch → send plaintext
242
+ *
243
+ * @param peerId - The peer to send to
244
+ * @param batch - The announcements to send
245
+ * @see Requirements 4.1, 4.2, 6.1, 6.2
246
+ */
247
+ private sendBatchToPeer;
152
248
  /**
153
249
  * Clear all pending announcements (for testing).
154
250
  */
155
251
  clearPending(): void;
252
+ /**
253
+ * Announce message blocks to the network with message delivery metadata.
254
+ * Creates a BlockAnnouncement for each blockId with priority-based TTL
255
+ * from config and queues them for batch sending.
256
+ *
257
+ * @param blockIds - The block IDs containing the message content
258
+ * @param metadata - Message delivery metadata including recipients, priority, and CBL block ID
259
+ * @see Requirements 3.1, 3.2, 3.3
260
+ */
261
+ announceMessage(blockIds: string[], metadata: MessageDeliveryMetadata): Promise<void>;
262
+ /**
263
+ * Send a delivery acknowledgment back through the gossip network.
264
+ * Stub implementation — will be fully implemented in task 4.3.
265
+ *
266
+ * @param _ack - Delivery acknowledgment metadata
267
+ * @see Requirements 4.1
268
+ */
269
+ sendDeliveryAck(ack: DeliveryAckMetadata): Promise<void>;
270
+ /**
271
+ * Register a handler for message delivery events.
272
+ * The handler is called when a BlockAnnouncement with messageDelivery
273
+ * metadata is received and recipientIds match local users.
274
+ *
275
+ * @param handler - Function to call when a message delivery announcement is received
276
+ * @see Requirements 3.4, 3.5
277
+ */
278
+ onMessageDelivery(handler: (announcement: BlockAnnouncement) => void): void;
279
+ /**
280
+ * Remove a message delivery event handler.
281
+ *
282
+ * @param handler - The handler to remove
283
+ */
284
+ offMessageDelivery(handler: (announcement: BlockAnnouncement) => void): void;
285
+ /**
286
+ * Register a handler for delivery acknowledgment events.
287
+ * The handler is called when a BlockAnnouncement of type 'ack' is received.
288
+ *
289
+ * @param handler - Function to call when a delivery ack announcement is received
290
+ * @see Requirements 4.4
291
+ */
292
+ onDeliveryAck(handler: (announcement: BlockAnnouncement) => void): void;
293
+ /**
294
+ * Remove a delivery acknowledgment event handler.
295
+ *
296
+ * @param handler - The handler to remove
297
+ */
298
+ offDeliveryAck(handler: (announcement: BlockAnnouncement) => void): void;
156
299
  }
157
300
  //# sourceMappingURL=gossipService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gossipService.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/availability/gossipService.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACf,MAAM,8BAA8B,CAAC;AActC;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,cAAc,IAAI,MAAM,CAAC;IAEzB;;OAEG;IACH,mBAAmB,IAAI,MAAM,EAAE,CAAC;IAEhC;;;;;OAKG;IACH,qBAAqB,CACnB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,iBAAiB,EAAE,GACjC,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,qBAAa,aAAc,YAAW,cAAc;IA4BhD,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM;IA5BzB;;OAEG;IACH,OAAO,CAAC,oBAAoB,CAA2B;IAEvD;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAuC;IAEvD;;OAEG;IACH,OAAO,CAAC,UAAU,CAA+C;IAEjE;;OAEG;IACH,OAAO,CAAC,OAAO,CAAS;IAExB;;;;;OAKG;gBAEgB,YAAY,EAAE,aAAa,EAC3B,MAAM,GAAE,YAAkC;IAG7D;;;;;OAKG;IACG,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYnD;;;;;OAKG;IACG,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYrD;;;;;;OAMG;IACG,kBAAkB,CAAC,YAAY,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBxE;;;;;OAKG;IACH,cAAc,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAIlD;;;;OAIG;IACH,eAAe,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAInD;;;;;OAKG;IACH,uBAAuB,IAAI,iBAAiB,EAAE;IAI9C;;;;OAIG;IACG,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IA2CzC;;OAEG;IACH,KAAK,IAAI,IAAI;IAab;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB3B;;;;OAIG;IACH,SAAS,IAAI,YAAY;IAIzB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAWzB;;;;;;;OAOG;IACH,OAAO,CAAC,iBAAiB;IAezB;;;;;;;OAOG;IACH,OAAO,CAAC,gBAAgB;IAaxB;;OAEG;IACH,YAAY,IAAI,IAAI;CAGrB"}
1
+ {"version":3,"file":"gossipService.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/availability/gossipService.ts"],"names":[],"mappings":"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"}