@brightchain/brightchain-lib 0.29.27 → 0.30.1

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 (126) hide show
  1. package/package.json +2 -2
  2. package/src/lib/constants.d.ts +3 -26
  3. package/src/lib/constants.d.ts.map +1 -1
  4. package/src/lib/constants.js +2 -1
  5. package/src/lib/constants.js.map +1 -1
  6. package/src/lib/db/collection.d.ts +1 -1
  7. package/src/lib/db/collection.d.ts.map +1 -1
  8. package/src/lib/db/collection.js +2 -1
  9. package/src/lib/db/collection.js.map +1 -1
  10. package/src/lib/enumerations/brightChainStrings.d.ts +18 -0
  11. package/src/lib/enumerations/brightChainStrings.d.ts.map +1 -1
  12. package/src/lib/enumerations/brightChainStrings.js +20 -0
  13. package/src/lib/enumerations/brightChainStrings.js.map +1 -1
  14. package/src/lib/enumerations/friendRequestStatus.d.ts +7 -0
  15. package/src/lib/enumerations/friendRequestStatus.d.ts.map +1 -0
  16. package/src/lib/enumerations/friendRequestStatus.js +11 -0
  17. package/src/lib/enumerations/friendRequestStatus.js.map +1 -0
  18. package/src/lib/enumerations/friendsErrorCode.d.ts +10 -0
  19. package/src/lib/enumerations/friendsErrorCode.d.ts.map +1 -0
  20. package/src/lib/enumerations/friendsErrorCode.js +14 -0
  21. package/src/lib/enumerations/friendsErrorCode.js.map +1 -0
  22. package/src/lib/enumerations/friendshipStatus.d.ts +7 -0
  23. package/src/lib/enumerations/friendshipStatus.d.ts.map +1 -0
  24. package/src/lib/enumerations/friendshipStatus.js +11 -0
  25. package/src/lib/enumerations/friendshipStatus.js.map +1 -0
  26. package/src/lib/enumerations/index.d.ts +3 -0
  27. package/src/lib/enumerations/index.d.ts.map +1 -1
  28. package/src/lib/enumerations/index.js +4 -0
  29. package/src/lib/enumerations/index.js.map +1 -1
  30. package/src/lib/errors/friendsServiceError.d.ts +20 -0
  31. package/src/lib/errors/friendsServiceError.d.ts.map +1 -0
  32. package/src/lib/errors/friendsServiceError.js +48 -0
  33. package/src/lib/errors/friendsServiceError.js.map +1 -0
  34. package/src/lib/errors/index.d.ts +5 -0
  35. package/src/lib/errors/index.d.ts.map +1 -1
  36. package/src/lib/errors/index.js +8 -0
  37. package/src/lib/errors/index.js.map +1 -1
  38. package/src/lib/i18n/strings/englishUs.d.ts.map +1 -1
  39. package/src/lib/i18n/strings/englishUs.js +20 -0
  40. package/src/lib/i18n/strings/englishUs.js.map +1 -1
  41. package/src/lib/i18n/strings/french.d.ts.map +1 -1
  42. package/src/lib/i18n/strings/french.js +20 -0
  43. package/src/lib/i18n/strings/french.js.map +1 -1
  44. package/src/lib/i18n/strings/german.d.ts.map +1 -1
  45. package/src/lib/i18n/strings/german.js +20 -0
  46. package/src/lib/i18n/strings/german.js.map +1 -1
  47. package/src/lib/i18n/strings/japanese.d.ts.map +1 -1
  48. package/src/lib/i18n/strings/japanese.js +20 -0
  49. package/src/lib/i18n/strings/japanese.js.map +1 -1
  50. package/src/lib/i18n/strings/mandarin.d.ts.map +1 -1
  51. package/src/lib/i18n/strings/mandarin.js +20 -0
  52. package/src/lib/i18n/strings/mandarin.js.map +1 -1
  53. package/src/lib/i18n/strings/spanish.d.ts.map +1 -1
  54. package/src/lib/i18n/strings/spanish.js +20 -0
  55. package/src/lib/i18n/strings/spanish.js.map +1 -1
  56. package/src/lib/i18n/strings/ukrainian.d.ts.map +1 -1
  57. package/src/lib/i18n/strings/ukrainian.js +20 -0
  58. package/src/lib/i18n/strings/ukrainian.js.map +1 -1
  59. package/src/lib/interfaces/appSubsystemPlugin.d.ts +69 -0
  60. package/src/lib/interfaces/appSubsystemPlugin.d.ts.map +1 -0
  61. package/src/lib/interfaces/appSubsystemPlugin.js +3 -0
  62. package/src/lib/interfaces/appSubsystemPlugin.js.map +1 -0
  63. package/src/lib/interfaces/communication.d.ts +2 -0
  64. package/src/lib/interfaces/communication.d.ts.map +1 -1
  65. package/src/lib/interfaces/constants.d.ts +2 -0
  66. package/src/lib/interfaces/constants.d.ts.map +1 -1
  67. package/src/lib/interfaces/friends/baseFriendRequest.d.ts +13 -0
  68. package/src/lib/interfaces/friends/baseFriendRequest.d.ts.map +1 -0
  69. package/src/lib/interfaces/friends/baseFriendRequest.js +3 -0
  70. package/src/lib/interfaces/friends/baseFriendRequest.js.map +1 -0
  71. package/src/lib/interfaces/friends/baseFriendship.d.ts +11 -0
  72. package/src/lib/interfaces/friends/baseFriendship.d.ts.map +1 -0
  73. package/src/lib/interfaces/friends/baseFriendship.js +3 -0
  74. package/src/lib/interfaces/friends/baseFriendship.js.map +1 -0
  75. package/src/lib/interfaces/friends/friendsService.d.ts +32 -0
  76. package/src/lib/interfaces/friends/friendsService.d.ts.map +1 -0
  77. package/src/lib/interfaces/friends/friendsService.js +3 -0
  78. package/src/lib/interfaces/friends/friendsService.js.map +1 -0
  79. package/src/lib/interfaces/friends/friendsSuggestionProvider.d.ts +17 -0
  80. package/src/lib/interfaces/friends/friendsSuggestionProvider.d.ts.map +1 -0
  81. package/src/lib/interfaces/friends/friendsSuggestionProvider.js +3 -0
  82. package/src/lib/interfaces/friends/friendsSuggestionProvider.js.map +1 -0
  83. package/src/lib/interfaces/friends/index.d.ts +6 -0
  84. package/src/lib/interfaces/friends/index.d.ts.map +1 -0
  85. package/src/lib/interfaces/friends/index.js +3 -0
  86. package/src/lib/interfaces/friends/index.js.map +1 -0
  87. package/src/lib/interfaces/friends/pagination.d.ts +11 -0
  88. package/src/lib/interfaces/friends/pagination.d.ts.map +1 -0
  89. package/src/lib/interfaces/friends/pagination.js +3 -0
  90. package/src/lib/interfaces/friends/pagination.js.map +1 -0
  91. package/src/lib/interfaces/index.d.ts +2 -0
  92. package/src/lib/interfaces/index.d.ts.map +1 -1
  93. package/src/lib/interfaces/storage/documentTypes.d.ts +4 -0
  94. package/src/lib/interfaces/storage/documentTypes.d.ts.map +1 -1
  95. package/src/lib/services/communication/channelService.d.ts +16 -2
  96. package/src/lib/services/communication/channelService.d.ts.map +1 -1
  97. package/src/lib/services/communication/channelService.js +78 -13
  98. package/src/lib/services/communication/channelService.js.map +1 -1
  99. package/src/lib/services/communication/conversationService.d.ts.map +1 -1
  100. package/src/lib/services/communication/conversationService.js +32 -2
  101. package/src/lib/services/communication/conversationService.js.map +1 -1
  102. package/src/lib/services/communication/groupService.d.ts.map +1 -1
  103. package/src/lib/services/communication/groupService.js +28 -2
  104. package/src/lib/services/communication/groupService.js.map +1 -1
  105. package/src/lib/services/communication/serverService.js +4 -6
  106. package/src/lib/services/communication/serverService.js.map +1 -1
  107. package/src/lib/services/copyOnWrite.service.d.ts +110 -0
  108. package/src/lib/services/copyOnWrite.service.d.ts.map +1 -0
  109. package/src/lib/services/copyOnWrite.service.js +256 -0
  110. package/src/lib/services/copyOnWrite.service.js.map +1 -0
  111. package/src/lib/services/index.d.ts +1 -0
  112. package/src/lib/services/index.d.ts.map +1 -1
  113. package/src/lib/services/index.js +1 -0
  114. package/src/lib/services/index.js.map +1 -1
  115. package/src/lib/services/memberStore.d.ts +7 -1
  116. package/src/lib/services/memberStore.d.ts.map +1 -1
  117. package/src/lib/services/memberStore.js +57 -1
  118. package/src/lib/services/memberStore.js.map +1 -1
  119. package/src/lib/utils/index.d.ts +6 -0
  120. package/src/lib/utils/index.d.ts.map +1 -1
  121. package/src/lib/utils/index.js +9 -0
  122. package/src/lib/utils/index.js.map +1 -1
  123. package/src/lib/utils/sortPair.d.ts +6 -0
  124. package/src/lib/utils/sortPair.d.ts.map +1 -0
  125. package/src/lib/utils/sortPair.js +11 -0
  126. package/src/lib/utils/sortPair.js.map +1 -0
@@ -0,0 +1,13 @@
1
+ import { FriendRequestStatus } from '../../enumerations/friendRequestStatus';
2
+ /**
3
+ * Represents a directional friend request from one member to another.
4
+ */
5
+ export interface IBaseFriendRequest<TId> {
6
+ _id: TId;
7
+ requesterId: TId;
8
+ recipientId: TId;
9
+ message?: string;
10
+ status: FriendRequestStatus;
11
+ createdAt: TId extends string ? string : Date;
12
+ }
13
+ //# sourceMappingURL=baseFriendRequest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseFriendRequest.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/friends/baseFriendRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAE7E;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,GAAG;IACrC,GAAG,EAAE,GAAG,CAAC;IACT,WAAW,EAAE,GAAG,CAAC;IACjB,WAAW,EAAE,GAAG,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,SAAS,EAAE,GAAG,SAAS,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CAC/C"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=baseFriendRequest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseFriendRequest.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/friends/baseFriendRequest.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Represents a symmetric friendship between two members.
3
+ * `memberIdA` is always the lexicographically smaller ID.
4
+ */
5
+ export interface IBaseFriendship<TId> {
6
+ _id: TId;
7
+ memberIdA: TId;
8
+ memberIdB: TId;
9
+ createdAt: TId extends string ? string : Date;
10
+ }
11
+ //# sourceMappingURL=baseFriendship.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseFriendship.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/friends/baseFriendship.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,eAAe,CAAC,GAAG;IAClC,GAAG,EAAE,GAAG,CAAC;IACT,SAAS,EAAE,GAAG,CAAC;IACf,SAAS,EAAE,GAAG,CAAC;IACf,SAAS,EAAE,GAAG,SAAS,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CAC/C"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=baseFriendship.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseFriendship.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/friends/baseFriendship.ts"],"names":[],"mappings":""}
@@ -0,0 +1,32 @@
1
+ import { FriendshipStatus } from '../../enumerations/friendshipStatus';
2
+ import { IBaseFriendRequest } from './baseFriendRequest';
3
+ import { IBaseFriendship } from './baseFriendship';
4
+ import { IPaginatedResult, IPaginationOptions } from './pagination';
5
+ /**
6
+ * Result of a send-friend-request operation.
7
+ */
8
+ export interface IFriendRequestResult {
9
+ success: boolean;
10
+ autoAccepted?: boolean;
11
+ friendship?: IBaseFriendship<string>;
12
+ friendRequest?: IBaseFriendRequest<string>;
13
+ error?: string;
14
+ }
15
+ /**
16
+ * Platform-agnostic Friends service contract consumed by all dApps.
17
+ */
18
+ export interface IFriendsService {
19
+ sendFriendRequest(requesterId: string, recipientId: string, message?: string): Promise<IFriendRequestResult>;
20
+ acceptFriendRequest(userId: string, requestId: string): Promise<void>;
21
+ rejectFriendRequest(userId: string, requestId: string): Promise<void>;
22
+ cancelFriendRequest(userId: string, requestId: string): Promise<void>;
23
+ removeFriend(userId: string, friendId: string): Promise<void>;
24
+ getFriends(userId: string, options?: IPaginationOptions): Promise<IPaginatedResult<IBaseFriendship<string>>>;
25
+ getReceivedFriendRequests(userId: string, options?: IPaginationOptions): Promise<IPaginatedResult<IBaseFriendRequest<string>>>;
26
+ getSentFriendRequests(userId: string, options?: IPaginationOptions): Promise<IPaginatedResult<IBaseFriendRequest<string>>>;
27
+ getFriendshipStatus(userId: string, otherUserId: string): Promise<FriendshipStatus>;
28
+ areFriends(userIdA: string, userIdB: string): Promise<boolean>;
29
+ getMutualFriends(userId: string, otherUserId: string, options?: IPaginationOptions): Promise<IPaginatedResult<IBaseFriendship<string>>>;
30
+ onUserBlocked(blockerId: string, blockedId: string): Promise<void>;
31
+ }
32
+ //# sourceMappingURL=friendsService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"friendsService.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/friends/friendsService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEpE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IACrC,aAAa,CAAC,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAE9B,iBAAiB,CACf,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAEjC,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAGtE,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAG9D,UAAU,CACR,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAEtD,yBAAyB,CACvB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAEzD,qBAAqB,CACnB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAEzD,mBAAmB,CACjB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE7B,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE/D,gBAAgB,CACd,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAGtD,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpE"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=friendsService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"friendsService.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/friends/friendsService.ts"],"names":[],"mappings":""}
@@ -0,0 +1,17 @@
1
+ import { IBaseFriendship } from './baseFriendship';
2
+ import { IPaginatedResult, IPaginationOptions } from './pagination';
3
+ /**
4
+ * Provides friend suggestions for recipient/attendee pickers across dApps.
5
+ * Wraps IFriendsService.getFriends() with search filtering.
6
+ */
7
+ export interface IFriendsSuggestionProvider {
8
+ /**
9
+ * Get friends for display in a suggestion picker.
10
+ * @param userId The member requesting suggestions
11
+ * @param searchQuery Optional search string to filter by displayName/username
12
+ * @param options Pagination options
13
+ * @returns Paginated friends matching the query (or all friends if no query)
14
+ */
15
+ getFriendSuggestions(userId: string, searchQuery?: string, options?: IPaginationOptions): Promise<IPaginatedResult<IBaseFriendship<string>>>;
16
+ }
17
+ //# sourceMappingURL=friendsSuggestionProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"friendsSuggestionProvider.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/friends/friendsSuggestionProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEpE;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;;;;OAMG;IACH,oBAAoB,CAClB,MAAM,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;CACvD"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=friendsSuggestionProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"friendsSuggestionProvider.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/friends/friendsSuggestionProvider.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ export type * from './baseFriendRequest';
2
+ export type * from './baseFriendship';
3
+ export type * from './friendsService';
4
+ export type * from './friendsSuggestionProvider';
5
+ export type * from './pagination';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/friends/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,qBAAqB,CAAC;AACzC,mBAAmB,kBAAkB,CAAC;AACtC,mBAAmB,kBAAkB,CAAC;AACtC,mBAAmB,6BAA6B,CAAC;AACjD,mBAAmB,cAAc,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/friends/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Options for cursor-based pagination.
3
+ */
4
+ export interface IPaginationOptions {
5
+ /** Cursor for pagination */
6
+ cursor?: string;
7
+ /** Maximum number of items to return */
8
+ limit?: number;
9
+ }
10
+ export type { IPaginatedResult } from '../communication';
11
+ //# sourceMappingURL=pagination.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/friends/pagination.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAID,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=pagination.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/friends/pagination.ts"],"names":[],"mappings":""}
@@ -87,4 +87,6 @@ export type * from './vote';
87
87
  export * from './api';
88
88
  export type * from './tcbl';
89
89
  export type * from './ledger';
90
+ export type * from './friends';
91
+ export type * from './appSubsystemPlugin';
90
92
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/interfaces/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/interfaces/index.ts"],"names":[],"mappings":"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"}
@@ -69,12 +69,16 @@ export interface IMinimalCollection<T extends BsonDocument = BsonDocument> {
69
69
  toArray(): Promise<T[]>;
70
70
  };
71
71
  insertOne(doc: T): Promise<unknown>;
72
+ updateOne(filter: Partial<T>, update: Record<string, unknown>): Promise<unknown>;
73
+ deleteOne(filter: Partial<T>): Promise<unknown>;
72
74
  }
73
75
  /**
74
76
  * Minimal database interface used by MemberStore for DB-backed queries.
75
77
  * Implemented by BrightDb (structural compatibility — no import needed).
76
78
  */
77
79
  export interface IMemberStoreDb {
80
+ /** Database name (pool name). */
81
+ readonly name: string;
78
82
  collection<T extends BsonDocument = BsonDocument>(name: string): IMinimalCollection<T>;
79
83
  }
80
84
  //# sourceMappingURL=documentTypes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"documentTypes.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/storage/documentTypes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,qCAAqC;AACrC,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;AAEhC,wEAAwE;AACxE,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,UAAU,CAAA;CAAE,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,oBAAoB;IACpB,IAAI,CAAC,EACD,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,OAAO,GACP,MAAM,GACN,MAAM,GACN,KAAK,GACL,mBAAmB,GACnB,mBAAmB,GACnB,KAAK,CACD,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,OAAO,GACP,MAAM,GACN,MAAM,GACN,KAAK,GACL,mBAAmB,GACnB,mBAAmB,CACtB,CAAC;IACN,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qBAAqB;IACrB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IACjB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACzC,uCAAuC;IACvC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,6BAA6B;IAC7B,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,wCAAwC;IACxC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sDAAsD;IACtD,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,iCAAiC;IACjC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,GAAG,MAAM,CAAC;IAChD,+EAA+E;IAC/E,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY;IACvE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC/C,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG;QAAE,OAAO,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA;KAAE,CAAC;IACtD,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACrC;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY,EAC9C,IAAI,EAAE,MAAM,GACX,kBAAkB,CAAC,CAAC,CAAC,CAAC;CAC1B"}
1
+ {"version":3,"file":"documentTypes.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/storage/documentTypes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,qCAAqC;AACrC,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;AAEhC,wEAAwE;AACxE,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,UAAU,CAAA;CAAE,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,oBAAoB;IACpB,IAAI,CAAC,EACD,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,OAAO,GACP,MAAM,GACN,MAAM,GACN,KAAK,GACL,mBAAmB,GACnB,mBAAmB,GACnB,KAAK,CACD,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,OAAO,GACP,MAAM,GACN,MAAM,GACN,KAAK,GACL,mBAAmB,GACnB,mBAAmB,CACtB,CAAC;IACN,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qBAAqB;IACrB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IACjB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACzC,uCAAuC;IACvC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,6BAA6B;IAC7B,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,wCAAwC;IACxC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sDAAsD;IACtD,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,iCAAiC;IACjC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,GAAG,MAAM,CAAC;IAChD,+EAA+E;IAC/E,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY;IACvE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC/C,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG;QAAE,OAAO,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA;KAAE,CAAC;IACtD,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACpC,SAAS,CACP,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACjD;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,iCAAiC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY,EAC9C,IAAI,EAAE,MAAM,GACX,kBAAkB,CAAC,CAAC,CAAC,CAAC;CAC1B"}
@@ -81,8 +81,14 @@ export declare class ChannelService {
81
81
  private readonly keyEpochStates;
82
82
  /** token string → IInviteToken */
83
83
  private readonly inviteTokens;
84
- /** channel name (lowercase) → channelId for uniqueness */
84
+ /**
85
+ * Per-server channel name uniqueness index.
86
+ * Outer key = serverId (or '__standalone__' for channels without a server).
87
+ * Inner key = normalized channel name → channelId.
88
+ */
85
89
  private readonly nameIndex;
90
+ /** Sentinel key for channels that don't belong to any server. */
91
+ private static readonly STANDALONE_KEY;
86
92
  /** Whether init() has already been called (idempotency guard). */
87
93
  private initialized;
88
94
  private readonly permissionService;
@@ -159,6 +165,14 @@ export declare class ChannelService {
159
165
  */
160
166
  private assertEpochExists;
161
167
  private normalizeChannelName;
168
+ /** Get the nameIndex scope key for a channel's server (or standalone). */
169
+ private nameScope;
170
+ /** Check if a channel name is taken within a given server scope. */
171
+ private isNameTaken;
172
+ /** Register a channel name in the scoped index. */
173
+ private registerName;
174
+ /** Remove a channel name from the scoped index. */
175
+ private unregisterName;
162
176
  /**
163
177
  * Create a new channel.
164
178
  * Generates a shared symmetric key and encrypts it for the creator.
@@ -167,7 +181,7 @@ export declare class ChannelService {
167
181
  *
168
182
  * Requirements: 10.3, 1.3, 2.1, 9.1
169
183
  */
170
- createChannel(name: string, creatorId: string, visibility: ChannelVisibility, topic?: string): Promise<IChannel>;
184
+ createChannel(name: string, creatorId: string, visibility: ChannelVisibility, topic?: string, serverId?: string): Promise<IChannel>;
171
185
  /**
172
186
  * List channels visible to a member.
173
187
  * Returns public channels, plus private/secret/invisible channels
@@ -1 +1 @@
1
- {"version":3,"file":"channelService.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/services/communication/channelService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channelService.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/services/communication/channelService.ts"],"names":[],"mappings":"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"}
@@ -151,8 +151,14 @@ class ChannelService {
151
151
  keyEpochStates = new Map();
152
152
  /** token string → IInviteToken */
153
153
  inviteTokens = new Map();
154
- /** channel name (lowercase) → channelId for uniqueness */
154
+ /**
155
+ * Per-server channel name uniqueness index.
156
+ * Outer key = serverId (or '__standalone__' for channels without a server).
157
+ * Inner key = normalized channel name → channelId.
158
+ */
155
159
  nameIndex = new Map();
160
+ /** Sentinel key for channels that don't belong to any server. */
161
+ static STANDALONE_KEY = '__standalone__';
156
162
  /** Whether init() has already been called (idempotency guard). */
157
163
  initialized = false;
158
164
  permissionService;
@@ -210,8 +216,8 @@ class ChannelService {
210
216
  }
211
217
  for (const channel of loadedChannels) {
212
218
  this.channels.set(channel.id, channel);
213
- // Rebuild name index
214
- this.nameIndex.set(channel.name.toLowerCase(), channel.id);
219
+ // Rebuild name index (scoped by serverId)
220
+ this.registerName(this.nameScope(channel.serverId), channel.name.toLowerCase(), channel.id);
215
221
  // Reconstruct key epoch state
216
222
  const epochState = (0, rehydrationHelpers_1.reconstructKeyEpochState)(channel.encryptedSharedKey);
217
223
  if (epochState) {
@@ -377,6 +383,37 @@ class ChannelService {
377
383
  normalizeChannelName(name) {
378
384
  return name.toLowerCase().replace(/\s+/g, '-');
379
385
  }
386
+ /** Get the nameIndex scope key for a channel's server (or standalone). */
387
+ nameScope(serverId) {
388
+ return serverId ?? ChannelService.STANDALONE_KEY;
389
+ }
390
+ /** Check if a channel name is taken within a given server scope. */
391
+ isNameTaken(scope, normalized, excludeChannelId) {
392
+ const scopeMap = this.nameIndex.get(scope);
393
+ if (!scopeMap)
394
+ return false;
395
+ const existingId = scopeMap.get(normalized);
396
+ return !!existingId && existingId !== excludeChannelId;
397
+ }
398
+ /** Register a channel name in the scoped index. */
399
+ registerName(scope, normalized, channelId) {
400
+ let scopeMap = this.nameIndex.get(scope);
401
+ if (!scopeMap) {
402
+ scopeMap = new Map();
403
+ this.nameIndex.set(scope, scopeMap);
404
+ }
405
+ scopeMap.set(normalized, channelId);
406
+ }
407
+ /** Remove a channel name from the scoped index. */
408
+ unregisterName(scope, normalized) {
409
+ const scopeMap = this.nameIndex.get(scope);
410
+ if (scopeMap) {
411
+ scopeMap.delete(normalized);
412
+ if (scopeMap.size === 0) {
413
+ this.nameIndex.delete(scope);
414
+ }
415
+ }
416
+ }
380
417
  // ─── Channel lifecycle ──────────────────────────────────────────────────
381
418
  /**
382
419
  * Create a new channel.
@@ -386,9 +423,10 @@ class ChannelService {
386
423
  *
387
424
  * Requirements: 10.3, 1.3, 2.1, 9.1
388
425
  */
389
- async createChannel(name, creatorId, visibility, topic = '') {
426
+ async createChannel(name, creatorId, visibility, topic = '', serverId) {
390
427
  const normalized = this.normalizeChannelName(name);
391
- if (this.nameIndex.has(normalized)) {
428
+ const scope = this.nameScope(serverId);
429
+ if (this.isNameTaken(scope, normalized)) {
392
430
  throw new ChannelNameConflictError(name);
393
431
  }
394
432
  const now = new Date();
@@ -415,11 +453,12 @@ class ChannelService {
415
453
  lastMessageAt: now,
416
454
  pinnedMessageIds: [],
417
455
  historyVisibleToNewMembers: true,
456
+ serverId,
418
457
  };
419
458
  this.channels.set(channelId, channel);
420
459
  this.messages.set(channelId, []);
421
460
  this.keyEpochStates.set(channelId, epochState);
422
- this.nameIndex.set(normalized, channelId);
461
+ this.registerName(scope, normalized, channelId);
423
462
  this.permissionService.assignRole(creatorId, channelId, communication_1.DefaultRole.OWNER);
424
463
  // Persist to storage provider if available
425
464
  if (this.channelCollection) {
@@ -463,13 +502,13 @@ class ChannelService {
463
502
  this.assertPermission(requesterId, channelId, communication_1.Permission.MANAGE_CHANNEL);
464
503
  if (updates.name !== undefined) {
465
504
  const normalized = this.normalizeChannelName(updates.name);
466
- const existingId = this.nameIndex.get(normalized);
467
- if (existingId && existingId !== channelId) {
505
+ const scope = this.nameScope(channel.serverId);
506
+ if (this.isNameTaken(scope, normalized, channelId)) {
468
507
  throw new ChannelNameConflictError(updates.name);
469
508
  }
470
- this.nameIndex.delete(channel.name);
509
+ this.unregisterName(scope, channel.name);
471
510
  channel.name = normalized;
472
- this.nameIndex.set(normalized, channelId);
511
+ this.registerName(scope, normalized, channelId);
473
512
  }
474
513
  if (updates.topic !== undefined) {
475
514
  channel.topic = updates.topic;
@@ -494,7 +533,7 @@ class ChannelService {
494
533
  const channel = this.assertChannelExists(channelId);
495
534
  this.assertIsMember(channel, requesterId);
496
535
  this.assertPermission(requesterId, channelId, communication_1.Permission.MANAGE_CHANNEL);
497
- this.nameIndex.delete(channel.name);
536
+ this.unregisterName(this.nameScope(channel.serverId), channel.name);
498
537
  this.channels.delete(channelId);
499
538
  this.messages.delete(channelId);
500
539
  this.keyEpochStates.delete(channelId);
@@ -683,7 +722,11 @@ class ChannelService {
683
722
  await this.channelCollection.update(channelId, channel);
684
723
  }
685
724
  this.eventEmitter.emitMessageSent('channel', channelId, message.id, senderId);
686
- return message;
725
+ // Return the message with the original readable content for display,
726
+ // while the stored version retains the block reference (magnet URL)
727
+ return this.blockContentStore
728
+ ? { ...message, encryptedContent: content }
729
+ : message;
687
730
  }
688
731
  /**
689
732
  * Get messages in a channel with cursor-based pagination.
@@ -702,7 +745,29 @@ class ChannelService {
702
745
  for (const msg of msgs) {
703
746
  this.assertEpochExists(channelId, msg.keyEpoch);
704
747
  }
705
- return (0, pagination_1.paginateItems)(msgs, cursor, limit);
748
+ const result = (0, pagination_1.paginateItems)(msgs, cursor, limit);
749
+ // Resolve block references (magnet URLs) back to readable content
750
+ if (this.blockContentStore) {
751
+ const resolved = await Promise.all(result.items.map(async (msg) => {
752
+ if (msg.deleted)
753
+ return msg;
754
+ try {
755
+ const contentBytes = await this.blockContentStore.retrieveContent(msg.encryptedContent);
756
+ if (contentBytes) {
757
+ return {
758
+ ...msg,
759
+ encryptedContent: new TextDecoder().decode(contentBytes),
760
+ };
761
+ }
762
+ }
763
+ catch {
764
+ // Fall back to stored value if retrieval fails
765
+ }
766
+ return msg;
767
+ }));
768
+ return { ...result, items: resolved };
769
+ }
770
+ return result;
706
771
  }
707
772
  /**
708
773
  * Search messages in a channel by keyword.