@brightchain/brightchain-api-lib 0.14.0 → 0.15.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 (242) hide show
  1. package/package.json +5 -5
  2. package/src/index.d.ts +3 -0
  3. package/src/index.d.ts.map +1 -1
  4. package/src/index.js +5 -0
  5. package/src/index.js.map +1 -1
  6. package/src/lib/application.d.ts +1 -0
  7. package/src/lib/application.d.ts.map +1 -1
  8. package/src/lib/application.js +23 -0
  9. package/src/lib/application.js.map +1 -1
  10. package/src/lib/auth/aclEnforcedAvailability.d.ts +57 -0
  11. package/src/lib/auth/aclEnforcedAvailability.d.ts.map +1 -0
  12. package/src/lib/auth/aclEnforcedAvailability.js +87 -0
  13. package/src/lib/auth/aclEnforcedAvailability.js.map +1 -0
  14. package/src/lib/auth/aclEnforcedBlockStore.d.ts +66 -0
  15. package/src/lib/auth/aclEnforcedBlockStore.d.ts.map +1 -0
  16. package/src/lib/auth/aclEnforcedBlockStore.js +83 -0
  17. package/src/lib/auth/aclEnforcedBlockStore.js.map +1 -0
  18. package/src/lib/auth/ecdsaNodeAuthenticator.d.ts +46 -0
  19. package/src/lib/auth/ecdsaNodeAuthenticator.d.ts.map +1 -0
  20. package/src/lib/auth/ecdsaNodeAuthenticator.js +110 -0
  21. package/src/lib/auth/ecdsaNodeAuthenticator.js.map +1 -0
  22. package/src/lib/auth/index.d.ts +7 -0
  23. package/src/lib/auth/index.d.ts.map +1 -0
  24. package/src/lib/auth/index.js +13 -0
  25. package/src/lib/auth/index.js.map +1 -0
  26. package/src/lib/auth/poolAclBootstrap.d.ts +36 -0
  27. package/src/lib/auth/poolAclBootstrap.d.ts.map +1 -0
  28. package/src/lib/auth/poolAclBootstrap.js +64 -0
  29. package/src/lib/auth/poolAclBootstrap.js.map +1 -0
  30. package/src/lib/auth/poolAclStore.d.ts +77 -0
  31. package/src/lib/auth/poolAclStore.d.ts.map +1 -0
  32. package/src/lib/auth/poolAclStore.js +189 -0
  33. package/src/lib/auth/poolAclStore.js.map +1 -0
  34. package/src/lib/auth/poolAclUpdater.d.ts +79 -0
  35. package/src/lib/auth/poolAclUpdater.d.ts.map +1 -0
  36. package/src/lib/auth/poolAclUpdater.js +144 -0
  37. package/src/lib/auth/poolAclUpdater.js.map +1 -0
  38. package/src/lib/availability/availabilityService.d.ts +2 -2
  39. package/src/lib/availability/availabilityService.d.ts.map +1 -1
  40. package/src/lib/availability/availabilityService.js +12 -5
  41. package/src/lib/availability/availabilityService.js.map +1 -1
  42. package/src/lib/availability/blockRegistry.d.ts +45 -3
  43. package/src/lib/availability/blockRegistry.d.ts.map +1 -1
  44. package/src/lib/availability/blockRegistry.js +123 -5
  45. package/src/lib/availability/blockRegistry.js.map +1 -1
  46. package/src/lib/availability/discoveryProtocol.d.ts +30 -1
  47. package/src/lib/availability/discoveryProtocol.d.ts.map +1 -1
  48. package/src/lib/availability/discoveryProtocol.js +76 -0
  49. package/src/lib/availability/discoveryProtocol.js.map +1 -1
  50. package/src/lib/availability/gossipService.d.ts +45 -6
  51. package/src/lib/availability/gossipService.d.ts.map +1 -1
  52. package/src/lib/availability/gossipService.js +177 -5
  53. package/src/lib/availability/gossipService.js.map +1 -1
  54. package/src/lib/availability/reconciliationService.d.ts +88 -1
  55. package/src/lib/availability/reconciliationService.d.ts.map +1 -1
  56. package/src/lib/availability/reconciliationService.js +246 -48
  57. package/src/lib/availability/reconciliationService.js.map +1 -1
  58. package/src/lib/blockFetch/blockFetcher.d.ts +100 -0
  59. package/src/lib/blockFetch/blockFetcher.d.ts.map +1 -0
  60. package/src/lib/blockFetch/blockFetcher.js +279 -0
  61. package/src/lib/blockFetch/blockFetcher.js.map +1 -0
  62. package/src/lib/blockFetch/fetchQueue.d.ts +88 -0
  63. package/src/lib/blockFetch/fetchQueue.d.ts.map +1 -0
  64. package/src/lib/blockFetch/fetchQueue.js +204 -0
  65. package/src/lib/blockFetch/fetchQueue.js.map +1 -0
  66. package/src/lib/blockFetch/httpBlockFetchTransport.d.ts +65 -0
  67. package/src/lib/blockFetch/httpBlockFetchTransport.d.ts.map +1 -0
  68. package/src/lib/blockFetch/httpBlockFetchTransport.js +104 -0
  69. package/src/lib/blockFetch/httpBlockFetchTransport.js.map +1 -0
  70. package/src/lib/blockFetch/index.d.ts +10 -0
  71. package/src/lib/blockFetch/index.d.ts.map +1 -0
  72. package/src/lib/blockFetch/index.js +13 -0
  73. package/src/lib/blockFetch/index.js.map +1 -0
  74. package/src/lib/controllers/api/brightpass.d.ts +72 -0
  75. package/src/lib/controllers/api/brightpass.d.ts.map +1 -0
  76. package/src/lib/controllers/api/brightpass.js +577 -0
  77. package/src/lib/controllers/api/brightpass.js.map +1 -0
  78. package/src/lib/controllers/api/channels.d.ts +122 -0
  79. package/src/lib/controllers/api/channels.d.ts.map +1 -0
  80. package/src/lib/controllers/api/channels.js +701 -0
  81. package/src/lib/controllers/api/channels.js.map +1 -0
  82. package/src/lib/controllers/api/conversations.d.ts +89 -0
  83. package/src/lib/controllers/api/conversations.d.ts.map +1 -0
  84. package/src/lib/controllers/api/conversations.js +259 -0
  85. package/src/lib/controllers/api/conversations.js.map +1 -0
  86. package/src/lib/controllers/api/emails.d.ts +122 -0
  87. package/src/lib/controllers/api/emails.d.ts.map +1 -0
  88. package/src/lib/controllers/api/emails.js +494 -0
  89. package/src/lib/controllers/api/emails.js.map +1 -0
  90. package/src/lib/controllers/api/explodingMessages.d.ts +79 -0
  91. package/src/lib/controllers/api/explodingMessages.d.ts.map +1 -0
  92. package/src/lib/controllers/api/explodingMessages.js +378 -0
  93. package/src/lib/controllers/api/explodingMessages.js.map +1 -0
  94. package/src/lib/controllers/api/groups.d.ts +94 -0
  95. package/src/lib/controllers/api/groups.d.ts.map +1 -0
  96. package/src/lib/controllers/api/groups.js +484 -0
  97. package/src/lib/controllers/api/groups.js.map +1 -0
  98. package/src/lib/controllers/api/index.d.ts +6 -0
  99. package/src/lib/controllers/api/index.d.ts.map +1 -1
  100. package/src/lib/controllers/api/index.js +6 -0
  101. package/src/lib/controllers/api/index.js.map +1 -1
  102. package/src/lib/controllers/api/messages.d.ts.map +1 -1
  103. package/src/lib/controllers/api/messages.js +2 -1
  104. package/src/lib/controllers/api/messages.js.map +1 -1
  105. package/src/lib/controllers/api/sync.d.ts +38 -2
  106. package/src/lib/controllers/api/sync.d.ts.map +1 -1
  107. package/src/lib/controllers/api/sync.js +89 -0
  108. package/src/lib/controllers/api/sync.js.map +1 -1
  109. package/src/lib/controllers/crypto/gitController.d.ts +70 -0
  110. package/src/lib/controllers/crypto/gitController.d.ts.map +1 -0
  111. package/src/lib/controllers/crypto/gitController.js +306 -0
  112. package/src/lib/controllers/crypto/gitController.js.map +1 -0
  113. package/src/lib/controllers/crypto/index.d.ts +3 -0
  114. package/src/lib/controllers/crypto/index.d.ts.map +1 -0
  115. package/src/lib/controllers/crypto/index.js +6 -0
  116. package/src/lib/controllers/crypto/index.js.map +1 -0
  117. package/src/lib/controllers/crypto/walletController.d.ts +64 -0
  118. package/src/lib/controllers/crypto/walletController.d.ts.map +1 -0
  119. package/src/lib/controllers/crypto/walletController.js +260 -0
  120. package/src/lib/controllers/crypto/walletController.js.map +1 -0
  121. package/src/lib/controllers/identity/deviceController.d.ts +96 -0
  122. package/src/lib/controllers/identity/deviceController.d.ts.map +1 -0
  123. package/src/lib/controllers/identity/deviceController.js +355 -0
  124. package/src/lib/controllers/identity/deviceController.js.map +1 -0
  125. package/src/lib/controllers/identity/directoryController.d.ts +75 -0
  126. package/src/lib/controllers/identity/directoryController.d.ts.map +1 -0
  127. package/src/lib/controllers/identity/directoryController.js +288 -0
  128. package/src/lib/controllers/identity/directoryController.js.map +1 -0
  129. package/src/lib/controllers/identity/identityProofController.d.ts +94 -0
  130. package/src/lib/controllers/identity/identityProofController.d.ts.map +1 -0
  131. package/src/lib/controllers/identity/identityProofController.js +454 -0
  132. package/src/lib/controllers/identity/identityProofController.js.map +1 -0
  133. package/src/lib/controllers/identity/index.d.ts +4 -0
  134. package/src/lib/controllers/identity/index.d.ts.map +1 -0
  135. package/src/lib/controllers/identity/index.js +7 -0
  136. package/src/lib/controllers/identity/index.js.map +1 -0
  137. package/src/lib/controllers/index.d.ts +2 -0
  138. package/src/lib/controllers/index.d.ts.map +1 -1
  139. package/src/lib/controllers/index.js +2 -0
  140. package/src/lib/controllers/index.js.map +1 -1
  141. package/src/lib/encryption/encryptedMetadataService.d.ts +87 -0
  142. package/src/lib/encryption/encryptedMetadataService.d.ts.map +1 -0
  143. package/src/lib/encryption/encryptedMetadataService.js +224 -0
  144. package/src/lib/encryption/encryptedMetadataService.js.map +1 -0
  145. package/src/lib/encryption/encryptionAwareReplication.d.ts +76 -0
  146. package/src/lib/encryption/encryptionAwareReplication.d.ts.map +1 -0
  147. package/src/lib/encryption/encryptionAwareReplication.js +116 -0
  148. package/src/lib/encryption/encryptionAwareReplication.js.map +1 -0
  149. package/src/lib/encryption/errors.d.ts +49 -0
  150. package/src/lib/encryption/errors.d.ts.map +1 -0
  151. package/src/lib/encryption/errors.js +80 -0
  152. package/src/lib/encryption/errors.js.map +1 -0
  153. package/src/lib/encryption/index.d.ts +6 -0
  154. package/src/lib/encryption/index.d.ts.map +1 -0
  155. package/src/lib/encryption/index.js +9 -0
  156. package/src/lib/encryption/index.js.map +1 -0
  157. package/src/lib/encryption/poolEncryptionService.d.ts +94 -0
  158. package/src/lib/encryption/poolEncryptionService.d.ts.map +1 -0
  159. package/src/lib/encryption/poolEncryptionService.js +252 -0
  160. package/src/lib/encryption/poolEncryptionService.js.map +1 -0
  161. package/src/lib/encryption/poolKeyManager.d.ts +82 -0
  162. package/src/lib/encryption/poolKeyManager.d.ts.map +1 -0
  163. package/src/lib/encryption/poolKeyManager.js +156 -0
  164. package/src/lib/encryption/poolKeyManager.js.map +1 -0
  165. package/src/lib/environment.d.ts +3 -0
  166. package/src/lib/environment.d.ts.map +1 -1
  167. package/src/lib/environment.js +5 -0
  168. package/src/lib/environment.js.map +1 -1
  169. package/src/lib/interfaces/environment.d.ts +7 -1
  170. package/src/lib/interfaces/environment.d.ts.map +1 -1
  171. package/src/lib/interfaces/index.d.ts +0 -1
  172. package/src/lib/interfaces/index.d.ts.map +1 -1
  173. package/src/lib/interfaces/requests/getBlockDataRequest.d.ts +12 -0
  174. package/src/lib/interfaces/requests/getBlockDataRequest.d.ts.map +1 -0
  175. package/src/lib/interfaces/{blockStore.js → requests/getBlockDataRequest.js} +1 -1
  176. package/src/lib/interfaces/requests/getBlockDataRequest.js.map +1 -0
  177. package/src/lib/interfaces/requests/index.d.ts +1 -0
  178. package/src/lib/interfaces/requests/index.d.ts.map +1 -1
  179. package/src/lib/routers/api.d.ts +54 -1
  180. package/src/lib/routers/api.d.ts.map +1 -1
  181. package/src/lib/routers/api.js +77 -0
  182. package/src/lib/routers/api.js.map +1 -1
  183. package/src/lib/services/blockStore.d.ts +5 -2
  184. package/src/lib/services/blockStore.d.ts.map +1 -1
  185. package/src/lib/services/blockStore.js +4 -0
  186. package/src/lib/services/blockStore.js.map +1 -1
  187. package/src/lib/services/brightpass/auditLogger.d.ts +77 -0
  188. package/src/lib/services/brightpass/auditLogger.d.ts.map +1 -0
  189. package/src/lib/services/brightpass/auditLogger.js +184 -0
  190. package/src/lib/services/brightpass/auditLogger.js.map +1 -0
  191. package/src/lib/services/brightpass/vaultEncryption.d.ts +82 -0
  192. package/src/lib/services/brightpass/vaultEncryption.d.ts.map +1 -0
  193. package/src/lib/services/brightpass/vaultEncryption.js +144 -0
  194. package/src/lib/services/brightpass/vaultEncryption.js.map +1 -0
  195. package/src/lib/services/brightpass.d.ts +294 -0
  196. package/src/lib/services/brightpass.d.ts.map +1 -0
  197. package/src/lib/services/brightpass.js +1260 -0
  198. package/src/lib/services/brightpass.js.map +1 -0
  199. package/src/lib/services/eventNotificationSystem.d.ts +69 -3
  200. package/src/lib/services/eventNotificationSystem.d.ts.map +1 -1
  201. package/src/lib/services/eventNotificationSystem.js +200 -0
  202. package/src/lib/services/eventNotificationSystem.js.map +1 -1
  203. package/src/lib/services/expirationScheduler.d.ts +90 -0
  204. package/src/lib/services/expirationScheduler.d.ts.map +1 -0
  205. package/src/lib/services/expirationScheduler.js +131 -0
  206. package/src/lib/services/expirationScheduler.js.map +1 -0
  207. package/src/lib/services/fecUsageExample.d.ts +2 -2
  208. package/src/lib/services/index.d.ts +2 -0
  209. package/src/lib/services/index.d.ts.map +1 -1
  210. package/src/lib/services/index.js +2 -0
  211. package/src/lib/services/index.js.map +1 -1
  212. package/src/lib/services/paginationService.d.ts +18 -0
  213. package/src/lib/services/paginationService.d.ts.map +1 -0
  214. package/src/lib/services/paginationService.js +32 -0
  215. package/src/lib/services/paginationService.js.map +1 -0
  216. package/src/lib/services/presenceService.d.ts +76 -0
  217. package/src/lib/services/presenceService.d.ts.map +1 -0
  218. package/src/lib/services/presenceService.js +143 -0
  219. package/src/lib/services/presenceService.js.map +1 -0
  220. package/src/lib/services/wireConversationPromotion.d.ts +23 -0
  221. package/src/lib/services/wireConversationPromotion.d.ts.map +1 -0
  222. package/src/lib/services/wireConversationPromotion.js +26 -0
  223. package/src/lib/services/wireConversationPromotion.js.map +1 -0
  224. package/src/lib/stores/availabilityAwareBlockStore.d.ts +115 -10
  225. package/src/lib/stores/availabilityAwareBlockStore.d.ts.map +1 -1
  226. package/src/lib/stores/availabilityAwareBlockStore.js +267 -23
  227. package/src/lib/stores/availabilityAwareBlockStore.js.map +1 -1
  228. package/src/lib/stores/diskBlockAsyncStore.d.ts +81 -2
  229. package/src/lib/stores/diskBlockAsyncStore.d.ts.map +1 -1
  230. package/src/lib/stores/diskBlockAsyncStore.js +297 -10
  231. package/src/lib/stores/diskBlockAsyncStore.js.map +1 -1
  232. package/src/lib/utils/communicationValidation.d.ts +44 -0
  233. package/src/lib/utils/communicationValidation.d.ts.map +1 -0
  234. package/src/lib/utils/communicationValidation.js +291 -0
  235. package/src/lib/utils/communicationValidation.js.map +1 -0
  236. package/src/lib/utils/emailValidation.d.ts +19 -0
  237. package/src/lib/utils/emailValidation.d.ts.map +1 -0
  238. package/src/lib/utils/emailValidation.js +232 -0
  239. package/src/lib/utils/emailValidation.js.map +1 -0
  240. package/src/lib/interfaces/blockStore.d.ts +0 -7
  241. package/src/lib/interfaces/blockStore.d.ts.map +0 -1
  242. package/src/lib/interfaces/blockStore.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brightpass.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/brightpass.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { AvailabilityState, IMessageMetadata } from '@brightchain/brightchain-lib';
1
+ import { AvailabilityState, CommunicationContextType, CommunicationEvent, CommunicationEventType, IMessageMetadata, PresenceStatus } from '@brightchain/brightchain-lib';
2
2
  import { WebSocket } from 'ws';
3
3
  export declare enum MessageEventType {
4
4
  MESSAGE_STORED = "message:stored",
@@ -14,7 +14,7 @@ export declare enum PartitionEventType {
14
14
  PARTITION_ENTERED = "partition:entered",
15
15
  PARTITION_EXITED = "partition:exited"
16
16
  }
17
- export type EventType = MessageEventType | BlockEventType | PartitionEventType;
17
+ export type EventType = MessageEventType | BlockEventType | PartitionEventType | CommunicationEventType;
18
18
  export interface IMessageEvent {
19
19
  type: MessageEventType;
20
20
  timestamp: Date;
@@ -53,7 +53,7 @@ export interface IPartitionExitedEvent {
53
53
  reconnectedPeers: string[];
54
54
  };
55
55
  }
56
- export type SystemEvent = IMessageEvent | IBlockAvailabilityEvent | IBlockReplicatedEvent | IPartitionEnteredEvent | IPartitionExitedEvent;
56
+ export type SystemEvent = IMessageEvent | IBlockAvailabilityEvent | IBlockReplicatedEvent | IPartitionEnteredEvent | IPartitionExitedEvent | CommunicationEvent;
57
57
  export interface IEventFilter {
58
58
  types?: EventType[];
59
59
  senderId?: string;
@@ -115,6 +115,71 @@ export declare class EventNotificationSystem {
115
115
  * @requirements 5.6
116
116
  */
117
117
  emitPartitionExited(reconnectedPeers: string[]): void;
118
+ /**
119
+ * Emit a message sent event.
120
+ * @requirements 7.1
121
+ */
122
+ emitMessageSent(contextType: CommunicationContextType, contextId: string, messageId: string, senderId: string): void;
123
+ /**
124
+ * Emit a message deleted event.
125
+ * @requirements 7.1
126
+ */
127
+ emitMessageDeleted(contextType: CommunicationContextType, contextId: string, messageId: string, deletedBy: string): void;
128
+ /**
129
+ * Emit a typing indicator event (start or stop).
130
+ * @requirements 7.2
131
+ */
132
+ emitTypingEvent(eventType: CommunicationEventType.TYPING_START | CommunicationEventType.TYPING_STOP, contextType: CommunicationContextType, contextId: string, memberId: string): void;
133
+ /**
134
+ * Emit a presence changed event.
135
+ * @requirements 7.3
136
+ */
137
+ emitPresenceChanged(contextType: CommunicationContextType, contextId: string, memberId: string, status: PresenceStatus): void;
138
+ /**
139
+ * Emit a reaction added or removed event.
140
+ * @requirements 7.5
141
+ */
142
+ emitReactionEvent(eventType: CommunicationEventType.REACTION_ADDED | CommunicationEventType.REACTION_REMOVED, contextType: CommunicationContextType, contextId: string, messageId: string, memberId: string, emoji: string, reactionId: string): void;
143
+ /**
144
+ * Emit a message edited event.
145
+ * @requirements 7.1
146
+ */
147
+ emitMessageEdited(contextType: CommunicationContextType, contextId: string, messageId: string, memberId: string): void;
148
+ /**
149
+ * Emit a message pinned or unpinned event.
150
+ * @requirements 7.1
151
+ */
152
+ emitMessagePinEvent(eventType: CommunicationEventType.MESSAGE_PINNED | CommunicationEventType.MESSAGE_UNPINNED, contextType: CommunicationContextType, contextId: string, messageId: string, memberId: string): void;
153
+ /**
154
+ * Emit a member joined event.
155
+ * @requirements 7.1
156
+ */
157
+ emitMemberJoined(contextType: CommunicationContextType, contextId: string, memberId: string): void;
158
+ /**
159
+ * Emit a member left event.
160
+ * @requirements 7.1
161
+ */
162
+ emitMemberLeft(contextType: CommunicationContextType, contextId: string, memberId: string): void;
163
+ /**
164
+ * Emit a member kicked event.
165
+ * @requirements 7.1
166
+ */
167
+ emitMemberKicked(contextType: CommunicationContextType, contextId: string, memberId: string, kickedBy: string): void;
168
+ /**
169
+ * Emit a member muted event.
170
+ * @requirements 7.1
171
+ */
172
+ emitMemberMuted(contextType: CommunicationContextType, contextId: string, memberId: string, mutedBy: string, durationMs: number): void;
173
+ /**
174
+ * Emit a group created event.
175
+ * @requirements 7.1
176
+ */
177
+ emitGroupCreated(contextId: string, groupId: string, creatorId: string, memberIds: string[]): void;
178
+ /**
179
+ * Emit a channel updated event.
180
+ * @requirements 7.1
181
+ */
182
+ emitChannelUpdated(contextId: string, channelId: string, updatedBy: string): void;
118
183
  /**
119
184
  * Get event history
120
185
  */
@@ -124,5 +189,6 @@ export declare class EventNotificationSystem {
124
189
  private matchesFilter;
125
190
  private isMessageEvent;
126
191
  private isBlockEvent;
192
+ private isCommunicationEvent;
127
193
  }
128
194
  //# sourceMappingURL=eventNotificationSystem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"eventNotificationSystem.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/eventNotificationSystem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eventNotificationSystem.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/eventNotificationSystem.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EventNotificationSystem = exports.PartitionEventType = exports.BlockEventType = exports.MessageEventType = void 0;
4
+ const brightchain_lib_1 = require("@brightchain/brightchain-lib");
4
5
  const ws_1 = require("ws");
5
6
  var MessageEventType;
6
7
  (function (MessageEventType) {
@@ -140,6 +141,202 @@ class EventNotificationSystem {
140
141
  this.addToHistory(event);
141
142
  this.broadcastEvent(event);
142
143
  }
144
+ // ─── Communication event emitters ─────────────────────────────────────
145
+ /**
146
+ * Emit a message sent event.
147
+ * @requirements 7.1
148
+ */
149
+ emitMessageSent(contextType, contextId, messageId, senderId) {
150
+ const event = {
151
+ type: brightchain_lib_1.CommunicationEventType.MESSAGE_SENT,
152
+ timestamp: new Date(),
153
+ contextType,
154
+ contextId,
155
+ data: { messageId, senderId },
156
+ };
157
+ this.addToHistory(event);
158
+ this.broadcastEvent(event);
159
+ }
160
+ /**
161
+ * Emit a message deleted event.
162
+ * @requirements 7.1
163
+ */
164
+ emitMessageDeleted(contextType, contextId, messageId, deletedBy) {
165
+ const event = {
166
+ type: brightchain_lib_1.CommunicationEventType.MESSAGE_DELETED,
167
+ timestamp: new Date(),
168
+ contextType,
169
+ contextId,
170
+ data: { messageId, deletedBy },
171
+ };
172
+ this.addToHistory(event);
173
+ this.broadcastEvent(event);
174
+ }
175
+ /**
176
+ * Emit a typing indicator event (start or stop).
177
+ * @requirements 7.2
178
+ */
179
+ emitTypingEvent(eventType, contextType, contextId, memberId) {
180
+ const event = {
181
+ type: eventType,
182
+ timestamp: new Date(),
183
+ contextType,
184
+ contextId,
185
+ data: { memberId },
186
+ };
187
+ this.addToHistory(event);
188
+ this.broadcastEvent(event);
189
+ }
190
+ /**
191
+ * Emit a presence changed event.
192
+ * @requirements 7.3
193
+ */
194
+ emitPresenceChanged(contextType, contextId, memberId, status) {
195
+ const event = {
196
+ type: brightchain_lib_1.CommunicationEventType.PRESENCE_CHANGED,
197
+ timestamp: new Date(),
198
+ contextType,
199
+ contextId,
200
+ data: { memberId, status },
201
+ };
202
+ this.addToHistory(event);
203
+ this.broadcastEvent(event);
204
+ }
205
+ /**
206
+ * Emit a reaction added or removed event.
207
+ * @requirements 7.5
208
+ */
209
+ emitReactionEvent(eventType, contextType, contextId, messageId, memberId, emoji, reactionId) {
210
+ const event = {
211
+ type: eventType,
212
+ timestamp: new Date(),
213
+ contextType,
214
+ contextId,
215
+ data: { messageId, memberId, emoji, reactionId },
216
+ };
217
+ this.addToHistory(event);
218
+ this.broadcastEvent(event);
219
+ }
220
+ /**
221
+ * Emit a message edited event.
222
+ * @requirements 7.1
223
+ */
224
+ emitMessageEdited(contextType, contextId, messageId, memberId) {
225
+ const event = {
226
+ type: brightchain_lib_1.CommunicationEventType.MESSAGE_EDITED,
227
+ timestamp: new Date(),
228
+ contextType,
229
+ contextId,
230
+ data: { messageId, memberId },
231
+ };
232
+ this.addToHistory(event);
233
+ this.broadcastEvent(event);
234
+ }
235
+ /**
236
+ * Emit a message pinned or unpinned event.
237
+ * @requirements 7.1
238
+ */
239
+ emitMessagePinEvent(eventType, contextType, contextId, messageId, memberId) {
240
+ const event = {
241
+ type: eventType,
242
+ timestamp: new Date(),
243
+ contextType,
244
+ contextId,
245
+ data: { messageId, memberId },
246
+ };
247
+ this.addToHistory(event);
248
+ this.broadcastEvent(event);
249
+ }
250
+ /**
251
+ * Emit a member joined event.
252
+ * @requirements 7.1
253
+ */
254
+ emitMemberJoined(contextType, contextId, memberId) {
255
+ const event = {
256
+ type: brightchain_lib_1.CommunicationEventType.MEMBER_JOINED,
257
+ timestamp: new Date(),
258
+ contextType,
259
+ contextId,
260
+ data: { memberId },
261
+ };
262
+ this.addToHistory(event);
263
+ this.broadcastEvent(event);
264
+ }
265
+ /**
266
+ * Emit a member left event.
267
+ * @requirements 7.1
268
+ */
269
+ emitMemberLeft(contextType, contextId, memberId) {
270
+ const event = {
271
+ type: brightchain_lib_1.CommunicationEventType.MEMBER_LEFT,
272
+ timestamp: new Date(),
273
+ contextType,
274
+ contextId,
275
+ data: { memberId },
276
+ };
277
+ this.addToHistory(event);
278
+ this.broadcastEvent(event);
279
+ }
280
+ /**
281
+ * Emit a member kicked event.
282
+ * @requirements 7.1
283
+ */
284
+ emitMemberKicked(contextType, contextId, memberId, kickedBy) {
285
+ const event = {
286
+ type: brightchain_lib_1.CommunicationEventType.MEMBER_KICKED,
287
+ timestamp: new Date(),
288
+ contextType,
289
+ contextId,
290
+ data: { memberId, kickedBy },
291
+ };
292
+ this.addToHistory(event);
293
+ this.broadcastEvent(event);
294
+ }
295
+ /**
296
+ * Emit a member muted event.
297
+ * @requirements 7.1
298
+ */
299
+ emitMemberMuted(contextType, contextId, memberId, mutedBy, durationMs) {
300
+ const event = {
301
+ type: brightchain_lib_1.CommunicationEventType.MEMBER_MUTED,
302
+ timestamp: new Date(),
303
+ contextType,
304
+ contextId,
305
+ data: { memberId, mutedBy, durationMs },
306
+ };
307
+ this.addToHistory(event);
308
+ this.broadcastEvent(event);
309
+ }
310
+ /**
311
+ * Emit a group created event.
312
+ * @requirements 7.1
313
+ */
314
+ emitGroupCreated(contextId, groupId, creatorId, memberIds) {
315
+ const event = {
316
+ type: brightchain_lib_1.CommunicationEventType.GROUP_CREATED,
317
+ timestamp: new Date(),
318
+ contextType: 'group',
319
+ contextId,
320
+ data: { groupId, creatorId, memberIds },
321
+ };
322
+ this.addToHistory(event);
323
+ this.broadcastEvent(event);
324
+ }
325
+ /**
326
+ * Emit a channel updated event.
327
+ * @requirements 7.1
328
+ */
329
+ emitChannelUpdated(contextId, channelId, updatedBy) {
330
+ const event = {
331
+ type: brightchain_lib_1.CommunicationEventType.CHANNEL_UPDATED,
332
+ timestamp: new Date(),
333
+ contextType: 'channel',
334
+ contextId,
335
+ data: { channelId, updatedBy },
336
+ };
337
+ this.addToHistory(event);
338
+ this.broadcastEvent(event);
339
+ }
143
340
  /**
144
341
  * Get event history
145
342
  */
@@ -195,6 +392,9 @@ class EventNotificationSystem {
195
392
  isBlockEvent(event) {
196
393
  return Object.values(BlockEventType).includes(event.type);
197
394
  }
395
+ isCommunicationEvent(event) {
396
+ return Object.values(brightchain_lib_1.CommunicationEventType).includes(event.type);
397
+ }
198
398
  }
199
399
  exports.EventNotificationSystem = EventNotificationSystem;
200
400
  //# sourceMappingURL=eventNotificationSystem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"eventNotificationSystem.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/eventNotificationSystem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eventNotificationSystem.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/eventNotificationSystem.ts"],"names":[],"mappings":";;;AAAA,kEAOsC;AACtC,2BAA+B;AAE/B,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC1B,qDAAiC,CAAA;IACjC,yDAAqC,CAAA;IACrC,2DAAuC,CAAA;IACvC,qDAAiC,CAAA;AACnC,CAAC,EALW,gBAAgB,gCAAhB,gBAAgB,QAK3B;AAED,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,qEAAmD,CAAA;IACnD,iDAA+B,CAAA;AACjC,CAAC,EAHW,cAAc,8BAAd,cAAc,QAGzB;AAED,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,6DAAuC,CAAA;IACvC,2DAAqC,CAAA;AACvC,CAAC,EAHW,kBAAkB,kCAAlB,kBAAkB,QAG7B;AAkED;;;;;;;;;GASG;AACH,MAAa,uBAAuB;IAApC;QACU,kBAAa,GAAG,IAAI,GAAG,EAA2B,CAAC;QACnD,iBAAY,GAAkB,EAAE,CAAC;QACxB,mBAAc,GAAG,IAAI,CAAC;QACtB,gBAAW,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW;IA4ejE,CAAC;IA1eC;;OAEG;IACH,SAAS,CAAC,EAAa,EAAE,MAAqB;QAC5C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC;QAEzC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAClB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,EAAa;QACvB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,oBAAoB;QAClB,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,EAAa;QACxB,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,IAAsB,EAAE,QAA0B;QACrD,MAAM,KAAK,GAAkB;YAC3B,IAAI;YACJ,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,QAAQ;SACT,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,4BAA4B,CAC1B,OAAe,EACf,QAA2B,EAC3B,QAA2B;QAE3B,MAAM,KAAK,GAA4B;YACrC,IAAI,EAAE,cAAc,CAAC,oBAAoB;YACzC,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,IAAI,EAAE;gBACJ,OAAO;gBACP,QAAQ;gBACR,QAAQ;aACT;SACF,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,mBAAmB,CACjB,OAAe,EACf,YAAoB,EACpB,OAAgB,EAChB,KAAc;QAEd,MAAM,KAAK,GAA0B;YACnC,IAAI,EAAE,cAAc,CAAC,UAAU;YAC/B,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,IAAI,EAAE;gBACJ,OAAO;gBACP,YAAY;gBACZ,OAAO;gBACP,KAAK;aACN;SACF,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,oBAAoB,CAAC,iBAA2B;QAC9C,MAAM,KAAK,GAA2B;YACpC,IAAI,EAAE,kBAAkB,CAAC,iBAAiB;YAC1C,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,IAAI,EAAE;gBACJ,iBAAiB;aAClB;SACF,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,mBAAmB,CAAC,gBAA0B;QAC5C,MAAM,KAAK,GAA0B;YACnC,IAAI,EAAE,kBAAkB,CAAC,gBAAgB;YACzC,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,IAAI,EAAE;gBACJ,gBAAgB;aACjB;SACF,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,yEAAyE;IAEzE;;;OAGG;IACH,eAAe,CACb,WAAqC,EACrC,SAAiB,EACjB,SAAiB,EACjB,QAAgB;QAEhB,MAAM,KAAK,GAAuB;YAChC,IAAI,EAAE,wCAAsB,CAAC,YAAY;YACzC,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,WAAW;YACX,SAAS;YACT,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE;SAC9B,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,kBAAkB,CAChB,WAAqC,EACrC,SAAiB,EACjB,SAAiB,EACjB,SAAiB;QAEjB,MAAM,KAAK,GAAuB;YAChC,IAAI,EAAE,wCAAsB,CAAC,eAAe;YAC5C,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,WAAW;YACX,SAAS;YACT,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE;SAC/B,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,eAAe,CACb,SAEsC,EACtC,WAAqC,EACrC,SAAiB,EACjB,QAAgB;QAEhB,MAAM,KAAK,GAAuB;YAChC,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,WAAW;YACX,SAAS;YACT,IAAI,EAAE,EAAE,QAAQ,EAAE;SACnB,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,mBAAmB,CACjB,WAAqC,EACrC,SAAiB,EACjB,QAAgB,EAChB,MAAsB;QAEtB,MAAM,KAAK,GAAuB;YAChC,IAAI,EAAE,wCAAsB,CAAC,gBAAgB;YAC7C,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,WAAW;YACX,SAAS;YACT,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE;SAC3B,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,iBAAiB,CACf,SAE2C,EAC3C,WAAqC,EACrC,SAAiB,EACjB,SAAiB,EACjB,QAAgB,EAChB,KAAa,EACb,UAAkB;QAElB,MAAM,KAAK,GAAuB;YAChC,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,WAAW;YACX,SAAS;YACT,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE;SACjD,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,iBAAiB,CACf,WAAqC,EACrC,SAAiB,EACjB,SAAiB,EACjB,QAAgB;QAEhB,MAAM,KAAK,GAAuB;YAChC,IAAI,EAAE,wCAAsB,CAAC,cAAc;YAC3C,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,WAAW;YACX,SAAS;YACT,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE;SAC9B,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,mBAAmB,CACjB,SAE2C,EAC3C,WAAqC,EACrC,SAAiB,EACjB,SAAiB,EACjB,QAAgB;QAEhB,MAAM,KAAK,GAAuB;YAChC,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,WAAW;YACX,SAAS;YACT,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE;SAC9B,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,gBAAgB,CACd,WAAqC,EACrC,SAAiB,EACjB,QAAgB;QAEhB,MAAM,KAAK,GAAuB;YAChC,IAAI,EAAE,wCAAsB,CAAC,aAAa;YAC1C,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,WAAW;YACX,SAAS;YACT,IAAI,EAAE,EAAE,QAAQ,EAAE;SACnB,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,cAAc,CACZ,WAAqC,EACrC,SAAiB,EACjB,QAAgB;QAEhB,MAAM,KAAK,GAAuB;YAChC,IAAI,EAAE,wCAAsB,CAAC,WAAW;YACxC,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,WAAW;YACX,SAAS;YACT,IAAI,EAAE,EAAE,QAAQ,EAAE;SACnB,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,gBAAgB,CACd,WAAqC,EACrC,SAAiB,EACjB,QAAgB,EAChB,QAAgB;QAEhB,MAAM,KAAK,GAAuB;YAChC,IAAI,EAAE,wCAAsB,CAAC,aAAa;YAC1C,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,WAAW;YACX,SAAS;YACT,IAAI,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE;SAC7B,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,eAAe,CACb,WAAqC,EACrC,SAAiB,EACjB,QAAgB,EAChB,OAAe,EACf,UAAkB;QAElB,MAAM,KAAK,GAAuB;YAChC,IAAI,EAAE,wCAAsB,CAAC,YAAY;YACzC,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,WAAW;YACX,SAAS;YACT,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE;SACxC,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,gBAAgB,CACd,SAAiB,EACjB,OAAe,EACf,SAAiB,EACjB,SAAmB;QAEnB,MAAM,KAAK,GAAuB;YAChC,IAAI,EAAE,wCAAsB,CAAC,aAAa;YAC1C,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,WAAW,EAAE,OAAO;YACpB,SAAS;YACT,IAAI,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE;SACxC,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,kBAAkB,CAChB,SAAiB,EACjB,SAAiB,EACjB,SAAiB;QAEjB,MAAM,KAAK,GAAuB;YAChC,IAAI,EAAE,wCAAsB,CAAC,eAAe;YAC5C,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,WAAW,EAAE,SAAS;YACtB,SAAS;YACT,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE;SAC/B,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,MAAqB,EAAE,KAAK,GAAG,GAAG;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;QAC7C,OAAO,IAAI,CAAC,YAAY;aACrB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC;aAC7C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;aACvD,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;IAEO,YAAY,CAAC,KAAkB;QACrC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YACnD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC;IAEO,cAAc,CAAC,KAAkB;QACvC,KAAK,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC;YACxD,IACE,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC;gBACjC,EAAE,CAAC,UAAU,KAAK,cAAS,CAAC,IAAI,EAChC,CAAC;gBACD,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,KAAkB,EAAE,MAAoB;QAC5D,0BAA0B;QAC1B,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAiB,CAAC,EAAE,CAAC;gBACpD,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,qDAAqD;QACrD,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,IAAI,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACnE,OAAO,KAAK,CAAC;YACf,CAAC;YACD,IACE,MAAM,CAAC,WAAW;gBAClB,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,EACxD,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,kCAAkC;QAClC,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC5D,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,cAAc,CAAC,KAAkB;QACvC,OAAO,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAC7C,KAAK,CAAC,IAAwB,CAC/B,CAAC;IACJ,CAAC;IAEO,YAAY,CAClB,KAAkB;QAElB,OAAO,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAsB,CAAC,CAAC;IAC9E,CAAC;IAEO,oBAAoB,CAC1B,KAAkB;QAElB,OAAO,MAAM,CAAC,MAAM,CAAC,wCAAsB,CAAC,CAAC,QAAQ,CACnD,KAAK,CAAC,IAA8B,CACrC,CAAC;IACJ,CAAC;CACF;AAhfD,0DAgfC"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * ExpirationScheduler — Background job for cleaning up expired messages.
3
+ *
4
+ * Periodically scans messages for time-based and read-count-based
5
+ * expiration, explodes expired messages, and emits events for
6
+ * downstream consumers (e.g., WebSocket notifications).
7
+ *
8
+ * This is a Node.js-specific service that lives in brightchain-api-lib.
9
+ *
10
+ * Requirements: 8.4, 8.6, 8.9
11
+ */
12
+ import { ICommunicationMessage } from '@brightchain/brightchain-lib/lib/interfaces/communication';
13
+ import { IExplodingMessageEvent } from '@brightchain/brightchain-lib/lib/services/communication/explodingMessageService';
14
+ import { EventEmitter } from 'events';
15
+ /**
16
+ * Function that returns all messages that may have expiration settings.
17
+ * The scheduler calls this on each tick to get the current message set.
18
+ */
19
+ export type MessageProvider = () => ICommunicationMessage[] | Promise<ICommunicationMessage[]>;
20
+ /**
21
+ * Configuration for the expiration scheduler.
22
+ */
23
+ export interface IExpirationSchedulerConfig {
24
+ /** Interval between cleanup runs in milliseconds (default: 10_000) */
25
+ intervalMs?: number;
26
+ /** Whether to auto-explode messages or just emit events (default: true) */
27
+ autoExplode?: boolean;
28
+ }
29
+ export declare enum ExpirationSchedulerEvent {
30
+ /** Emitted when a message is exploded by the scheduler */
31
+ MESSAGE_EXPLODED = "scheduler:message_exploded",
32
+ /** Emitted when a batch of expired messages is found */
33
+ BATCH_EXPIRED = "scheduler:batch_expired",
34
+ /** Emitted when the scheduler encounters an error */
35
+ ERROR = "scheduler:error",
36
+ /** Emitted when the scheduler starts */
37
+ STARTED = "scheduler:started",
38
+ /** Emitted when the scheduler stops */
39
+ STOPPED = "scheduler:stopped"
40
+ }
41
+ /**
42
+ * Background scheduler that periodically checks for and cleans up
43
+ * expired exploding messages.
44
+ *
45
+ * @example
46
+ * ```typescript
47
+ * const scheduler = new ExpirationScheduler(
48
+ * () => messageStore.getAllExplodingMessages(),
49
+ * { intervalMs: 5000 },
50
+ * );
51
+ *
52
+ * scheduler.on(ExpirationSchedulerEvent.MESSAGE_EXPLODED, (event) => {
53
+ * console.log(`Message ${event.messageId} exploded`);
54
+ * });
55
+ *
56
+ * scheduler.start();
57
+ * // ... later
58
+ * scheduler.stop();
59
+ * ```
60
+ */
61
+ export declare class ExpirationScheduler extends EventEmitter {
62
+ private readonly messageProvider;
63
+ private readonly intervalMs;
64
+ private readonly autoExplode;
65
+ private timer;
66
+ private running;
67
+ constructor(messageProvider: MessageProvider, config?: IExpirationSchedulerConfig);
68
+ /**
69
+ * Start the scheduler. Begins periodic cleanup runs.
70
+ *
71
+ * @throws {Error} If the scheduler is already running
72
+ */
73
+ start(): void;
74
+ /**
75
+ * Stop the scheduler. Cancels the periodic cleanup timer.
76
+ */
77
+ stop(): void;
78
+ /**
79
+ * Whether the scheduler is currently running.
80
+ */
81
+ get isRunning(): boolean;
82
+ /**
83
+ * Run a single cleanup tick manually.
84
+ * Useful for testing or on-demand cleanup.
85
+ *
86
+ * @returns The events generated during this tick
87
+ */
88
+ tick(): Promise<IExplodingMessageEvent[]>;
89
+ }
90
+ //# sourceMappingURL=expirationScheduler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expirationScheduler.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/expirationScheduler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,2DAA2D,CAAC;AAClG,OAAO,EAEL,sBAAsB,EACvB,MAAM,iFAAiF,CAAC;AACzF,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAItC;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,MAC1B,qBAAqB,EAAE,GACvB,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,2EAA2E;IAC3E,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAID,oBAAY,wBAAwB;IAClC,0DAA0D;IAC1D,gBAAgB,+BAA+B;IAE/C,wDAAwD;IACxD,aAAa,4BAA4B;IAEzC,qDAAqD;IACrD,KAAK,oBAAoB;IAEzB,wCAAwC;IACxC,OAAO,sBAAsB;IAE7B,uCAAuC;IACvC,OAAO,sBAAsB;CAC9B;AAID;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,mBAAoB,SAAQ,YAAY;IACnD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAU;IACtC,OAAO,CAAC,KAAK,CAA+C;IAC5D,OAAO,CAAC,OAAO,CAAS;gBAGtB,eAAe,EAAE,eAAe,EAChC,MAAM,GAAE,0BAA+B;IAQzC;;;;OAIG;IACH,KAAK,IAAI,IAAI;IAab;;OAEG;IACH,IAAI,IAAI,IAAI;IASZ;;OAEG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;;;;OAKG;IACG,IAAI,IAAI,OAAO,CAAC,sBAAsB,EAAE,CAAC;CAkChD"}