@brightchain/brightchain-api-lib 0.25.0 → 0.26.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 (116) hide show
  1. package/package.json +4 -3
  2. package/src/lib/application.d.ts +3 -14
  3. package/src/lib/application.d.ts.map +1 -1
  4. package/src/lib/application.js +89 -34
  5. package/src/lib/application.js.map +1 -1
  6. package/src/lib/databaseInit.d.ts +7 -11
  7. package/src/lib/databaseInit.d.ts.map +1 -1
  8. package/src/lib/databaseInit.js +41 -107
  9. package/src/lib/databaseInit.js.map +1 -1
  10. package/src/lib/datastore/block-document-store-factory.d.ts +3 -0
  11. package/src/lib/datastore/block-document-store-factory.d.ts.map +1 -1
  12. package/src/lib/datastore/block-document-store-factory.js +15 -18
  13. package/src/lib/datastore/block-document-store-factory.js.map +1 -1
  14. package/src/lib/datastore/block-document-store.d.ts +2 -191
  15. package/src/lib/datastore/block-document-store.d.ts.map +1 -1
  16. package/src/lib/datastore/block-document-store.js +4 -628
  17. package/src/lib/datastore/block-document-store.js.map +1 -1
  18. package/src/lib/datastore/document-store.d.ts +1 -62
  19. package/src/lib/datastore/document-store.d.ts.map +1 -1
  20. package/src/lib/datastore/memory-document-store.d.ts +1 -8
  21. package/src/lib/datastore/memory-document-store.d.ts.map +1 -1
  22. package/src/lib/datastore/memory-document-store.js +3 -214
  23. package/src/lib/datastore/memory-document-store.js.map +1 -1
  24. package/src/lib/environment.d.ts +4 -47
  25. package/src/lib/environment.d.ts.map +1 -1
  26. package/src/lib/environment.js +2 -136
  27. package/src/lib/environment.js.map +1 -1
  28. package/src/lib/interfaces/environment.d.ts +3 -25
  29. package/src/lib/interfaces/environment.d.ts.map +1 -1
  30. package/src/lib/middleware/index.d.ts +1 -1
  31. package/src/lib/middleware/index.d.ts.map +1 -1
  32. package/src/lib/middleware/index.js +3 -2
  33. package/src/lib/middleware/index.js.map +1 -1
  34. package/src/lib/middleware/validateBody.d.ts +1 -12
  35. package/src/lib/middleware/validateBody.d.ts.map +1 -1
  36. package/src/lib/middleware/validateBody.js +4 -32
  37. package/src/lib/middleware/validateBody.js.map +1 -1
  38. package/src/lib/middlewares.d.ts.map +1 -1
  39. package/src/lib/middlewares.js +7 -1
  40. package/src/lib/middlewares.js.map +1 -1
  41. package/src/lib/plugins/brightchain-database-plugin.d.ts +27 -79
  42. package/src/lib/plugins/brightchain-database-plugin.d.ts.map +1 -1
  43. package/src/lib/plugins/brightchain-database-plugin.js +27 -97
  44. package/src/lib/plugins/brightchain-database-plugin.js.map +1 -1
  45. package/src/lib/services/emailGateway/antiSpamFilter.d.ts +229 -0
  46. package/src/lib/services/emailGateway/antiSpamFilter.d.ts.map +1 -0
  47. package/src/lib/services/emailGateway/antiSpamFilter.js +325 -0
  48. package/src/lib/services/emailGateway/antiSpamFilter.js.map +1 -0
  49. package/src/lib/services/emailGateway/bounceProcessor.d.ts +171 -0
  50. package/src/lib/services/emailGateway/bounceProcessor.d.ts.map +1 -0
  51. package/src/lib/services/emailGateway/bounceProcessor.js +378 -0
  52. package/src/lib/services/emailGateway/bounceProcessor.js.map +1 -0
  53. package/src/lib/services/emailGateway/emailAuthVerifier.d.ts +99 -0
  54. package/src/lib/services/emailGateway/emailAuthVerifier.d.ts.map +1 -0
  55. package/src/lib/services/emailGateway/emailAuthVerifier.js +202 -0
  56. package/src/lib/services/emailGateway/emailAuthVerifier.js.map +1 -0
  57. package/src/lib/services/emailGateway/emailGatewayConfig.d.ts +73 -0
  58. package/src/lib/services/emailGateway/emailGatewayConfig.d.ts.map +1 -0
  59. package/src/lib/services/emailGateway/emailGatewayConfig.js +107 -0
  60. package/src/lib/services/emailGateway/emailGatewayConfig.js.map +1 -0
  61. package/src/lib/services/emailGateway/emailGatewayService.d.ts +152 -0
  62. package/src/lib/services/emailGateway/emailGatewayService.d.ts.map +1 -0
  63. package/src/lib/services/emailGateway/emailGatewayService.js +201 -0
  64. package/src/lib/services/emailGateway/emailGatewayService.js.map +1 -0
  65. package/src/lib/services/emailGateway/gatewayObservability.d.ts +123 -0
  66. package/src/lib/services/emailGateway/gatewayObservability.d.ts.map +1 -0
  67. package/src/lib/services/emailGateway/gatewayObservability.js +186 -0
  68. package/src/lib/services/emailGateway/gatewayObservability.js.map +1 -0
  69. package/src/lib/services/emailGateway/inboundProcessor.d.ts +113 -0
  70. package/src/lib/services/emailGateway/inboundProcessor.d.ts.map +1 -0
  71. package/src/lib/services/emailGateway/inboundProcessor.js +298 -0
  72. package/src/lib/services/emailGateway/inboundProcessor.js.map +1 -0
  73. package/src/lib/services/emailGateway/index.d.ts +23 -0
  74. package/src/lib/services/emailGateway/index.d.ts.map +1 -0
  75. package/src/lib/services/emailGateway/index.js +26 -0
  76. package/src/lib/services/emailGateway/index.js.map +1 -0
  77. package/src/lib/services/emailGateway/outboundDeliveryWorker.d.ts +111 -0
  78. package/src/lib/services/emailGateway/outboundDeliveryWorker.d.ts.map +1 -0
  79. package/src/lib/services/emailGateway/outboundDeliveryWorker.js +97 -0
  80. package/src/lib/services/emailGateway/outboundDeliveryWorker.js.map +1 -0
  81. package/src/lib/services/emailGateway/outboundQueue.d.ts +135 -0
  82. package/src/lib/services/emailGateway/outboundQueue.d.ts.map +1 -0
  83. package/src/lib/services/emailGateway/outboundQueue.js +227 -0
  84. package/src/lib/services/emailGateway/outboundQueue.js.map +1 -0
  85. package/src/lib/services/emailGateway/outboundQueueStore.d.ts +110 -0
  86. package/src/lib/services/emailGateway/outboundQueueStore.d.ts.map +1 -0
  87. package/src/lib/services/emailGateway/outboundQueueStore.js +131 -0
  88. package/src/lib/services/emailGateway/outboundQueueStore.js.map +1 -0
  89. package/src/lib/services/emailGateway/recipientLookupService.d.ts +135 -0
  90. package/src/lib/services/emailGateway/recipientLookupService.d.ts.map +1 -0
  91. package/src/lib/services/emailGateway/recipientLookupService.js +294 -0
  92. package/src/lib/services/emailGateway/recipientLookupService.js.map +1 -0
  93. package/src/lib/services/emailGateway/retryBackoff.d.ts +79 -0
  94. package/src/lib/services/emailGateway/retryBackoff.d.ts.map +1 -0
  95. package/src/lib/services/emailGateway/retryBackoff.js +77 -0
  96. package/src/lib/services/emailGateway/retryBackoff.js.map +1 -0
  97. package/src/lib/services/index.d.ts +1 -0
  98. package/src/lib/services/index.d.ts.map +1 -1
  99. package/src/lib/services/index.js +1 -0
  100. package/src/lib/services/index.js.map +1 -1
  101. package/src/lib/services/quorumDatabaseAdapter.d.ts +7 -1
  102. package/src/lib/services/quorumDatabaseAdapter.d.ts.map +1 -1
  103. package/src/lib/services/quorumDatabaseAdapter.js +83 -0
  104. package/src/lib/services/quorumDatabaseAdapter.js.map +1 -1
  105. package/src/lib/services/sessionAdapter.d.ts +2 -61
  106. package/src/lib/services/sessionAdapter.d.ts.map +1 -1
  107. package/src/lib/services/sessionAdapter.js +2 -102
  108. package/src/lib/services/sessionAdapter.js.map +1 -1
  109. package/src/lib/shared-types.d.ts +7 -15
  110. package/src/lib/shared-types.d.ts.map +1 -1
  111. package/src/lib/types/backend-id.d.ts +1 -2
  112. package/src/lib/types/backend-id.d.ts.map +1 -1
  113. package/src/lib/validation/userValidation.d.ts +2 -43
  114. package/src/lib/validation/userValidation.d.ts.map +1 -1
  115. package/src/lib/validation/userValidation.js +6 -144
  116. package/src/lib/validation/userValidation.js.map +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brightchain/brightchain-api-lib",
3
- "version": "0.25.0",
3
+ "version": "0.26.0",
4
4
  "main": "./src/index.js",
5
5
  "types": "./src/index.d.ts",
6
6
  "files": [
@@ -9,8 +9,9 @@
9
9
  ],
10
10
  "dependencies": {
11
11
  "@aws-sdk/client-ses": "^3.859.0",
12
- "@brightchain/brightchain-lib": "^0.25.0",
13
- "@brightchain/db": "^0.25.0",
12
+ "@brightchain/brightchain-lib": "^0.26.0",
13
+ "@brightchain/db": "^0.26.0",
14
+ "@brightchain/node-express-suite": "^0.26.0",
14
15
  "@digitaldefiance/branded-enum": "^0.0.7",
15
16
  "@digitaldefiance/ecies-lib": "^4.20.2",
16
17
  "@digitaldefiance/enclave-bridge-client": "^1.1.0",
@@ -1,7 +1,7 @@
1
1
  import { IAvailabilityService, IDiscoveryProtocol, IReconciliationService } from '@brightchain/brightchain-lib';
2
+ import { BrightDbApplication } from '@brightchain/node-express-suite';
2
3
  import { PlatformID } from '@digitaldefiance/node-ecies-lib';
3
- import { IConstants, Application as UpstreamApplication } from '@digitaldefiance/node-express-suite';
4
- import { Server } from 'http';
4
+ import { IConstants } from '@digitaldefiance/node-express-suite';
5
5
  import { GossipService } from './availability/gossipService';
6
6
  import { PoolDiscoveryService } from './availability/poolDiscoveryService';
7
7
  import { DocumentCollection, DocumentRecord, DocumentStore } from './datastore/document-store';
@@ -25,7 +25,7 @@ import { WebSocketMessageServer } from './services/webSocketMessageServer';
25
25
  * Database integration is handled by the BrightChainDatabasePlugin, registered
26
26
  * via configureBrightChainApp() during construction.
27
27
  */
28
- export declare class App<TID extends PlatformID> extends UpstreamApplication<TID, Environment<TID>, IConstants, AppRouter<TID>> {
28
+ export declare class App<TID extends PlatformID> extends BrightDbApplication<TID, Environment<TID>, IConstants, AppRouter<TID>> {
29
29
  private controllers;
30
30
  private readonly keyStorage;
31
31
  private readonly _brightchainDocumentStore;
@@ -41,12 +41,6 @@ export declare class App<TID extends PlatformID> extends UpstreamApplication<TID
41
41
  private identityExpirationScheduler;
42
42
  private quorumGossipHandler;
43
43
  private contentAwareBlocksService;
44
- /**
45
- * Captured HTTP server reference for WebSocket attachment.
46
- * The upstream Application stores the server as a private field,
47
- * so we intercept expressApp.listen() to capture it here.
48
- */
49
- private _httpServer;
50
44
  constructor(environment: Environment<TID>);
51
45
  /**
52
46
  * Get the BrightChain document store.
@@ -66,11 +60,6 @@ export declare class App<TID extends PlatformID> extends UpstreamApplication<TID
66
60
  getModel<U extends DocumentRecord>(modelName: string): DocumentCollection<U>;
67
61
  start(dbUri?: string): Promise<void>;
68
62
  stop(): Promise<void>;
69
- /**
70
- * Get the underlying HTTP server instance.
71
- * Useful for tests that need to determine the bound port after start().
72
- */
73
- get httpServer(): Server | null;
74
63
  getController<T = unknown>(name: string): T;
75
64
  setController(name: string, controller: unknown): void;
76
65
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../../../brightchain-api-lib/src/lib/application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../../../brightchain-api-lib/src/lib/application.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.App = void 0;
4
4
  const brightchain_lib_1 = require("@brightchain/brightchain-lib");
5
5
  const db_1 = require("@brightchain/db");
6
- const node_express_suite_1 = require("@digitaldefiance/node-express-suite");
6
+ const node_express_suite_1 = require("@brightchain/node-express-suite");
7
+ const node_express_suite_2 = require("@digitaldefiance/node-express-suite");
7
8
  const quorumGossipHandler_1 = require("./availability/quorumGossipHandler");
8
9
  const constants_1 = require("./constants");
9
10
  const sessions_1 = require("./controllers/api/sessions");
@@ -19,6 +20,7 @@ const threadService_1 = require("./services/brighthub/threadService");
19
20
  const clientWebSocketServer_1 = require("./services/clientWebSocketServer");
20
21
  const eventNotificationSystem_1 = require("./services/eventNotificationSystem");
21
22
  const fakeEmailService_1 = require("./services/fakeEmailService");
23
+ const messagePassingService_1 = require("./services/messagePassingService");
22
24
  const webSocketMessageServer_1 = require("./services/webSocketMessageServer");
23
25
  /**
24
26
  * Application class for BrightChain.
@@ -33,7 +35,7 @@ const webSocketMessageServer_1 = require("./services/webSocketMessageServer");
33
35
  * Database integration is handled by the BrightChainDatabasePlugin, registered
34
36
  * via configureBrightChainApp() during construction.
35
37
  */
36
- class App extends node_express_suite_1.Application {
38
+ class App extends node_express_suite_1.BrightDbApplication {
37
39
  controllers = new Map();
38
40
  keyStorage;
39
41
  _brightchainDocumentStore;
@@ -50,12 +52,6 @@ class App extends node_express_suite_1.Application {
50
52
  identityExpirationScheduler = null;
51
53
  quorumGossipHandler = null;
52
54
  contentAwareBlocksService = null;
53
- /**
54
- * Captured HTTP server reference for WebSocket attachment.
55
- * The upstream Application stores the server as a private field,
56
- * so we intercept expressApp.listen() to capture it here.
57
- */
58
- _httpServer = null;
59
55
  constructor(environment) {
60
56
  super(environment,
61
57
  // apiRouterFactory — creates BrightChain's ApiRouter and captures the reference
@@ -168,7 +164,7 @@ class App extends node_express_suite_1.Application {
168
164
  : new services_1.EmailService(this);
169
165
  if (this.environment.disableEmailSend) {
170
166
  this.expressApp.use((0, testEmailRouter_1.createTestEmailRouter)());
171
- (0, node_express_suite_1.debugLog)(this.environment.debug, 'log', '[ ready ] FakeEmailService and TestEmailRouter mounted (DISABLE_EMAIL_SEND=true)');
167
+ (0, node_express_suite_2.debugLog)(this.environment.debug, 'log', '[ ready ] FakeEmailService and TestEmailRouter mounted (DISABLE_EMAIL_SEND=true)');
172
168
  }
173
169
  const authProvider = this._plugin.authenticationProvider;
174
170
  const authService = new services_1.AuthService(this, memberStore, energyStore, emailService, this.environment.jwtSecret, authProvider);
@@ -183,7 +179,7 @@ class App extends node_express_suite_1.Application {
183
179
  // BrightChainBackupCodeService — singleton backed by MemberStore + crypto services
184
180
  const serviceProvider = brightchain_lib_1.ServiceProvider.getInstance();
185
181
  const eciesService = serviceProvider.eciesService;
186
- const keyWrappingService = new node_express_suite_1.KeyWrappingService();
182
+ const keyWrappingService = new node_express_suite_2.KeyWrappingService();
187
183
  const backupCodeService = new services_1.BrightChainBackupCodeService(memberStore,
188
184
  // Cast: ecies-lib ECIESService → node-ecies-lib ECIESService (structurally compatible at runtime)
189
185
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -194,7 +190,7 @@ class App extends node_express_suite_1.Application {
194
190
  // singleton (with encryptData/decryptData) that was initialized from
195
191
  // the SYSTEM_MNEMONIC env var during app startup.
196
192
  try {
197
- const systemUser = node_express_suite_1.SystemUserService.getSystemUser(
193
+ const systemUser = node_express_suite_2.SystemUserService.getSystemUser(
198
194
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
199
195
  this.environment, this.constants);
200
196
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -217,7 +213,7 @@ class App extends node_express_suite_1.Application {
217
213
  if (this._httpServer) {
218
214
  this.wsServer = new webSocketMessageServer_1.WebSocketMessageServer(this._httpServer, false);
219
215
  this.services.register('wsServer', () => this.wsServer);
220
- (0, node_express_suite_1.debugLog)(this.environment.debug, 'log', '[ ready ] WebSocket server initialized');
216
+ (0, node_express_suite_2.debugLog)(this.environment.debug, 'log', '[ ready ] WebSocket server initialized');
221
217
  // Client-facing WebSocket server for Lumen protocol
222
218
  // @see Requirements 9.6, 11.3
223
219
  this.clientWsServer = new clientWebSocketServer_1.ClientWebSocketServer(this._httpServer, this.environment.jwtSecret);
@@ -225,12 +221,77 @@ class App extends node_express_suite_1.Application {
225
221
  // Wire EventNotificationSystem to broadcast through ClientWebSocketServer
226
222
  // This unifies all real-time event delivery through a single WebSocket connection
227
223
  this.eventSystem.setBroadcaster(this.clientWsServer);
228
- (0, node_express_suite_1.debugLog)(this.environment.debug, 'log', '[ ready ] Client WebSocket server initialized (unified event delivery)');
224
+ (0, node_express_suite_2.debugLog)(this.environment.debug, 'log', '[ ready ] Client WebSocket server initialized (unified event delivery)');
229
225
  }
230
226
  // Wire EventNotificationSystem to SyncController via the apiRouter
231
227
  if (this.apiRouter) {
232
228
  this.apiRouter.setSyncEventSystem(this.eventSystem);
233
229
  }
230
+ // ── Email subsystem (MessagePassingService) initialization ──────
231
+ // The MessagePassingService is required by the EmailController to handle
232
+ // inbox queries, send/receive, thread views, etc. Without it, all email
233
+ // endpoints return SERVICE_UNAVAILABLE (503).
234
+ // We create a local instance with in-memory stores and a no-op gossip stub.
235
+ // When a real GossipService is wired later (via setPoolDiscoveryService),
236
+ // setMessagePassingService() can replace this with a fully-connected instance.
237
+ // @see Requirements 14.1, 14.2
238
+ try {
239
+ const messageCBL = {
240
+ createMessage: async () => ({
241
+ messageId: `msg-${Date.now()}-${Math.random().toString(36).slice(2)}`,
242
+ contentBlockIds: [],
243
+ magnetUrl: '',
244
+ }),
245
+ getMessageMetadata: async () => null,
246
+ getMessageContent: async () => null,
247
+ };
248
+ const messageMetadataStore = new brightchain_lib_1.MemoryMessageMetadataStore();
249
+ const emailMetadataStore = new brightchain_lib_1.InMemoryEmailMetadataStore();
250
+ // No-op gossip stub — real gossip is wired externally via setPoolDiscoveryService
251
+ const gossipStubForEmail = {
252
+ announceBlock: async () => { },
253
+ announceRemoval: async () => { },
254
+ announcePoolDeletion: async () => { },
255
+ announceCBLIndexUpdate: async () => { },
256
+ announceCBLIndexDelete: async () => { },
257
+ announceHeadUpdate: async () => { },
258
+ announceACLUpdate: async () => { },
259
+ handleAnnouncement: async () => { },
260
+ onAnnouncement: () => { },
261
+ offAnnouncement: () => { },
262
+ getPendingAnnouncements: () => [],
263
+ flushAnnouncements: async () => { },
264
+ start: () => { },
265
+ stop: async () => { },
266
+ getConfig: () => ({}),
267
+ announceMessage: async () => { },
268
+ sendDeliveryAck: async () => { },
269
+ onMessageDelivery: () => { },
270
+ offMessageDelivery: () => { },
271
+ onDeliveryAck: () => { },
272
+ offDeliveryAck: () => { },
273
+ announceQuorumProposal: async () => { },
274
+ announceQuorumVote: async () => { },
275
+ onQuorumProposal: () => { },
276
+ offQuorumProposal: () => { },
277
+ onQuorumVote: () => { },
278
+ offQuorumVote: () => { },
279
+ };
280
+ const mps = new messagePassingService_1.MessagePassingService(messageCBL, messageMetadataStore, this.eventSystem, gossipStubForEmail);
281
+ mps.configureEmail(emailMetadataStore);
282
+ // Store on the App instance and register with the service container
283
+ this.messagePassingService = mps;
284
+ this.services.register('messagePassingService', () => mps);
285
+ // Wire to both the messages controller and the email controller
286
+ if (this.apiRouter) {
287
+ this.apiRouter.setMessagePassingService(mps);
288
+ this.apiRouter.setMessagePassingServiceForEmail(mps);
289
+ }
290
+ (0, node_express_suite_2.debugLog)(this.environment.debug, 'log', '[ ready ] MessagePassingService initialized (email subsystem active)');
291
+ }
292
+ catch (emailSubsystemErr) {
293
+ console.warn('[ warning ] Email subsystem initialization failed, email endpoints will return 503:', emailSubsystemErr);
294
+ }
234
295
  // ── BrightHub social services initialization ────────────────────
235
296
  if (this.apiRouter) {
236
297
  // BrightHub services expect a Collection<T> interface with
@@ -273,7 +334,7 @@ class App extends node_express_suite_1.Application {
273
334
  this.apiRouter.setBrightHubConnectionService(connectionService);
274
335
  this.apiRouter.setBrightHubDiscoveryService(discoveryService);
275
336
  this.apiRouter.setBrightHubUserProfileService(userProfileService);
276
- (0, node_express_suite_1.debugLog)(this.environment.debug, 'log', '[ ready ] BrightHub social services initialized');
337
+ (0, node_express_suite_2.debugLog)(this.environment.debug, 'log', '[ ready ] BrightHub social services initialized');
277
338
  }
278
339
  // ── Quorum subsystem initialization ─────────────────────────────
279
340
  // Task 23.1: Initialize QuorumDatabaseAdapter with pool ID "quorum-system"
@@ -284,7 +345,7 @@ class App extends node_express_suite_1.Application {
284
345
  });
285
346
  this.quorumDbAdapter = new services_1.QuorumDatabaseAdapter(quorumDb, brightchain_lib_1.ServiceProvider.getInstance().idProvider);
286
347
  this.services.register('quorumDbAdapter', () => this.quorumDbAdapter);
287
- (0, node_express_suite_1.debugLog)(this.environment.debug, 'log', '[ ready ] Quorum database adapter initialized (pool: quorum-system)');
348
+ (0, node_express_suite_2.debugLog)(this.environment.debug, 'log', '[ ready ] Quorum database adapter initialized (pool: quorum-system)');
288
349
  // Task 23.2: Initialize QuorumStateMachine with dependencies
289
350
  const serviceProvider = brightchain_lib_1.ServiceProvider.getInstance();
290
351
  const sealingService = serviceProvider.sealingService;
@@ -324,12 +385,12 @@ class App extends node_express_suite_1.Application {
324
385
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
325
386
  gossipStub, auditLogService, aliasRegistry);
326
387
  this.services.register('quorumStateMachine', () => this.quorumStateMachine);
327
- (0, node_express_suite_1.debugLog)(this.environment.debug, 'log', '[ ready ] Quorum state machine initialized');
388
+ (0, node_express_suite_2.debugLog)(this.environment.debug, 'log', '[ ready ] Quorum state machine initialized');
328
389
  // Task 23.3: Start IdentityExpirationScheduler
329
390
  this.identityExpirationScheduler = new services_1.IdentityExpirationScheduler(this.quorumDbAdapter, auditLogService);
330
391
  this.identityExpirationScheduler.start();
331
392
  this.services.register('identityExpirationScheduler', () => this.identityExpirationScheduler);
332
- (0, node_express_suite_1.debugLog)(this.environment.debug, 'log', '[ ready ] Identity expiration scheduler started');
393
+ (0, node_express_suite_2.debugLog)(this.environment.debug, 'log', '[ ready ] Identity expiration scheduler started');
333
394
  // Task 23.4: Register gossip message handlers for quorum_proposal and quorum_vote
334
395
  // The QuorumGossipHandler is created here but gossip service binding
335
396
  // happens when setQuorumGossipService() is called externally.
@@ -338,7 +399,7 @@ class App extends node_express_suite_1.Application {
338
399
  this.quorumGossipHandler = new quorumGossipHandler_1.QuorumGossipHandler(gossipService, this.quorumStateMachine, this.quorumDbAdapter);
339
400
  this.quorumGossipHandler.start();
340
401
  this.services.register('quorumGossipHandler', () => this.quorumGossipHandler);
341
- (0, node_express_suite_1.debugLog)(this.environment.debug, 'log', '[ ready ] Quorum gossip handlers registered (quorum_proposal, quorum_vote)');
402
+ (0, node_express_suite_2.debugLog)(this.environment.debug, 'log', '[ ready ] Quorum gossip handlers registered (quorum_proposal, quorum_vote)');
342
403
  });
343
404
  // Task 23.5: Wire content ingestion middleware (IdentityValidator + IdentitySealingPipeline)
344
405
  const membershipProofService = new brightchain_lib_1.MembershipProofService();
@@ -349,7 +410,7 @@ class App extends node_express_suite_1.Application {
349
410
  // CLIOperatorPrompt for interactive voting
350
411
  const operatorPrompt = new services_1.CLIOperatorPrompt();
351
412
  this.services.register('operatorPrompt', () => operatorPrompt);
352
- (0, node_express_suite_1.debugLog)(this.environment.debug, 'log', '[ ready ] Quorum subsystem fully initialized');
413
+ (0, node_express_suite_2.debugLog)(this.environment.debug, 'log', '[ ready ] Quorum subsystem fully initialized');
353
414
  }
354
415
  catch (quorumErr) {
355
416
  console.warn('[ warning ] Quorum subsystem initialization failed, continuing without quorum:', quorumErr);
@@ -357,13 +418,13 @@ class App extends node_express_suite_1.Application {
357
418
  // UPnP port mapping (non-fatal on failure)
358
419
  try {
359
420
  if (this.environment.upnp?.enabled) {
360
- this.upnpManager = new node_express_suite_1.UpnpManager(this.environment.upnp);
421
+ this.upnpManager = new node_express_suite_2.UpnpManager(this.environment.upnp);
361
422
  await this.upnpManager.initialize();
362
423
  this.services.register('upnpManager', () => this.upnpManager);
363
- (0, node_express_suite_1.debugLog)(this.environment.debug, 'log', '[ ready ] UPnP port mapping initialized');
424
+ (0, node_express_suite_2.debugLog)(this.environment.debug, 'log', '[ ready ] UPnP port mapping initialized');
364
425
  }
365
426
  else {
366
- (0, node_express_suite_1.debugLog)(this.environment.debug, 'log', '[ info ] UPnP port mapping disabled');
427
+ (0, node_express_suite_2.debugLog)(this.environment.debug, 'log', '[ info ] UPnP port mapping disabled');
367
428
  }
368
429
  }
369
430
  catch (upnpErr) {
@@ -375,13 +436,13 @@ class App extends node_express_suite_1.Application {
375
436
  // ── Quorum subsystem shutdown ─────────────────────────────────────
376
437
  // Task 23.3: Stop ExpirationScheduler (graceful cleanup)
377
438
  if (this.identityExpirationScheduler) {
378
- (0, node_express_suite_1.debugLog)(this.environment.debug, 'log', '[ stopping ] Identity expiration scheduler');
439
+ (0, node_express_suite_2.debugLog)(this.environment.debug, 'log', '[ stopping ] Identity expiration scheduler');
379
440
  this.identityExpirationScheduler.stop();
380
441
  this.identityExpirationScheduler = null;
381
442
  }
382
443
  // Task 23.4: Unregister gossip handlers
383
444
  if (this.quorumGossipHandler) {
384
- (0, node_express_suite_1.debugLog)(this.environment.debug, 'log', '[ stopping ] Quorum gossip handlers');
445
+ (0, node_express_suite_2.debugLog)(this.environment.debug, 'log', '[ stopping ] Quorum gossip handlers');
385
446
  this.quorumGossipHandler.stop();
386
447
  this.quorumGossipHandler = null;
387
448
  }
@@ -391,13 +452,13 @@ class App extends node_express_suite_1.Application {
391
452
  this.contentAwareBlocksService = null;
392
453
  // Shutdown UPnP port mappings
393
454
  if (this.upnpManager) {
394
- (0, node_express_suite_1.debugLog)(this.environment.debug, 'log', '[ stopping ] UPnP port mapping');
455
+ (0, node_express_suite_2.debugLog)(this.environment.debug, 'log', '[ stopping ] UPnP port mapping');
395
456
  await this.upnpManager.shutdown();
396
457
  this.upnpManager = null;
397
458
  }
398
459
  // Close WebSocket server
399
460
  if (this.wsServer) {
400
- (0, node_express_suite_1.debugLog)(this.environment.debug, 'log', '[ stopping ] WebSocket server');
461
+ (0, node_express_suite_2.debugLog)(this.environment.debug, 'log', '[ stopping ] WebSocket server');
401
462
  await new Promise((resolve) => {
402
463
  this.wsServer.close(() => resolve());
403
464
  });
@@ -405,7 +466,7 @@ class App extends node_express_suite_1.Application {
405
466
  }
406
467
  // Close client WebSocket server
407
468
  if (this.clientWsServer) {
408
- (0, node_express_suite_1.debugLog)(this.environment.debug, 'log', '[ stopping ] Client WebSocket server');
469
+ (0, node_express_suite_2.debugLog)(this.environment.debug, 'log', '[ stopping ] Client WebSocket server');
409
470
  await new Promise((resolve) => {
410
471
  this.clientWsServer.close(() => resolve());
411
472
  });
@@ -419,13 +480,6 @@ class App extends node_express_suite_1.Application {
419
480
  // Upstream handles: greenlockManager.stop(), server.close(), db disconnect, _ready = false
420
481
  await super.stop();
421
482
  }
422
- /**
423
- * Get the underlying HTTP server instance.
424
- * Useful for tests that need to determine the bound port after start().
425
- */
426
- get httpServer() {
427
- return this._httpServer;
428
- }
429
483
  getController(name) {
430
484
  return this.controllers.get(name);
431
485
  }
@@ -472,6 +526,7 @@ class App extends node_express_suite_1.Application {
472
526
  this.services.register('messagePassingService', () => service);
473
527
  if (this.apiRouter) {
474
528
  this.apiRouter.setMessagePassingService(service);
529
+ this.apiRouter.setMessagePassingServiceForEmail(service);
475
530
  }
476
531
  }
477
532
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"application.js","sourceRoot":"","sources":["../../../../brightchain-api-lib/src/lib/application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"application.js","sourceRoot":"","sources":["../../../../brightchain-api-lib/src/lib/application.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,10 @@
1
1
  /**
2
2
  * @fileoverview BrightChain database initialization function.
3
3
  *
4
- * Replaces the no-op DatabaseInitFunction with a real implementation that
5
- * creates persistent (or ephemeral) stores based on environment configuration.
4
+ * Wraps the generic brightchainDatabaseInit from @brightchain/node-express-suite,
5
+ * passing domain-specific model registrations (energy account hydration schema)
6
+ * as a callback. Returns the full IBrightChainInitData including MemberStore
7
+ * and EnergyAccountStore.
6
8
  *
7
9
  * @module databaseInit
8
10
  */
@@ -12,15 +14,9 @@ import { Environment } from './environment';
12
14
  /**
13
15
  * Initialize the BrightChain database stack.
14
16
  *
15
- * Reads `blockStorePath` and `blockStoreBlockSizes` from the Environment:
16
- * - If `blockStorePath` is set: validates the path, creates a DiskBlockStore,
17
- * and creates a BrightDb with a PersistentHeadRegistry via `dataDir`.
18
- * - If `blockStorePath` is not set: creates a MemoryBlockStore, logs a warning,
19
- * and creates a BrightDb with an InMemoryHeadRegistry.
20
- *
21
- * Registers an `energy_accounts` Model on BrightDB with the energy account
22
- * hydration schema, then passes the Model (as ITypedCollection) directly to
23
- * EnergyAccountStore — no adapter needed.
17
+ * Delegates to the Suite's generic brightchainDatabaseInit for block store
18
+ * and BrightDb creation, then adds domain-specific stores (MemberStore,
19
+ * EnergyAccountStore) on top via the modelRegistrations callback.
24
20
  *
25
21
  * @returns An IInitResult containing the initialized stores on success,
26
22
  * or a failure result with a descriptive error message.
@@ -1 +1 @@
1
- {"version":3,"file":"databaseInit.d.ts","sourceRoot":"","sources":["../../../../brightchain-api-lib/src/lib/databaseInit.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAEV,oBAAoB,EAEpB,WAAW,EACZ,MAAM,8BAA8B,CAAC;AAStC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAGlE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AA0B5C;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,uBAAuB,CAAC,GAAG,SAAS,UAAU,EAClE,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,GAC5B,OAAO,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,CA8F5C"}
1
+ {"version":3,"file":"databaseInit.d.ts","sourceRoot":"","sources":["../../../../brightchain-api-lib/src/lib/databaseInit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAEV,oBAAoB,EAEpB,WAAW,EACZ,MAAM,8BAA8B,CAAC;AAQtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C;;;;;;;;;GASG;AACH,wBAAsB,uBAAuB,CAAC,GAAG,SAAS,UAAU,EAClE,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,GAC5B,OAAO,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,CAgD5C"}