@towns-protocol/sdk 0.0.252 → 0.0.255

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 (176) hide show
  1. package/dist/client.d.ts +2 -1
  2. package/dist/client.d.ts.map +1 -1
  3. package/dist/client.js +6 -5
  4. package/dist/client.js.map +1 -1
  5. package/dist/clientDecryptionExtensions.d.ts +2 -1
  6. package/dist/clientDecryptionExtensions.d.ts.map +1 -1
  7. package/dist/clientDecryptionExtensions.js +1 -1
  8. package/dist/clientDecryptionExtensions.js.map +1 -1
  9. package/dist/decryptionExtensions.d.ts +199 -0
  10. package/dist/decryptionExtensions.d.ts.map +1 -0
  11. package/dist/decryptionExtensions.js +678 -0
  12. package/dist/decryptionExtensions.js.map +1 -0
  13. package/dist/index.d.ts +21 -5
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +21 -5
  16. package/dist/index.js.map +1 -1
  17. package/dist/observable/combine.d.ts +4 -2
  18. package/dist/observable/combine.d.ts.map +1 -1
  19. package/dist/observable/combine.js +5 -2
  20. package/dist/observable/combine.js.map +1 -1
  21. package/dist/observable/observable.d.ts +1 -1
  22. package/dist/observable/observable.d.ts.map +1 -1
  23. package/dist/observable/observable.js +1 -4
  24. package/dist/observable/observable.js.map +1 -1
  25. package/dist/observable/observableRecord.d.ts +18 -0
  26. package/dist/observable/observableRecord.d.ts.map +1 -0
  27. package/dist/observable/observableRecord.js +71 -0
  28. package/dist/observable/observableRecord.js.map +1 -0
  29. package/dist/observable/utils.d.ts +2 -0
  30. package/dist/observable/utils.d.ts.map +1 -0
  31. package/dist/observable/utils.js +12 -0
  32. package/dist/observable/utils.js.map +1 -0
  33. package/dist/stream.d.ts +1 -1
  34. package/dist/stream.d.ts.map +1 -1
  35. package/dist/streamEvents.d.ts +2 -1
  36. package/dist/streamEvents.d.ts.map +1 -1
  37. package/dist/streamStateView.d.ts +1 -1
  38. package/dist/streamStateView.d.ts.map +1 -1
  39. package/dist/streamStateView.js +9 -9
  40. package/dist/streamStateView.js.map +1 -1
  41. package/dist/streamStateView_ChannelMetadata.d.ts +10 -10
  42. package/dist/streamStateView_ChannelMetadata.d.ts.map +1 -1
  43. package/dist/streamStateView_ChannelMetadata.js +43 -23
  44. package/dist/streamStateView_ChannelMetadata.js.map +1 -1
  45. package/dist/streamStateView_DMChannel.d.ts +7 -4
  46. package/dist/streamStateView_DMChannel.d.ts.map +1 -1
  47. package/dist/streamStateView_DMChannel.js +18 -8
  48. package/dist/streamStateView_DMChannel.js.map +1 -1
  49. package/dist/streamStateView_GDMChannel.d.ts +5 -2
  50. package/dist/streamStateView_GDMChannel.d.ts.map +1 -1
  51. package/dist/streamStateView_GDMChannel.js +12 -5
  52. package/dist/streamStateView_GDMChannel.js.map +1 -1
  53. package/dist/streamStateView_Members.d.ts +5 -2
  54. package/dist/streamStateView_Members.d.ts.map +1 -1
  55. package/dist/streamStateView_Members.js +11 -1
  56. package/dist/streamStateView_Members.js.map +1 -1
  57. package/dist/streamStateView_Members_Solicitations.d.ts +1 -1
  58. package/dist/streamStateView_Members_Solicitations.d.ts.map +1 -1
  59. package/dist/streamStateView_Space.d.ts +5 -8
  60. package/dist/streamStateView_Space.d.ts.map +1 -1
  61. package/dist/streamStateView_Space.js +26 -23
  62. package/dist/streamStateView_Space.js.map +1 -1
  63. package/dist/streamStateView_User.d.ts +11 -18
  64. package/dist/streamStateView_User.d.ts.map +1 -1
  65. package/dist/streamStateView_User.js +35 -20
  66. package/dist/streamStateView_User.js.map +1 -1
  67. package/dist/streamStateView_UserInbox.d.ts +4 -1
  68. package/dist/streamStateView_UserInbox.d.ts.map +1 -1
  69. package/dist/streamStateView_UserInbox.js +6 -1
  70. package/dist/streamStateView_UserInbox.js.map +1 -1
  71. package/dist/streamStateView_UserMetadata.d.ts +4 -1
  72. package/dist/streamStateView_UserMetadata.d.ts.map +1 -1
  73. package/dist/streamStateView_UserMetadata.js +6 -1
  74. package/dist/streamStateView_UserMetadata.js.map +1 -1
  75. package/dist/streamStateView_UserSettings.d.ts +4 -3
  76. package/dist/streamStateView_UserSettings.d.ts.map +1 -1
  77. package/dist/streamStateView_UserSettings.js +11 -12
  78. package/dist/streamStateView_UserSettings.js.map +1 -1
  79. package/dist/sync-agent/entitlements/entitlements.d.ts +1 -1
  80. package/dist/sync-agent/river-connection/models/transactionalClient.d.ts +2 -1
  81. package/dist/sync-agent/river-connection/models/transactionalClient.d.ts.map +1 -1
  82. package/dist/sync-agent/river-connection/models/transactionalClient.js.map +1 -1
  83. package/dist/sync-agent/river-connection/riverConnection.d.ts +2 -1
  84. package/dist/sync-agent/river-connection/riverConnection.d.ts.map +1 -1
  85. package/dist/sync-agent/river-connection/riverConnection.js.map +1 -1
  86. package/dist/sync-agent/spaces/models/space.js +1 -1
  87. package/dist/sync-agent/spaces/models/space.js.map +1 -1
  88. package/dist/sync-agent/timeline/models/timeline-types.d.ts +1 -2
  89. package/dist/sync-agent/timeline/models/timeline-types.d.ts.map +1 -1
  90. package/dist/sync-agent/timeline/models/timeline-types.js +1 -2
  91. package/dist/sync-agent/timeline/models/timeline-types.js.map +1 -1
  92. package/dist/sync-agent/user/models/userMemberships.d.ts.map +1 -1
  93. package/dist/sync-agent/user/models/userMemberships.js +3 -1
  94. package/dist/sync-agent/user/models/userMemberships.js.map +1 -1
  95. package/dist/syncedStream.js +1 -1
  96. package/dist/syncedStream.js.map +1 -1
  97. package/dist/tests/multi/channelSpaceSettings.test.js +23 -23
  98. package/dist/tests/multi/channelSpaceSettings.test.js.map +1 -1
  99. package/dist/tests/multi_ne/client.test.js +2 -1
  100. package/dist/tests/multi_ne/client.test.js.map +1 -1
  101. package/dist/tests/multi_ne/space.test.js +5 -7
  102. package/dist/tests/multi_ne/space.test.js.map +1 -1
  103. package/dist/tests/multi_ne/streamStateView_User.test.js +3 -3
  104. package/dist/tests/multi_ne/streamStateView_User.test.js.map +1 -1
  105. package/dist/tests/testUtils.d.ts +1 -1
  106. package/dist/tests/testUtils.d.ts.map +1 -1
  107. package/dist/tests/unit/decryptionExtensions.test.d.ts +2 -0
  108. package/dist/tests/unit/decryptionExtensions.test.d.ts.map +1 -0
  109. package/dist/tests/unit/decryptionExtensions.test.js +353 -0
  110. package/dist/tests/unit/decryptionExtensions.test.js.map +1 -0
  111. package/dist/tests/unit/observable/combine.test.js +23 -23
  112. package/dist/tests/unit/observable/combine.test.js.map +1 -1
  113. package/dist/types.d.ts +1 -1
  114. package/dist/types.d.ts.map +1 -1
  115. package/dist/views/streams/channelStreams.d.ts +8 -0
  116. package/dist/views/streams/channelStreams.d.ts.map +1 -0
  117. package/dist/views/streams/channelStreams.js +9 -0
  118. package/dist/views/streams/channelStreams.js.map +1 -0
  119. package/dist/views/streams/dmStreams.d.ts +13 -0
  120. package/dist/views/streams/dmStreams.d.ts.map +1 -0
  121. package/dist/views/streams/dmStreams.js +33 -0
  122. package/dist/views/streams/dmStreams.js.map +1 -0
  123. package/dist/views/streams/gdmStreams.d.ts +16 -0
  124. package/dist/views/streams/gdmStreams.d.ts.map +1 -0
  125. package/dist/views/streams/gdmStreams.js +40 -0
  126. package/dist/views/streams/gdmStreams.js.map +1 -0
  127. package/dist/views/streams/spaceStreams.d.ts +17 -0
  128. package/dist/views/streams/spaceStreams.d.ts.map +1 -0
  129. package/dist/views/streams/spaceStreams.js +52 -0
  130. package/dist/views/streams/spaceStreams.js.map +1 -0
  131. package/dist/views/streams/streamMemberIds.d.ts +8 -0
  132. package/dist/views/streams/streamMemberIds.d.ts.map +1 -0
  133. package/dist/views/streams/streamMemberIds.js +34 -0
  134. package/dist/views/streams/streamMemberIds.js.map +1 -0
  135. package/dist/views/streams/streamStatus.d.ts +3 -2
  136. package/dist/views/streams/streamStatus.d.ts.map +1 -1
  137. package/dist/views/streams/streamStatus.js +11 -9
  138. package/dist/views/streams/streamStatus.js.map +1 -1
  139. package/dist/views/streams/timelineEvents.d.ts +1 -1
  140. package/dist/views/streams/timelines.d.ts +1 -1
  141. package/dist/views/streams/unreadMarkersTransform.d.ts +1 -1
  142. package/dist/views/streams/unreadMarkersTransform.d.ts.map +1 -1
  143. package/dist/views/streams/unreadMarkersTransform.js.map +1 -1
  144. package/dist/views/streams/userInboxStreams.d.ts +8 -0
  145. package/dist/views/streams/userInboxStreams.d.ts.map +1 -0
  146. package/dist/views/streams/userInboxStreams.js +11 -0
  147. package/dist/views/streams/userInboxStreams.js.map +1 -0
  148. package/dist/views/streams/userMetadataStreams.d.ts +8 -0
  149. package/dist/views/streams/userMetadataStreams.d.ts.map +1 -0
  150. package/dist/views/streams/userMetadataStreams.js +12 -0
  151. package/dist/views/streams/userMetadataStreams.js.map +1 -0
  152. package/dist/views/streams/userSettingsStreams.d.ts +6 -5
  153. package/dist/views/streams/userSettingsStreams.d.ts.map +1 -1
  154. package/dist/views/streams/userSettingsStreams.js +29 -17
  155. package/dist/views/streams/userSettingsStreams.js.map +1 -1
  156. package/dist/views/streams/userStreamsView.d.ts +26 -0
  157. package/dist/views/streams/userStreamsView.d.ts.map +1 -0
  158. package/dist/views/streams/userStreamsView.js +106 -0
  159. package/dist/views/streams/userStreamsView.js.map +1 -0
  160. package/dist/views/streamsView.d.ts +28 -2
  161. package/dist/views/streamsView.d.ts.map +1 -1
  162. package/dist/views/streamsView.js +71 -10
  163. package/dist/views/streamsView.js.map +1 -1
  164. package/dist/views/transforms/dmsAndGdmsTransform.d.ts +24 -0
  165. package/dist/views/transforms/dmsAndGdmsTransform.d.ts.map +1 -0
  166. package/dist/views/transforms/dmsAndGdmsTransform.js +63 -0
  167. package/dist/views/transforms/dmsAndGdmsTransform.js.map +1 -0
  168. package/dist/views/transforms/membershipsTransform.d.ts +4 -0
  169. package/dist/views/transforms/membershipsTransform.d.ts.map +1 -0
  170. package/dist/views/transforms/membershipsTransform.js +16 -0
  171. package/dist/views/transforms/membershipsTransform.js.map +1 -0
  172. package/dist/views/transforms/spaceIdsTransform.d.ts +3 -0
  173. package/dist/views/transforms/spaceIdsTransform.d.ts.map +1 -0
  174. package/dist/views/transforms/spaceIdsTransform.js +14 -0
  175. package/dist/views/transforms/spaceIdsTransform.js.map +1 -0
  176. package/package.json +9 -9
@@ -0,0 +1,353 @@
1
+ import { BaseDecryptionExtensions, DecryptionStatus, makeSessionKeys, } from '../../decryptionExtensions';
2
+ import { SessionKeysSchema, UserInboxPayload_GroupEncryptionSessionsSchema, } from '@towns-protocol/proto';
3
+ import { GroupEncryptionAlgorithmId, CryptoStore, GroupEncryptionCrypto, } from '@towns-protocol/encryption';
4
+ import { bin_fromHexString, bin_toHexString, dlog, shortenHexString } from '@towns-protocol/dlog';
5
+ import EventEmitter from 'events';
6
+ import { customAlphabet } from 'nanoid';
7
+ import { create, toJsonString } from '@bufbuild/protobuf';
8
+ const log = dlog('test:decryptionExtensions:');
9
+ describe.concurrent('TestDecryptionExtensions', () => {
10
+ // test should iterate over all the algorithms
11
+ it.each(Object.values(GroupEncryptionAlgorithmId))('should be able to make key solicitation request', async (algorithm) => {
12
+ // arrange
13
+ const clientDiscoveryService = {};
14
+ const streamId = genStreamId();
15
+ const alice = genUserId('Alice');
16
+ const aliceUserAddress = stringToArray(alice);
17
+ const bob = genUserId('Bob');
18
+ const bobsPlaintext = "bob's plaintext";
19
+ const { client: aliceClient, decryptionExtension: aliceDex } = await createCryptoMocks(alice, clientDiscoveryService);
20
+ const { crypto: bobCrypto, decryptionExtension: bobDex } = await createCryptoMocks(bob, clientDiscoveryService);
21
+ // act
22
+ aliceDex.start();
23
+ // bob starts the decryption extension
24
+ bobDex.start();
25
+ // bob encrypts a message
26
+ const encryptedData = await bobCrypto.encryptGroupEvent(streamId, new TextEncoder().encode(bobsPlaintext), algorithm);
27
+ const encryptedData_V0 = await bobCrypto.encryptGroupEvent_deprecated_v0(streamId, bobsPlaintext, algorithm);
28
+ const sessionId = encryptedData.sessionId;
29
+ // alice doesn't have the session key
30
+ // alice sends a key solicitation request
31
+ const keySolicitationData = {
32
+ deviceKey: aliceDex.userDevice.deviceKey,
33
+ fallbackKey: aliceDex.userDevice.fallbackKey,
34
+ isNewDevice: true,
35
+ sessionIds: [sessionId],
36
+ };
37
+ const keySolicitation = aliceClient.sendKeySolicitation(keySolicitationData);
38
+ // pretend bob receives a key solicitation request from alice, and starts processing it.
39
+ await bobDex.handleKeySolicitationRequest(streamId, '', alice, aliceUserAddress, keySolicitationData, {
40
+ hash: new Uint8Array(),
41
+ signature: new Uint8Array(),
42
+ event: {
43
+ creatorAddress: new Uint8Array(),
44
+ delegateSig: new Uint8Array(),
45
+ delegateExpiryEpochMs: 0n,
46
+ },
47
+ });
48
+ // alice waits for the response
49
+ await keySolicitation;
50
+ // after alice gets the session key,
51
+ // try to decrypt the message
52
+ const decrypted = await aliceDex.crypto.decryptGroupEvent(streamId, encryptedData);
53
+ const decrypted_V0 = await aliceDex.crypto.decryptGroupEvent(streamId, encryptedData_V0);
54
+ if (typeof decrypted === 'string') {
55
+ throw new Error('decrypted is a string'); // v1 should be bytes
56
+ }
57
+ if (typeof decrypted_V0 !== 'string') {
58
+ throw new Error('decrypted_V0 is a string'); // v0 should be bytes
59
+ }
60
+ // stop the decryption extensions
61
+ await bobDex.stop();
62
+ await aliceDex.stop();
63
+ // assert
64
+ expect(new TextDecoder().decode(decrypted)).toBe(bobsPlaintext);
65
+ expect(decrypted_V0).toBe(bobsPlaintext);
66
+ expect(bobDex.seenStates).toContain(DecryptionStatus.working);
67
+ expect(aliceDex.seenStates).toContain(DecryptionStatus.working);
68
+ });
69
+ // test should iterate over all the algorithms
70
+ it.each(Object.values(GroupEncryptionAlgorithmId))('should be able to export/import stream room key', async (algorithm) => {
71
+ // arrange
72
+ const clientDiscoveryService = {};
73
+ const streamId = genStreamId();
74
+ const alice = genUserId('Alice');
75
+ const bob = genUserId('Bob');
76
+ const bobsPlaintext = "bob's plaintext";
77
+ const { decryptionExtension: aliceDex } = await createCryptoMocks(alice, clientDiscoveryService);
78
+ const { crypto: bobCrypto, decryptionExtension: bobDex } = await createCryptoMocks(bob, clientDiscoveryService);
79
+ // act
80
+ aliceDex.start();
81
+ // bob starts the decryption extension
82
+ bobDex.start();
83
+ // bob encrypts a message
84
+ const encryptedData = await bobCrypto.encryptGroupEvent(streamId, new TextEncoder().encode(bobsPlaintext), algorithm);
85
+ const encryptedData_V0 = await bobCrypto.encryptGroupEvent_deprecated_v0(streamId, bobsPlaintext, algorithm);
86
+ // alice doesn't have the session key
87
+ // alice imports the keys exported by bob
88
+ const roomKeys = await bobDex.crypto.exportRoomKeys();
89
+ if (roomKeys) {
90
+ await aliceDex.crypto.importRoomKeys(roomKeys);
91
+ }
92
+ // after alice gets the session key,
93
+ // try to decrypt the message
94
+ const decrypted = await aliceDex.crypto.decryptGroupEvent(streamId, encryptedData);
95
+ if (typeof decrypted === 'string') {
96
+ throw new Error('decrypted is a string'); // v1 should be bytes
97
+ }
98
+ const decrypted_V0 = await aliceDex.crypto.decryptGroupEvent(streamId, encryptedData_V0);
99
+ if (typeof decrypted_V0 !== 'string') {
100
+ throw new Error('decrypted_V0 is a string'); // v0 should be bytes
101
+ }
102
+ // stop the decryption extensions
103
+ await bobDex.stop();
104
+ await aliceDex.stop();
105
+ // assert
106
+ expect(new TextDecoder().decode(decrypted)).toBe(bobsPlaintext);
107
+ expect(decrypted_V0).toBe(bobsPlaintext);
108
+ });
109
+ });
110
+ async function createCryptoMocks(userId, clientDiscoveryService) {
111
+ const cryptoStore = new CryptoStore(`db_${userId}`, userId);
112
+ const entitlementDelegate = new MockEntitlementsDelegate();
113
+ const client = new MockGroupEncryptionClient(clientDiscoveryService);
114
+ const crypto = new GroupEncryptionCrypto(client, cryptoStore);
115
+ await crypto.init();
116
+ const userDevice = crypto.getUserDevice();
117
+ const decryptionExtension = new MockDecryptionExtensions(userId, crypto, entitlementDelegate, userDevice, client);
118
+ client.crypto = crypto;
119
+ client.decryptionExtensions = decryptionExtension;
120
+ clientDiscoveryService[userDevice.deviceKey] = client;
121
+ return {
122
+ client,
123
+ crypto,
124
+ cryptoStore,
125
+ decryptionExtension,
126
+ userDevice,
127
+ };
128
+ }
129
+ class MicroTask {
130
+ resolve;
131
+ startState;
132
+ endState;
133
+ isStarted = false;
134
+ _isCompleted = false;
135
+ constructor(resolve, startState, endState) {
136
+ this.resolve = resolve;
137
+ this.startState = startState;
138
+ this.endState = endState;
139
+ }
140
+ get isCompleted() {
141
+ return this._isCompleted;
142
+ }
143
+ tick(state) {
144
+ if (state === this.startState) {
145
+ this.isStarted = true;
146
+ }
147
+ if (this.isStarted && state === this.endState) {
148
+ this.resolve();
149
+ this._isCompleted = true;
150
+ }
151
+ }
152
+ }
153
+ class MockDecryptionExtensions extends BaseDecryptionExtensions {
154
+ inProgress = {};
155
+ client;
156
+ _upToDateStreams;
157
+ constructor(userId, crypto, entitlementDelegate, userDevice, client) {
158
+ const upToDateStreams = new Set();
159
+ const logId = shortenHexString(userId);
160
+ super(client, crypto, entitlementDelegate, userDevice, userId, upToDateStreams, logId);
161
+ this._upToDateStreams = upToDateStreams;
162
+ this.client = client;
163
+ this._onStopFn = () => {
164
+ log('onStopFn');
165
+ };
166
+ client.on('decryptionExtStatusChanged', () => {
167
+ this.statusChangedTick();
168
+ });
169
+ }
170
+ seenStates = [];
171
+ shouldPauseTicking() {
172
+ return false;
173
+ }
174
+ newGroupSessions(sessions, senderId) {
175
+ log('newGroupSessions', sessions, senderId);
176
+ const streamId = bin_toHexString(sessions.streamId);
177
+ this.markStreamUpToDate(streamId);
178
+ const p = new Promise((resolve) => {
179
+ this.inProgress[streamId] = new MicroTask(resolve, DecryptionStatus.working, DecryptionStatus.done);
180
+ // start processing the new sessions
181
+ this.enqueueNewGroupSessions(sessions, senderId);
182
+ });
183
+ return p;
184
+ }
185
+ ackNewGroupSession(session) {
186
+ log('newGroupSessionsDone', session.streamId);
187
+ return Promise.resolve();
188
+ }
189
+ async handleKeySolicitationRequest(streamId, eventHashStr, fromUserId, fromUserAddress, keySolicitation, sigBundle) {
190
+ log('keySolicitationRequest', streamId, keySolicitation);
191
+ this.markStreamUpToDate(streamId);
192
+ const p = new Promise((resolve) => {
193
+ this.inProgress[streamId] = new MicroTask(resolve, DecryptionStatus.working, DecryptionStatus.done);
194
+ // start processing the request
195
+ this.enqueueKeySolicitation(streamId, eventHashStr, fromUserId, fromUserAddress, keySolicitation, sigBundle);
196
+ });
197
+ return p;
198
+ }
199
+ hasStream(streamId) {
200
+ log('canProcessStream', streamId, true);
201
+ return this._upToDateStreams.has(streamId);
202
+ }
203
+ isValidEvent(item) {
204
+ log('isValidEvent', item);
205
+ return { isValid: true };
206
+ }
207
+ decryptGroupEvent(_streamId, _eventId, _kind, _encryptedData) {
208
+ log('decryptGroupEvent');
209
+ return Promise.resolve();
210
+ }
211
+ downloadNewMessages() {
212
+ log('downloadNewMessages');
213
+ return Promise.resolve();
214
+ }
215
+ getKeySolicitations(_streamId) {
216
+ log('getKeySolicitations');
217
+ return [];
218
+ }
219
+ isUserEntitledToKeyExchange(_streamId, _userId) {
220
+ log('isUserEntitledToKeyExchange');
221
+ return Promise.resolve(true);
222
+ }
223
+ onDecryptionError(_item, _err) {
224
+ log('onDecryptionError', 'item:', _item, 'err:', _err);
225
+ }
226
+ sendKeySolicitation(args) {
227
+ log('sendKeySolicitation', args);
228
+ return Promise.resolve();
229
+ }
230
+ sendKeyFulfillment(args) {
231
+ log('sendKeyFulfillment', args);
232
+ return Promise.resolve({});
233
+ }
234
+ encryptAndShareGroupSessions(args) {
235
+ log('encryptAndSendToGroup');
236
+ return this.client.encryptAndSendMock(args);
237
+ }
238
+ uploadDeviceKeys() {
239
+ log('uploadDeviceKeys');
240
+ return Promise.resolve();
241
+ }
242
+ isUserInboxStreamUpToDate(_upToDateStreams) {
243
+ return true;
244
+ }
245
+ getPriorityForStream(_streamId, _highPriorityIds, _recentStreamIds) {
246
+ return 0;
247
+ }
248
+ markStreamUpToDate(streamId) {
249
+ this._upToDateStreams.add(streamId);
250
+ this.setStreamUpToDate(streamId);
251
+ }
252
+ statusChangedTick() {
253
+ this.seenStates.push(this.status);
254
+ Object.values(this.inProgress).forEach((t) => {
255
+ t.tick(this.status);
256
+ });
257
+ }
258
+ }
259
+ class MockGroupEncryptionClient extends EventEmitter {
260
+ clientDiscoveryService;
261
+ shareKeysResponses = {};
262
+ constructor(clientDiscoveryService) {
263
+ super();
264
+ this.clientDiscoveryService = clientDiscoveryService;
265
+ }
266
+ crypto;
267
+ decryptionExtensions;
268
+ get userDevice() {
269
+ return this.crypto ? this.crypto.getUserDevice() : undefined;
270
+ }
271
+ downloadUserDeviceInfo(_userIds, _forceDownload) {
272
+ return Promise.resolve({});
273
+ }
274
+ encryptAndShareGroupSessions(_streamId, _sessions, _devicesInRoom) {
275
+ return Promise.resolve();
276
+ }
277
+ getDevicesInStream(_streamId) {
278
+ return Promise.resolve({});
279
+ }
280
+ getMiniblockInfo(_streamId) {
281
+ return Promise.resolve({ miniblockNum: 0n, miniblockHash: new Uint8Array() });
282
+ }
283
+ sendKeySolicitation(args) {
284
+ // assume the request is sent
285
+ return new Promise((resolve) => {
286
+ // resolve when the response is received
287
+ this.shareKeysResponses[args.deviceKey] = resolve;
288
+ });
289
+ }
290
+ async encryptAndSendMock(args) {
291
+ const { sessions, streamId } = args;
292
+ if (!this.userDevice) {
293
+ throw new Error('no user device');
294
+ }
295
+ // prepare the common parts of the payload
296
+ const streamIdBytes = streamIdToBytes(streamId);
297
+ const sessionIds = sessions.map((s) => s.sessionId);
298
+ const payload = toJsonString(SessionKeysSchema, makeSessionKeys(sessions));
299
+ // encrypt and send the payload to each client
300
+ const otherClients = Object.values(this.clientDiscoveryService).filter((c) => c.userDevice?.deviceKey != this.userDevice?.deviceKey);
301
+ const promises = otherClients.map(async (c) => {
302
+ const cipertext = await this.crypto?.encryptWithDeviceKeys(payload, [c.userDevice]);
303
+ const groupSession = create(UserInboxPayload_GroupEncryptionSessionsSchema, {
304
+ streamId: streamIdBytes,
305
+ senderKey: this.userDevice?.deviceKey,
306
+ sessionIds: sessionIds,
307
+ ciphertexts: cipertext,
308
+ algorithm: args.algorithm,
309
+ });
310
+ // pretend sending the payload to the client
311
+ // ....
312
+ // pretend receiving the response
313
+ // trigger a new group session processing
314
+ await c.decryptionExtensions?.newGroupSessions(groupSession, this.userDevice.deviceKey);
315
+ await c.resolveGroupSessionResponse(args);
316
+ });
317
+ await Promise.all(promises);
318
+ }
319
+ resolveGroupSessionResponse(args) {
320
+ // fake receiving the response
321
+ const resolve = this.shareKeysResponses[args.item.solicitation.deviceKey];
322
+ if (resolve) {
323
+ resolve(args);
324
+ }
325
+ return Promise.resolve();
326
+ }
327
+ sendKeyFulfillment(_args) {
328
+ return Promise.resolve({});
329
+ }
330
+ uploadDeviceKeys() {
331
+ return Promise.resolve();
332
+ }
333
+ }
334
+ class MockEntitlementsDelegate {
335
+ isEntitled(_spaceId, _channelId, _user, _permission) {
336
+ return Promise.resolve(true);
337
+ }
338
+ }
339
+ function genUserId(name) {
340
+ return `0x${name}${Date.now()}`;
341
+ }
342
+ function genStreamId() {
343
+ const hexNanoId = customAlphabet('0123456789abcdef', 64);
344
+ return hexNanoId();
345
+ }
346
+ function stringToArray(fromString) {
347
+ const uint8Array = new TextEncoder().encode(fromString);
348
+ return uint8Array;
349
+ }
350
+ function streamIdToBytes(streamId) {
351
+ return bin_fromHexString(streamId);
352
+ }
353
+ //# sourceMappingURL=decryptionExtensions.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decryptionExtensions.test.js","sourceRoot":"","sources":["../../../src/tests/unit/decryptionExtensions.test.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,14 @@
1
1
  /* eslint-disable @typescript-eslint/no-unsafe-member-access */
2
2
  import { describe, it, expect, vi } from 'vitest';
3
3
  import { Observable } from '../../../observable/observable';
4
- import { Combine } from '../../../observable/combine';
4
+ import { combine } from '../../../observable/combine';
5
5
  describe('Combine', () => {
6
6
  describe('constructor and basic functionality', () => {
7
7
  it('should initialize with combined values from input observables', () => {
8
8
  const nameObs = new Observable('John');
9
9
  const ageObs = new Observable(25);
10
10
  const isActiveObs = new Observable(true);
11
- const combined = new Combine({
11
+ const combined = combine({
12
12
  name: nameObs,
13
13
  age: ageObs,
14
14
  isActive: isActiveObs,
@@ -24,7 +24,7 @@ describe('Combine', () => {
24
24
  const numberObs = new Observable(42);
25
25
  const objectObs = new Observable({ key: 'value' });
26
26
  const arrayObs = new Observable([1, 2, 3]);
27
- const combined = new Combine({
27
+ const combined = combine({
28
28
  str: stringObs,
29
29
  num: numberObs,
30
30
  obj: objectObs,
@@ -39,11 +39,11 @@ describe('Combine', () => {
39
39
  });
40
40
  it('should handle single observable', () => {
41
41
  const obs = new Observable('single');
42
- const combined = new Combine({ single: obs });
42
+ const combined = combine({ single: obs });
43
43
  expect(combined.value).toEqual({ single: 'single' });
44
44
  });
45
45
  it('should handle empty object of observables', () => {
46
- const combined = new Combine({});
46
+ const combined = combine({});
47
47
  expect(combined.value).toEqual({});
48
48
  });
49
49
  });
@@ -51,7 +51,7 @@ describe('Combine', () => {
51
51
  it('should update combined value when any input observable changes', () => {
52
52
  const nameObs = new Observable('John');
53
53
  const ageObs = new Observable(25);
54
- const combined = new Combine({
54
+ const combined = combine({
55
55
  name: nameObs,
56
56
  age: ageObs,
57
57
  });
@@ -71,7 +71,7 @@ describe('Combine', () => {
71
71
  it('should trigger subscribers when any input observable changes', () => {
72
72
  const nameObs = new Observable('John');
73
73
  const ageObs = new Observable(25);
74
- const combined = new Combine({
74
+ const combined = combine({
75
75
  name: nameObs,
76
76
  age: ageObs,
77
77
  });
@@ -85,7 +85,7 @@ describe('Combine', () => {
85
85
  it('should not trigger when input observable value does not change', () => {
86
86
  const nameObs = new Observable('John');
87
87
  const ageObs = new Observable(25);
88
- const combined = new Combine({
88
+ const combined = combine({
89
89
  name: nameObs,
90
90
  age: ageObs,
91
91
  });
@@ -98,7 +98,7 @@ describe('Combine', () => {
98
98
  it('should handle multiple rapid changes', () => {
99
99
  const obs1 = new Observable(1);
100
100
  const obs2 = new Observable(2);
101
- const combined = new Combine({
101
+ const combined = combine({
102
102
  a: obs1,
103
103
  b: obs2,
104
104
  });
@@ -114,7 +114,7 @@ describe('Combine', () => {
114
114
  describe('subscription behavior', () => {
115
115
  it('should call multiple subscribers when values change', () => {
116
116
  const obs = new Observable('test');
117
- const combined = new Combine({ value: obs });
117
+ const combined = combine({ value: obs });
118
118
  const subscriber1 = vi.fn();
119
119
  const subscriber2 = vi.fn();
120
120
  combined.subscribe(subscriber1);
@@ -125,14 +125,14 @@ describe('Combine', () => {
125
125
  });
126
126
  it('should support subscription options', () => {
127
127
  const obs = new Observable(5);
128
- const combined = new Combine({ num: obs });
128
+ const combined = combine({ num: obs });
129
129
  const subscriber = vi.fn();
130
130
  combined.subscribe(subscriber, { fireImediately: true });
131
131
  expect(subscriber).toHaveBeenCalledWith({ num: 5 }, { num: 5 });
132
132
  });
133
133
  it('should support conditional subscriptions', () => {
134
134
  const obs = new Observable(5);
135
- const combined = new Combine({ num: obs });
135
+ const combined = combine({ num: obs });
136
136
  const subscriber = vi.fn();
137
137
  combined.subscribe(subscriber, {
138
138
  condition: (value) => value.num > 10,
@@ -144,7 +144,7 @@ describe('Combine', () => {
144
144
  });
145
145
  it('should return unsubscribe function', () => {
146
146
  const obs = new Observable('test');
147
- const combined = new Combine({ value: obs });
147
+ const combined = combine({ value: obs });
148
148
  const subscriber = vi.fn();
149
149
  const unsubscribe = combined.subscribe(subscriber);
150
150
  obs.setValue('changed1');
@@ -158,7 +158,7 @@ describe('Combine', () => {
158
158
  it('should dispose all input observable subscriptions', () => {
159
159
  const obs1 = new Observable(1);
160
160
  const obs2 = new Observable(2);
161
- const combined = new Combine({
161
+ const combined = combine({
162
162
  a: obs1,
163
163
  b: obs2,
164
164
  });
@@ -174,7 +174,7 @@ describe('Combine', () => {
174
174
  });
175
175
  it('should handle multiple dispose calls', () => {
176
176
  const obs = new Observable('test');
177
- const combined = new Combine({ value: obs });
177
+ const combined = combine({ value: obs });
178
178
  // Should not throw error
179
179
  expect(() => {
180
180
  combined.dispose();
@@ -184,7 +184,7 @@ describe('Combine', () => {
184
184
  it('should clear internal unsubscribers array', () => {
185
185
  const obs1 = new Observable(1);
186
186
  const obs2 = new Observable(2);
187
- const combined = new Combine({
187
+ const combined = combine({
188
188
  a: obs1,
189
189
  b: obs2,
190
190
  });
@@ -196,7 +196,7 @@ describe('Combine', () => {
196
196
  describe('inheritance from Observable', () => {
197
197
  it('should support Observable methods like map', () => {
198
198
  const obs = new Observable(5);
199
- const combined = new Combine({ num: obs });
199
+ const combined = combine({ num: obs });
200
200
  const mapped = combined.map((value) => ({
201
201
  doubled: value.num * 2,
202
202
  }));
@@ -206,7 +206,7 @@ describe('Combine', () => {
206
206
  });
207
207
  it('should support Observable methods like when', async () => {
208
208
  const obs = new Observable(5);
209
- const combined = new Combine({ num: obs });
209
+ const combined = combine({ num: obs });
210
210
  const promise = combined.when((value) => value.num > 10);
211
211
  setTimeout(() => obs.setValue(15), 10);
212
212
  const result = await promise;
@@ -214,7 +214,7 @@ describe('Combine', () => {
214
214
  });
215
215
  it('should support setValue and set methods', () => {
216
216
  const obs = new Observable(5);
217
- const combined = new Combine({ num: obs });
217
+ const combined = combine({ num: obs });
218
218
  const subscriber = vi.fn();
219
219
  combined.subscribe(subscriber);
220
220
  // Use setValue directly on combined observable
@@ -230,7 +230,7 @@ describe('Combine', () => {
230
230
  it('should handle observables with undefined values', () => {
231
231
  const obs1 = new Observable(undefined);
232
232
  const obs2 = new Observable(undefined);
233
- const combined = new Combine({
233
+ const combined = combine({
234
234
  str: obs1,
235
235
  num: obs2,
236
236
  });
@@ -246,7 +246,7 @@ describe('Combine', () => {
246
246
  });
247
247
  it('should handle observables with null values', () => {
248
248
  const obs = new Observable(null);
249
- const combined = new Combine({ value: obs });
249
+ const combined = combine({ value: obs });
250
250
  expect(combined.value).toEqual({ value: null });
251
251
  obs.setValue('not null');
252
252
  expect(combined.value).toEqual({ value: 'not null' });
@@ -254,7 +254,7 @@ describe('Combine', () => {
254
254
  it('should handle complex nested objects', () => {
255
255
  const userObs = new Observable({ name: 'John', details: { age: 25 } });
256
256
  const settingsObs = new Observable({ theme: 'dark', notifications: true });
257
- const combined = new Combine({
257
+ const combined = combine({
258
258
  user: userObs,
259
259
  settings: settingsObs,
260
260
  });
@@ -269,7 +269,7 @@ describe('Combine', () => {
269
269
  const obs1 = new Observable(1);
270
270
  const obs2 = new Observable(2);
271
271
  const obs3 = new Observable(3);
272
- const combined = new Combine({
272
+ const combined = combine({
273
273
  z: obs3,
274
274
  a: obs1,
275
275
  m: obs2,
@@ -1 +1 @@
1
- {"version":3,"file":"combine.test.js","sourceRoot":"","sources":["../../../../src/tests/unit/observable/combine.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"combine.test.js","sourceRoot":"","sources":["../../../../src/tests/unit/observable/combine.test.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { PlainMessage, StreamEvent, ChannelMessage, ChannelMessage_Post_Content_Text, UserMetadataPayload_Inception, UserPayload_Inception, SpacePayload_Inception, ChannelPayload_Inception, UserSettingsPayload_Inception, SpacePayload_ChannelUpdate, SpacePayload_UpdateChannelAutojoin, SpacePayload_UpdateChannelHideUserJoinLeaveEvents, EncryptedData, UserPayload_UserMembership, UserSettingsPayload_UserBlock, UserSettingsPayload_FullyReadMarkers, MiniblockHeader, ChannelMessage_Post_Mention, ChannelMessage_Post, MediaPayload_Inception, MediaPayload_Chunk, DmChannelPayload_Inception, GdmChannelPayload_Inception, UserInboxPayload_Ack, UserInboxPayload_Inception, UserMetadataPayload_EncryptionDevice, UserInboxPayload_GroupEncryptionSessions, SyncCookie, Snapshot, UserPayload_UserMembershipAction, MemberPayload_Membership, MembershipOp, MemberPayload_KeyFulfillment, MemberPayload_KeySolicitation, MemberPayload_Nft, BlockchainTransaction } from '@towns-protocol/proto';
2
2
  import { DecryptedContent } from './encryptedContentTypes';
3
- import { DecryptionSessionError, EventSignatureBundle } from '@towns-protocol/encryption';
3
+ import { DecryptionSessionError, EventSignatureBundle } from './decryptionExtensions';
4
4
  export type LocalEventStatus = 'sending' | 'sent' | 'failed';
5
5
  export interface LocalEvent {
6
6
  localId: string;