@towns-protocol/sdk 0.0.242 → 0.0.244

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 (198) hide show
  1. package/dist/client.d.ts +5 -1
  2. package/dist/client.d.ts.map +1 -1
  3. package/dist/client.js +64 -18
  4. package/dist/client.js.map +1 -1
  5. package/dist/id.d.ts +3 -1
  6. package/dist/id.d.ts.map +1 -1
  7. package/dist/id.js +3 -0
  8. package/dist/id.js.map +1 -1
  9. package/dist/index.d.ts +4 -8
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +4 -8
  12. package/dist/index.js.map +1 -1
  13. package/dist/makeAuthenticationRpcClient.d.ts +1 -1
  14. package/dist/makeAuthenticationRpcClient.d.ts.map +1 -1
  15. package/dist/makeAuthenticationRpcClient.js +2 -2
  16. package/dist/makeAuthenticationRpcClient.js.map +1 -1
  17. package/dist/makeNotificationRpcClient.d.ts +1 -1
  18. package/dist/makeNotificationRpcClient.d.ts.map +1 -1
  19. package/dist/makeNotificationRpcClient.js +2 -2
  20. package/dist/makeNotificationRpcClient.js.map +1 -1
  21. package/dist/makeStreamRpcClient.d.ts +1 -1
  22. package/dist/makeStreamRpcClient.d.ts.map +1 -1
  23. package/dist/makeStreamRpcClient.js +2 -2
  24. package/dist/makeStreamRpcClient.js.map +1 -1
  25. package/dist/notificationService.d.ts.map +1 -1
  26. package/dist/notificationService.js +2 -1
  27. package/dist/notificationService.js.map +1 -1
  28. package/dist/riverConfig.js +1 -1
  29. package/dist/riverConfig.js.map +1 -1
  30. package/dist/rpcCommon.d.ts +1 -3
  31. package/dist/rpcCommon.d.ts.map +1 -1
  32. package/dist/rpcCommon.js +1 -13
  33. package/dist/rpcCommon.js.map +1 -1
  34. package/dist/sign.d.ts +1 -1
  35. package/dist/sign.d.ts.map +1 -1
  36. package/dist/sign.js +13 -7
  37. package/dist/sign.js.map +1 -1
  38. package/dist/stream.d.ts +4 -2
  39. package/dist/stream.d.ts.map +1 -1
  40. package/dist/stream.js +9 -6
  41. package/dist/stream.js.map +1 -1
  42. package/dist/streamEvents.d.ts +3 -3
  43. package/dist/streamEvents.d.ts.map +1 -1
  44. package/dist/streamStateView.d.ts +9 -6
  45. package/dist/streamStateView.d.ts.map +1 -1
  46. package/dist/streamStateView.js +58 -62
  47. package/dist/streamStateView.js.map +1 -1
  48. package/dist/streamStateView_Space.js +1 -1
  49. package/dist/streamStateView_Space.js.map +1 -1
  50. package/dist/streamStateView_UserMetadata.js +1 -1
  51. package/dist/streamStateView_UserMetadata.js.map +1 -1
  52. package/dist/streamUtils.d.ts.map +1 -1
  53. package/dist/streamUtils.js +2 -0
  54. package/dist/streamUtils.js.map +1 -1
  55. package/dist/streams-view/streamsView.d.ts +18 -0
  56. package/dist/streams-view/streamsView.d.ts.map +1 -0
  57. package/dist/streams-view/streamsView.js +25 -0
  58. package/dist/streams-view/streamsView.js.map +1 -0
  59. package/dist/streams-view/timelineEvents.d.ts +11 -0
  60. package/dist/streams-view/timelineEvents.d.ts.map +1 -0
  61. package/dist/{sync-agent/timeline/models/timelineEvent.js → streams-view/timelineEvents.js} +240 -303
  62. package/dist/streams-view/timelineEvents.js.map +1 -0
  63. package/dist/streams-view/timelinesView.d.ts +27 -0
  64. package/dist/streams-view/timelinesView.d.ts.map +1 -0
  65. package/dist/streams-view/timelinesView.js +109 -0
  66. package/dist/streams-view/timelinesView.js.map +1 -0
  67. package/dist/streams-view/timelinesViewModel.d.ts +38 -0
  68. package/dist/streams-view/timelinesViewModel.d.ts.map +1 -0
  69. package/dist/streams-view/timelinesViewModel.js +681 -0
  70. package/dist/streams-view/timelinesViewModel.js.map +1 -0
  71. package/dist/sync-agent/dms/models/dm.js +2 -2
  72. package/dist/sync-agent/dms/models/dm.js.map +1 -1
  73. package/dist/sync-agent/gdms/models/gdm.js +2 -2
  74. package/dist/sync-agent/gdms/models/gdm.js.map +1 -1
  75. package/dist/sync-agent/spaces/models/channel.js +3 -3
  76. package/dist/sync-agent/spaces/models/channel.js.map +1 -1
  77. package/dist/sync-agent/syncAgent.d.ts.map +1 -1
  78. package/dist/sync-agent/syncAgent.js +4 -0
  79. package/dist/sync-agent/syncAgent.js.map +1 -1
  80. package/dist/sync-agent/timeline/models/timeline-types.d.ts +2 -1
  81. package/dist/sync-agent/timeline/models/timeline-types.d.ts.map +1 -1
  82. package/dist/sync-agent/timeline/models/timeline-types.js +109 -0
  83. package/dist/sync-agent/timeline/models/timeline-types.js.map +1 -1
  84. package/dist/sync-agent/timeline/timeline.d.ts +9 -26
  85. package/dist/sync-agent/timeline/timeline.d.ts.map +1 -1
  86. package/dist/sync-agent/timeline/timeline.js +21 -226
  87. package/dist/sync-agent/timeline/timeline.js.map +1 -1
  88. package/dist/syncedStream.d.ts +2 -1
  89. package/dist/syncedStream.d.ts.map +1 -1
  90. package/dist/syncedStream.js +11 -12
  91. package/dist/syncedStream.js.map +1 -1
  92. package/dist/syncedStreams.d.ts +1 -0
  93. package/dist/syncedStreams.d.ts.map +1 -1
  94. package/dist/syncedStreams.js.map +1 -1
  95. package/dist/syncedStreamsLoop.d.ts +1 -0
  96. package/dist/syncedStreamsLoop.d.ts.map +1 -1
  97. package/dist/syncedStreamsLoop.js +6 -1
  98. package/dist/syncedStreamsLoop.js.map +1 -1
  99. package/dist/tags.d.ts.map +1 -1
  100. package/dist/tags.js +15 -16
  101. package/dist/tags.js.map +1 -1
  102. package/dist/tests/bob_testUtils.d.ts.map +1 -1
  103. package/dist/tests/bob_testUtils.js +4 -1
  104. package/dist/tests/bob_testUtils.js.map +1 -1
  105. package/dist/tests/multi/entitlements/channelsWithEntitlements.test.js +3 -3
  106. package/dist/tests/multi/entitlements/channelsWithEntitlements.test.js.map +1 -1
  107. package/dist/tests/multi/sync-agent/timeline.test.js +12 -7
  108. package/dist/tests/multi/sync-agent/timeline.test.js.map +1 -1
  109. package/dist/tests/multi/transactions_SpaceReview.test.js +11 -17
  110. package/dist/tests/multi/transactions_SpaceReview.test.js.map +1 -1
  111. package/dist/tests/multi/transactions_Tip.test.js +16 -20
  112. package/dist/tests/multi/transactions_Tip.test.js.map +1 -1
  113. package/dist/tests/multi_ne/channels.test.js +6 -8
  114. package/dist/tests/multi_ne/channels.test.js.map +1 -1
  115. package/dist/tests/multi_ne/client.test.js +45 -62
  116. package/dist/tests/multi_ne/client.test.js.map +1 -1
  117. package/dist/tests/multi_ne/clientDecryptionExtensions.test.js +6 -11
  118. package/dist/tests/multi_ne/clientDecryptionExtensions.test.js.map +1 -1
  119. package/dist/tests/multi_ne/deviceKeyMessage.test.js +6 -4
  120. package/dist/tests/multi_ne/deviceKeyMessage.test.js.map +1 -1
  121. package/dist/tests/multi_ne/gdms.test.js +6 -1
  122. package/dist/tests/multi_ne/gdms.test.js.map +1 -1
  123. package/dist/tests/multi_ne/media.test.js +1 -1
  124. package/dist/tests/multi_ne/media.test.js.map +1 -1
  125. package/dist/tests/multi_ne/space.test.js +1 -1
  126. package/dist/tests/multi_ne/space.test.js.map +1 -1
  127. package/dist/tests/multi_ne/streamRpcClient.test.js +4 -1
  128. package/dist/tests/multi_ne/streamRpcClient.test.js.map +1 -1
  129. package/dist/tests/multi_ne/streamRpcClientSync.test.js +8 -2
  130. package/dist/tests/multi_ne/streamRpcClientSync.test.js.map +1 -1
  131. package/dist/tests/multi_ne/syncWithBlocks.test.js +4 -1
  132. package/dist/tests/multi_ne/syncWithBlocks.test.js.map +1 -1
  133. package/dist/tests/multi_ne/syncedStream.test.js +39 -7
  134. package/dist/tests/multi_ne/syncedStream.test.js.map +1 -1
  135. package/dist/tests/multi_ne/syncedStreams.test.js +9 -365
  136. package/dist/tests/multi_ne/syncedStreams.test.js.map +1 -1
  137. package/dist/tests/multi_ne/tags.test.js +114 -85
  138. package/dist/tests/multi_ne/tags.test.js.map +1 -1
  139. package/dist/tests/multi_ne/userSettings.test.js +15 -15
  140. package/dist/tests/multi_ne/userSettings.test.js.map +1 -1
  141. package/dist/tests/syncAgent_testUtils.d.ts.map +1 -1
  142. package/dist/tests/syncAgent_testUtils.js +4 -0
  143. package/dist/tests/syncAgent_testUtils.js.map +1 -1
  144. package/dist/tests/testDriver_testUtils.d.ts.map +1 -1
  145. package/dist/tests/testDriver_testUtils.js +4 -7
  146. package/dist/tests/testDriver_testUtils.js.map +1 -1
  147. package/dist/tests/testUtils.d.ts +1 -0
  148. package/dist/tests/testUtils.d.ts.map +1 -1
  149. package/dist/tests/testUtils.js +13 -4
  150. package/dist/tests/testUtils.js.map +1 -1
  151. package/dist/tests/unit/crypto.test.js +6 -0
  152. package/dist/tests/unit/crypto.test.js.map +1 -1
  153. package/dist/tests/unit/crypto_utils.test.js +1 -1
  154. package/dist/tests/unit/crypto_utils.test.js.map +1 -1
  155. package/dist/tests/unit/helpers/ConversationBuilder.d.ts +39 -0
  156. package/dist/tests/unit/helpers/ConversationBuilder.d.ts.map +1 -0
  157. package/dist/tests/unit/helpers/ConversationBuilder.js +171 -0
  158. package/dist/tests/unit/helpers/ConversationBuilder.js.map +1 -0
  159. package/dist/tests/unit/timelineStoreInterface.test.d.ts +5 -0
  160. package/dist/tests/unit/timelineStoreInterface.test.d.ts.map +1 -0
  161. package/dist/tests/unit/timelineStoreInterface.test.js +343 -0
  162. package/dist/tests/unit/timelineStoreInterface.test.js.map +1 -0
  163. package/dist/unauthenticatedClient.d.ts +2 -1
  164. package/dist/unauthenticatedClient.d.ts.map +1 -1
  165. package/dist/unauthenticatedClient.js +2 -2
  166. package/dist/unauthenticatedClient.js.map +1 -1
  167. package/package.json +11 -10
  168. package/dist/crypto_utils.d.ts +0 -15
  169. package/dist/crypto_utils.d.ts.map +0 -1
  170. package/dist/crypto_utils.js +0 -99
  171. package/dist/crypto_utils.js.map +0 -1
  172. package/dist/sync-agent/timeline/models/pendingReplacedEvents.d.ts +0 -12
  173. package/dist/sync-agent/timeline/models/pendingReplacedEvents.d.ts.map +0 -1
  174. package/dist/sync-agent/timeline/models/pendingReplacedEvents.js +0 -20
  175. package/dist/sync-agent/timeline/models/pendingReplacedEvents.js.map +0 -1
  176. package/dist/sync-agent/timeline/models/reactions.d.ts +0 -13
  177. package/dist/sync-agent/timeline/models/reactions.d.ts.map +0 -1
  178. package/dist/sync-agent/timeline/models/reactions.js +0 -67
  179. package/dist/sync-agent/timeline/models/reactions.js.map +0 -1
  180. package/dist/sync-agent/timeline/models/replacedEvents.d.ts +0 -18
  181. package/dist/sync-agent/timeline/models/replacedEvents.d.ts.map +0 -1
  182. package/dist/sync-agent/timeline/models/replacedEvents.js +0 -19
  183. package/dist/sync-agent/timeline/models/replacedEvents.js.map +0 -1
  184. package/dist/sync-agent/timeline/models/threadStats.d.ts +0 -14
  185. package/dist/sync-agent/timeline/models/threadStats.d.ts.map +0 -1
  186. package/dist/sync-agent/timeline/models/threadStats.js +0 -99
  187. package/dist/sync-agent/timeline/models/threadStats.js.map +0 -1
  188. package/dist/sync-agent/timeline/models/threads.d.ts +0 -14
  189. package/dist/sync-agent/timeline/models/threads.d.ts.map +0 -1
  190. package/dist/sync-agent/timeline/models/threads.js +0 -57
  191. package/dist/sync-agent/timeline/models/threads.js.map +0 -1
  192. package/dist/sync-agent/timeline/models/timelineEvent.d.ts +0 -12
  193. package/dist/sync-agent/timeline/models/timelineEvent.d.ts.map +0 -1
  194. package/dist/sync-agent/timeline/models/timelineEvent.js.map +0 -1
  195. package/dist/sync-agent/timeline/models/timelineEvents.d.ts +0 -13
  196. package/dist/sync-agent/timeline/models/timelineEvents.d.ts.map +0 -1
  197. package/dist/sync-agent/timeline/models/timelineEvents.js +0 -37
  198. package/dist/sync-agent/timeline/models/timelineEvents.js.map +0 -1
@@ -4,6 +4,19 @@
4
4
  import { MembershipOp } from '@towns-protocol/proto';
5
5
  import { makeTestClient, waitFor } from '../testUtils';
6
6
  import { genShortId } from '../../id';
7
+ import { getFallbackContent } from '../../streams-view/timelineEvents';
8
+ import { dlog } from '@towns-protocol/dlog';
9
+ const log = dlog('test:syncedStream');
10
+ function logTimeline(name, stream) {
11
+ log('xoxoxo ' + name, stream.miniblockInfo.min, stream.miniblockInfo.max);
12
+ log(stream.timeline
13
+ .map((e) => ({
14
+ eventId: e.eventId,
15
+ kind: getFallbackContent('', e.content),
16
+ eventNumber: e.confirmedEventNum ?? e.eventNum,
17
+ }))
18
+ .sort((a, b) => Number(a.eventNumber - b.eventNumber)));
19
+ }
7
20
  describe('syncedStream', () => {
8
21
  test('clientRefreshesStreamOnBadSyncCookie', async () => {
9
22
  const bobDeviceId = genShortId();
@@ -24,31 +37,50 @@ describe('syncedStream', () => {
24
37
  await alice.sendMessage(streamId, `'hello ${i}`);
25
38
  await alice.debugForceMakeMiniblock(streamId, { forceSnapshot: true });
26
39
  }
40
+ logTimeline('alice', aliceStream.view);
27
41
  // later, Bob returns
28
42
  const bob2 = await makeTestClient({ context: bob.signerContext, deviceId: bobDeviceId });
29
43
  await bob2.initializeUser();
30
44
  bob2.startSync();
31
45
  // the stream is now loaded from cache
32
46
  const bobStreamFresh = await bob2.waitForStream(streamId);
33
- const fresh = bobStreamFresh.view.timeline.map((e) => e.remoteEvent?.hashStr);
34
- const cached = bobStreamCached.view.timeline.map((e) => e.remoteEvent?.hashStr);
47
+ logTimeline('bobFresh', bobStreamFresh.view);
48
+ logTimeline('bobCached', bobStreamCached.view);
49
+ const fresh = bobStreamFresh.view.timeline.map((e) => e.eventId);
50
+ const cached = bobStreamCached.view.timeline.map((e) => e.eventId);
35
51
  expect(fresh.length).toBeGreaterThan(0);
36
52
  expect(cached.length).toBeGreaterThan(0);
37
- expect(fresh).toEqual(cached);
53
+ expect(fresh).toStrictEqual(cached);
38
54
  expect(aliceStream.view.timeline.length).toBeGreaterThan(bobStreamFresh.view.timeline.length);
39
55
  // wait for new stream to trigger bad_sync_cookie and get a fresh view sent back
40
56
  await waitFor(() => bobStreamFresh.view.miniblockInfo.max > bobStreamCached.view.miniblockInfo.max);
41
57
  // Backfill the entire stream
42
58
  while (!bobStreamFresh.view.miniblockInfo.terminusReached) {
59
+ logTimeline('backfilling bobfresh', bobStreamFresh.view);
43
60
  await bob2.scrollback(streamId);
44
61
  }
62
+ logTimeline('backfilled bobfresh', bobStreamFresh.view);
45
63
  // Once Bob's stream is fully backfilled, the sync cookie should match Alice's
46
64
  await waitFor(() => aliceStream.view.miniblockInfo.max === bobStreamFresh.view.miniblockInfo.max);
47
65
  // check that the events are the same
48
- const aliceEvents = aliceStream.view.timeline.map((e) => e.hashStr);
49
- const bobEvents = bobStreamFresh.view.timeline.map((e) => e.hashStr);
50
- await waitFor(() => expect(aliceEvents.sort()).toStrictEqual(bobEvents.sort()));
51
- const bobEventCount = bobEvents.length;
66
+ await waitFor(() => {
67
+ const aliceEvents = aliceStream.view.timeline
68
+ .map((e) => ({
69
+ eventId: e.eventId,
70
+ kind: getFallbackContent('', e.content),
71
+ eventNumber: e.confirmedEventNum ?? e.eventNum,
72
+ }))
73
+ .sort((a, b) => Number(a.eventNumber - b.eventNumber));
74
+ const bobEvents = bobStreamFresh.view.timeline
75
+ .map((e) => ({
76
+ eventId: e.eventId,
77
+ kind: getFallbackContent('', e.content),
78
+ eventNumber: e.confirmedEventNum ?? e.eventNum,
79
+ }))
80
+ .sort((a, b) => Number(a.eventNumber - b.eventNumber));
81
+ expect(bobEvents).toStrictEqual(aliceEvents);
82
+ });
83
+ const bobEventCount = bobStreamFresh.view.timeline.length;
52
84
  // Alice sends another 5 messages
53
85
  for (let i = 0; i < 5; i++) {
54
86
  await alice.sendMessage(streamId, `'hello again ${i}`);
@@ -1 +1 @@
1
- {"version":3,"file":"syncedStream.test.js","sourceRoot":"","sources":["../../../src/tests/multi_ne/syncedStream.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"syncedStream.test.js","sourceRoot":"","sources":["../../../src/tests/multi_ne/syncedStream.test.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ import EventEmitter from 'events';
12
12
  import { SyncedStream } from '../../syncedStream';
13
13
  import { StubPersistenceStore } from '../../persistenceStore';
14
14
  import { nanoid } from 'nanoid';
15
+ import { StreamsView } from '../../streams-view/streamsView';
15
16
  const log = dlog('csb:test:syncedStreams');
16
17
  describe('syncStreams', () => {
17
18
  beforeEach(async () => {
@@ -49,7 +50,7 @@ describe('syncStreams', () => {
49
50
  const rpcClient = await makeTestRpcClient();
50
51
  const alicesContext = await makeRandomUserContext();
51
52
  const alicesUserId = userIdFromAddress(alicesContext.creatorAddress);
52
- const alicesSyncedStreams = new SyncedStreams(alicesUserId, rpcClient, mockClientEmitter, undefined, shortenHexString(alicesUserId));
53
+ const alicesSyncedStreams = new SyncedStreams(alicesUserId, rpcClient, mockClientEmitter, undefined, shortenHexString(alicesUserId), { useModifySync: true, useSharedSyncer: true });
53
54
  // some helper functions
54
55
  const createStream = async (streamId, events) => {
55
56
  const streamResponse = await rpcClient.createStream({
@@ -67,7 +68,13 @@ describe('syncStreams', () => {
67
68
  streamId: alicesUserInboxStreamId,
68
69
  })),
69
70
  ]);
70
- const userInboxStream = new SyncedStream(alicesUserId, alicesUserInboxStreamIdStr, mockClientEmitter, log, stubPersistenceStore);
71
+ const streamsViewDelegate = {
72
+ isDMMessageEventBlocked: (_event, _kind) => {
73
+ return false;
74
+ },
75
+ };
76
+ const streamsView = new StreamsView(alicesUserId, streamsViewDelegate);
77
+ const userInboxStream = new SyncedStream(alicesUserId, alicesUserInboxStreamIdStr, streamsView, mockClientEmitter, log, stubPersistenceStore);
71
78
  await userInboxStream.initializeFromResponse(userInboxStreamResponse);
72
79
  alicesSyncedStreams.startSyncStreams();
73
80
  await done1.promise;
@@ -144,367 +151,4 @@ describe('syncStreams', () => {
144
151
  await alicesSyncedStreams.stopSync();
145
152
  });
146
153
  });
147
- // /***** WARNING: This is a MANUAL test case ***** */
148
- // // not designed to work with CI
149
- // // once the sync has started, manually kill the server, and restart it.
150
- // // the test should see the sync retry. (this is a bit of a hack, but it works)
151
- // // test should stop on its own after you've killed and restarted the server
152
- // // MAX_SYNC_COUNT times.
153
- // test.skip('retry loop', async () => {
154
- // /** Arrange */
155
- // const done = makeDonePromise()
156
- // const alice = await makeTestRpcClient()
157
- // const alicesUserId = userIdFromAddress(alicesContext.creatorAddress)
158
- // const alicesUserStreamId = makeUserStreamId(alicesUserId)
159
- // // create account for alice
160
- // const aliceUserStream = await alice.createStream({
161
- // events: [
162
- // await makeEvent(
163
- // alicesContext,
164
- // make_UserPayload_Inception({
165
- // streamId: alicesUserStreamId,
166
- // }),
167
- // ),
168
- // ],
169
- // streamId: alicesUserStreamId,
170
- // })
171
- // const { streamAndCookie } = unpackStreamResponse(aliceUserStream)
172
- // /** Act */
173
- // const MAX_SYNC_COUNT = 3 // how many times to see the sync succeed before stopping the test.
174
- // const statesSeen = new Set<SyncState>()
175
- // let syncSuccessCount = 0 // count how many times the sync has succeeded
176
- // let syncId: string | undefined
177
- // let endedSyncId: string | undefined
178
- // const mockClientEmitter = mock<TypedEventEmitter<EmittedEvents>>()
179
- // const mockStore = mock<PersistenceStore>()
180
- // const alicesSyncedStreams = new SyncedStreams(
181
- // alicesUserId,
182
- // alice,
183
- // mockStore,
184
- // mockClientEmitter,
185
- // )
186
- // alicesSyncedStreams.on('syncStarting', () => {
187
- // log('syncStarting')
188
- // statesSeen.add(SyncState.Starting)
189
- // })
190
- // alicesSyncedStreams.on('syncing', (_syncId) => {
191
- // syncId = _syncId
192
- // syncSuccessCount++
193
- // log('syncing', _syncId, 'syncSuccessCount', syncSuccessCount)
194
- // statesSeen.add(SyncState.Syncing)
195
- // if (syncSuccessCount >= MAX_SYNC_COUNT) {
196
- // // reached max successful re-syncs, cancel the sync to stop the test.
197
- // const stopSync = async function () {
198
- // await alicesSyncedStreams.stopSync()
199
- // done.done()
200
- // }
201
- // stopSync()
202
- // }
203
- // })
204
- // alicesSyncedStreams.on('syncCanceling', (_syncId) => {
205
- // endedSyncId = _syncId
206
- // log('syncCanceling', _syncId)
207
- // statesSeen.add(SyncState.Canceling)
208
- // })
209
- // alicesSyncedStreams.on('syncStopped', () => {
210
- // log('syncStopped')
211
- // statesSeen.add(SyncState.NotSyncing)
212
- // })
213
- // alicesSyncedStreams.on('syncRetrying', (retryDelay) => {
214
- // log(`syncRetrying in ${retryDelay} ms`)
215
- // statesSeen.add(SyncState.Retrying)
216
- // })
217
- // alicesSyncedStreams.startSync()
218
- // await alicesSyncedStreams.addStreamToSync(streamAndCookie.nextSyncCookie)
219
- // /** Assert */
220
- // await expect(done.expectToSucceed()).resolves.not.toThrow()
221
- // expect(syncId).toBeDefined()
222
- // expect(endedSyncId).toEqual(syncId)
223
- // expect(statesSeen).toEqual(
224
- // new Set([
225
- // SyncState.Starting,
226
- // SyncState.Syncing,
227
- // SyncState.Canceling,
228
- // SyncState.NotSyncing,
229
- // SyncState.Retrying,
230
- // ]),
231
- // )
232
- // }, 1000000)
233
- // test('addStreamToSync', async () => {
234
- // /** Arrange */
235
- // const alice = await makeTestRpcClient()
236
- // const alicesUserId = userIdFromAddress(alicesContext.creatorAddress)
237
- // const alicesUserStreamId = makeUserStreamId(alicesUserId)
238
- // const bob = await makeTestRpcClient()
239
- // const bobsUserId = userIdFromAddress(bobsContext.creatorAddress)
240
- // const bobsUserStreamId = makeUserStreamId(bobsUserId)
241
- // // create accounts for alice and bob
242
- // await alice.createStream({
243
- // events: [
244
- // await makeEvent(
245
- // alicesContext,
246
- // make_UserPayload_Inception({
247
- // streamId: alicesUserStreamId,
248
- // }),
249
- // ),
250
- // ],
251
- // streamId: alicesUserStreamId,
252
- // })
253
- // await bob.createStream({
254
- // events: [
255
- // await makeEvent(
256
- // bobsContext,
257
- // make_UserPayload_Inception({
258
- // streamId: bobsUserStreamId,
259
- // }),
260
- // ),
261
- // ],
262
- // streamId: bobsUserStreamId,
263
- // })
264
- // // alice creates a space
265
- // const spaceId = makeUniqueSpaceStreamId()
266
- // const inceptionEvent = await makeEvent(
267
- // alicesContext,
268
- // make_SpacePayload_Inception({
269
- // streamId: spaceId,
270
- // }),
271
- // )
272
- // const joinEvent = await makeEvent(
273
- // alicesContext,
274
- // make_MemberPayload_Membership2({
275
- // userId: alicesUserId,
276
- // op: MembershipOp.SO_JOIN,
277
- // }),
278
- // )
279
- // await alice.createStream({
280
- // events: [inceptionEvent, joinEvent],
281
- // streamId: spaceId,
282
- // })
283
- // // alice creates a channel
284
- // const channelId = makeUniqueChannelStreamId()
285
- // const channelProperties = 'Alices channel properties'
286
- // const channelInceptionEvent = await makeEvent(
287
- // alicesContext,
288
- // make_ChannelPayload_Inception({
289
- // streamId: channelId,
290
- // spaceId: spaceId,
291
- // channelProperties: make_fake_encryptedData(channelProperties),
292
- // }),
293
- // )
294
- // let event = await makeEvent(
295
- // alicesContext,
296
- // make_MemberPayload_Membership2({
297
- // userId: alicesUserId,
298
- // op: MembershipOp.SO_JOIN,
299
- // }),
300
- // )
301
- // const alicesChannel = await alice.createStream({
302
- // events: [channelInceptionEvent, event],
303
- // streamId: channelId,
304
- // })
305
- // /** Act */
306
- // const syncing = makeDonePromise()
307
- // const messageReceived = makeDonePromise()
308
- // let syncId: string | undefined
309
- // let bobReceived: StreamChange | undefined
310
- // const mockClientEmitter = mock<TypedEventEmitter<EmittedEvents>>()
311
- // const mockStore = mock<PersistenceStore>()
312
- // const bobsSyncedStreams = new SyncedStreams(bobsUserId, bob, mockStore, mockClientEmitter)
313
- // // helper function to post a message from alice to the channel
314
- // async function alicePostsMessage() {
315
- // // alice posts a message
316
- // event = await makeEvent(
317
- // alicesContext,
318
- // make_ChannelPayload_Message({
319
- // ...TEST_ENCRYPTED_MESSAGE_PROPS,
320
- // ciphertext: 'hello',
321
- // }),
322
- // alicesChannel.miniblocks.at(-1)?.header?.hash,
323
- // )
324
- // await alice.addEvent({
325
- // streamId: channelId,
326
- // event,
327
- // })
328
- // }
329
- // // listen for the 'syncing' event, which is emitted when the sync
330
- // // loop begins...
331
- // bobsSyncedStreams.on('syncing', (_syncId) => {
332
- // // ...then continue the test in this event handler...
333
- // syncId = _syncId
334
- // log('syncing', _syncId)
335
- // syncing.done()
336
- // })
337
- // bobsSyncedStreams.startSync()
338
- // await syncing.expectToSucceed()
339
- // const stream = await fetchAndInitStreamAsync(bob, bobsUserId, channelId)
340
- // if (!stream) {
341
- // throw new Error('stream not found')
342
- // }
343
- // if (!stream.view.syncCookie) {
344
- // throw new Error('stream has no syncCookie')
345
- // }
346
- // stream.on('streamUpdated', (streamId, streamKind, change) => {
347
- // log('streamUpdated', streamId, streamKind, change)
348
- // bobReceived = change
349
- // messageReceived.done()
350
- // })
351
- // bobsSyncedStreams.set(channelId, stream)
352
- // await bobsSyncedStreams.addStreamToSync(stream.view.syncCookie)
353
- // await alicePostsMessage()
354
- // await messageReceived.expectToSucceed()
355
- // /** Assert */
356
- // expect(syncId).toBeDefined()
357
- // expect(stream).toBeDefined()
358
- // expect(bobReceived).toBeDefined()
359
- // })
360
- // test('removeStreamFromSync', async () => {
361
- // /** Arrange */
362
- // const alice = await makeTestRpcClient()
363
- // const alicesUserId = userIdFromAddress(alicesContext.creatorAddress)
364
- // const alicesUserStreamId = makeUserStreamId(alicesUserId)
365
- // const bob = await makeTestRpcClient()
366
- // const bobsUserId = userIdFromAddress(bobsContext.creatorAddress)
367
- // const bobsUserStreamId = makeUserStreamId(bobsUserId)
368
- // // create accounts for alice and bob
369
- // await alice.createStream({
370
- // events: [
371
- // await makeEvent(
372
- // alicesContext,
373
- // make_UserPayload_Inception({
374
- // streamId: alicesUserStreamId,
375
- // }),
376
- // ),
377
- // ],
378
- // streamId: alicesUserStreamId,
379
- // })
380
- // await bob.createStream({
381
- // events: [
382
- // await makeEvent(
383
- // bobsContext,
384
- // make_UserPayload_Inception({
385
- // streamId: bobsUserStreamId,
386
- // }),
387
- // ),
388
- // ],
389
- // streamId: bobsUserStreamId,
390
- // })
391
- // // alice creates a space
392
- // const spaceId = makeUniqueSpaceStreamId()
393
- // const inceptionEvent = await makeEvent(
394
- // alicesContext,
395
- // make_SpacePayload_Inception({
396
- // streamId: spaceId,
397
- // }),
398
- // )
399
- // const joinEvent = await makeEvent(
400
- // alicesContext,
401
- // make_MemberPayload_Membership2({
402
- // userId: alicesUserId,
403
- // op: MembershipOp.SO_JOIN,
404
- // }),
405
- // )
406
- // await alice.createStream({
407
- // events: [inceptionEvent, joinEvent],
408
- // streamId: spaceId,
409
- // })
410
- // // alice creates a channel
411
- // const channelId = makeUniqueChannelStreamId()
412
- // const channelProperties = 'Alices channel properties'
413
- // const channelInceptionEvent = await makeEvent(
414
- // alicesContext,
415
- // make_ChannelPayload_Inception({
416
- // streamId: channelId,
417
- // spaceId: spaceId,
418
- // channelProperties: make_fake_encryptedData(channelProperties),
419
- // }),
420
- // )
421
- // let event = await makeEvent(
422
- // alicesContext,
423
- // make_MemberPayload_Membership2({
424
- // userId: alicesUserId,
425
- // op: MembershipOp.SO_JOIN,
426
- // }),
427
- // )
428
- // const alicesChannel = await alice.createStream({
429
- // events: [channelInceptionEvent, event],
430
- // streamId: channelId,
431
- // })
432
- // /** Act */
433
- // const syncing = makeDonePromise()
434
- // const firstMessageReceived = makeDonePromise()
435
- // let bobReceivedCount: number = 0
436
- // const mockClientEmitter = mock<TypedEventEmitter<EmittedEvents>>()
437
- // const mockStore = mock<PersistenceStore>()
438
- // const bobsSyncedStreams = new SyncedStreams(bobsUserId, bob, mockStore, mockClientEmitter)
439
- // // helper function to post a message from alice to the channel
440
- // async function alicePostsMessage() {
441
- // // alice posts a message
442
- // event = await makeEvent(
443
- // alicesContext,
444
- // make_ChannelPayload_Message({
445
- // ...TEST_ENCRYPTED_MESSAGE_PROPS,
446
- // ciphertext: 'hello',
447
- // }),
448
- // alicesChannel.miniblocks.at(-1)?.header?.hash,
449
- // )
450
- // await alice.addEvent({
451
- // streamId: channelId,
452
- // event,
453
- // })
454
- // }
455
- // // listen for the 'syncing' event, which is emitted when the sync
456
- // // loop begins...
457
- // bobsSyncedStreams.on('syncing', (_syncId) => {
458
- // // ...then continue the test in this event handler...
459
- // log('syncing', _syncId)
460
- // syncing.done()
461
- // })
462
- // bobsSyncedStreams.startSync()
463
- // await syncing.expectToSucceed()
464
- // const stream = await fetchAndInitStreamAsync(bob, bobsUserId, channelId)
465
- // if (!stream) {
466
- // throw new Error('stream not found')
467
- // }
468
- // if (!stream.view.syncCookie) {
469
- // throw new Error('stream has no syncCookie')
470
- // }
471
- // stream.on('streamUpdated', (streamId, streamKind, change) => {
472
- // log('streamUpdated', streamId, streamKind, change)
473
- // bobReceivedCount++
474
- // firstMessageReceived.done()
475
- // })
476
- // bobsSyncedStreams.set(channelId, stream)
477
- // await bobsSyncedStreams.addStreamToSync(stream.view.syncCookie)
478
- // await alicePostsMessage()
479
- // await firstMessageReceived.expectToSucceed()
480
- // await bobsSyncedStreams.removeStreamFromSync(channelId)
481
- // await alicePostsMessage()
482
- // /** Assert */
483
- // // bob should not receive the second message
484
- // // because the channel was removed from the sync
485
- // expect(bobReceivedCount).toEqual(1)
486
- // })
487
- // })
488
- // async function fetchAndInitStreamAsync(
489
- // rpcClient: PromiseClient<typeof StreamService>,
490
- // userId: string,
491
- // streamId: string,
492
- // ): Promise<Stream> {
493
- // const mockClientEmitter = mock<TypedEventEmitter<EmittedEvents>>()
494
- // // get stream from server
495
- // const response = await rpcClient.getStream({ streamId })
496
- // // initialize stream
497
- // const { streamAndCookie, snapshot, miniblocks, prevSnapshotMiniblockNum } =
498
- // unpackStreamResponse(response)
499
- // const stream = new Stream(
500
- // userId,
501
- // streamId,
502
- // snapshot,
503
- // prevSnapshotMiniblockNum,
504
- // mockClientEmitter,
505
- // log,
506
- // )
507
- // stream.initialize(streamAndCookie, snapshot, miniblocks, undefined)
508
- // return stream
509
- // }
510
154
  //# sourceMappingURL=syncedStreams.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"syncedStreams.test.js","sourceRoot":"","sources":["../../../src/tests/multi_ne/syncedStreams.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"syncedStreams.test.js","sourceRoot":"","sources":["../../../src/tests/multi_ne/syncedStreams.test.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AACrE,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACjG,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AACpF,OAAO,EAAE,yBAAyB,EAAE,+BAA+B,EAAE,MAAM,aAAa,CAAA;AACxF,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAE7D,OAAO,YAAY,MAAM,QAAQ,CAAA;AAEjC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAE7D,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,WAAW,EAAuB,MAAM,gCAAgC,CAAA;AAEjF,MAAM,GAAG,GAAG,IAAI,CAAC,wBAAwB,CAAC,CAAA;AAE1C,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IACzB,UAAU,CAAC,KAAK,IAAI,EAAE;QAClB,GAAG,CAAC,YAAY,CAAC,CAAA;QACjB,qDAAqD;IACzD,CAAC,CAAC,CAAA;IAEF,SAAS,CAAC,KAAK,IAAI,EAAE;QACjB,GAAG,CAAC,WAAW,CAAC,CAAA;IACpB,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,qIAAqI;QACrI,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC9E,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAChF,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAEjF,0HAA0H;QAC1H,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC9E,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,CAAC,mFAAmF;IACtK,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,GAAG,CAAC,0CAA0C,CAAC,CAAA;QAE/C,gBAAgB;QAChB,MAAM,oBAAoB,GAAG,IAAI,oBAAoB,EAAE,CAAA;QACvD,MAAM,KAAK,GAAG,eAAe,EAAE,CAAA;QAC/B,IAAI,kCAAkC,GAAG,CAAC,CAAA;QAC1C,MAAM,iBAAiB,GAAG,IAAI,YAAY,EAAgC,CAAA;QAC1E,iBAAiB,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC,QAAiB,EAAE,EAAE;YAC3D,IAAI,QAAQ,EAAE,CAAC;gBACX,KAAK,CAAC,IAAI,EAAE,CAAA;YAChB,CAAC;QACL,CAAC,CAAC,CAAA;QACF,iBAAiB,CAAC,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACvD,kCAAkC,EAAE,CAAA;QACxC,CAAC,CAAC,CAAA;QACF,cAAc;QACd,MAAM,SAAS,GAAG,MAAM,iBAAiB,EAAE,CAAA;QAC3C,MAAM,aAAa,GAAG,MAAM,qBAAqB,EAAE,CAAA;QACnD,MAAM,YAAY,GAAG,iBAAiB,CAAC,aAAa,CAAC,cAAc,CAAC,CAAA;QACpE,MAAM,mBAAmB,GAAG,IAAI,aAAa,CACzC,YAAY,EACZ,SAAS,EACT,iBAAiB,EACjB,SAAS,EACT,gBAAgB,CAAC,YAAY,CAAC,EAC9B,EAAE,aAAa,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CACjD,CAAA;QAED,wBAAwB;QACxB,MAAM,YAAY,GAAG,KAAK,EAAE,QAAoB,EAAE,MAAgC,EAAE,EAAE;YAClF,MAAM,cAAc,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC;gBAChD,MAAM;gBACN,QAAQ;aACX,CAAC,CAAA;YACF,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;YACrE,OAAO,QAAQ,CAAA;QACnB,CAAC,CAAA;QAED,0BAA0B;QAC1B,MAAM,0BAA0B,GAAG,qBAAqB,CAAC,YAAY,CAAC,CAAA;QACtE,MAAM,uBAAuB,GAAG,eAAe,CAAC,0BAA0B,CAAC,CAAA;QAC3E,MAAM,uBAAuB,GAAG,MAAM,YAAY,CAAC,uBAAuB,EAAE;YACxE,MAAM,SAAS,CACX,aAAa,EACb,+BAA+B,CAAC;gBAC5B,QAAQ,EAAE,uBAAuB;aACpC,CAAC,CACL;SACJ,CAAC,CAAA;QAEF,MAAM,mBAAmB,GAAwB;YAC7C,uBAAuB,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBACvC,OAAO,KAAK,CAAA;YAChB,CAAC;SACJ,CAAA;QACD,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAA;QACtE,MAAM,eAAe,GAAG,IAAI,YAAY,CACpC,YAAY,EACZ,0BAA0B,EAC1B,WAAW,EACX,iBAAiB,EACjB,GAAG,EACH,oBAAoB,CACvB,CAAA;QACD,MAAM,eAAe,CAAC,sBAAsB,CAAC,uBAAuB,CAAC,CAAA;QAErE,mBAAmB,CAAC,gBAAgB,EAAE,CAAA;QACtC,MAAM,KAAK,CAAC,OAAO,CAAA;QAEnB,mBAAmB,CAAC,GAAG,CAAC,0BAA0B,EAAE,eAAe,CAAC,CAAA;QACpE,mBAAmB,CAAC,eAAe,CAC/B,0BAA0B,EAC1B,eAAe,CAAC,IAAI,CAAC,UAAW,CACnC,CAAA;QAED,wBAAwB;QACxB,MAAM,QAAQ,GAAG,KAAK,EAAE,OAA6C,EAAE,EAAE;YACrE,MAAM,SAAS,CAAC,QAAQ,CAAC;gBACrB,QAAQ,EAAE,uBAAuB;gBACjC,KAAK,EAAE,MAAM,SAAS,CAClB,aAAa,EACb,OAAO,EACP,uBAAuB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAC7D;aACJ,CAAC,CAAA;QACN,CAAC,CAAA;QACD,qBAAqB;QACrB,MAAM,CAAC,kCAAkC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAElD,wDAAwD;QACxD,MAAM,QAAQ,CACV,yBAAyB,CAAC;YACtB,SAAS,EAAE,YAAY;YACvB,YAAY,EAAE,EAAE;SACnB,CAAC,CACL,CAAA;QAED,wBAAwB;QACxB,MAAM,OAAO,CAAC,GAAG,EAAE;YACf,MAAM,CAAC,kCAAkC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACtD,CAAC,CAAC,CAAA;QACF,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;YACxB,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;YACrC,CAAC;YACD,MAAM,EAAE,GAAG,MAAM,EAAE,CAAA;YACnB,MAAM,EAAE,GAAG,MAAM,EAAE,CAAA;YACnB,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG;gBACtC,QAAQ,EAAE,mBAAmB,CAAC,QAAQ,CAAC,eAAe,EAAE;gBACxD,KAAK,EAAE,EAAE;gBACT,MAAM,EAAE,WAAW,CAAC,GAAG,EAAE;aAC5B,CAAA;YACD,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG;gBACtC,QAAQ,EAAE,mBAAmB,CAAC,QAAQ,CAAC,eAAe,EAAE;gBACxD,KAAK,EAAE,EAAE;gBACT,MAAM,EAAE,WAAW,CAAC,GAAG,EAAE;aAC5B,CAAA;YACD,iCAAiC;YACjC,MAAM,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC;gBAC1B,MAAM,EAAE,mBAAmB,CAAC,SAAS,EAAG;gBACxC,KAAK,EAAE,EAAE;aACZ,CAAC,CAAA;YACF,MAAM,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC;gBAC1B,MAAM,EAAE,mBAAmB,CAAC,SAAS,EAAG;gBACxC,KAAK,EAAE,EAAE;aACZ,CAAC,CAAA;YACF,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;YAC3B,MAAM,OAAO,CAAC,GAAG,EAAE,CACf,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAC5E,CAAA;YACD,MAAM,OAAO,CAAC,GAAG,EAAE,CACf,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAC5E,CAAA;QACL,CAAC,CAAA;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACzB,MAAM,QAAQ,EAAE,CAAA;QACpB,CAAC;QAED,aAAa;QACb,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC;YACrC,QAAQ,EAAE,uBAAuB;SACpC,CAAC,CAAA;QACF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAA;QAEnC,kBAAkB;QAClB,MAAM,SAAS,CAAC,IAAI,CAAC;YACjB,KAAK,EAAE,CAAC,aAAa,EAAE,mBAAmB,CAAC,SAAS,EAAG,EAAE,0BAA0B,CAAC;SACvF,CAAC,CAAA;QAEF,qBAAqB;QACrB,MAAM,CAAC,kCAAkC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAElD,mBAAmB;QACnB,MAAM,QAAQ,CACV,yBAAyB,CAAC;YACtB,SAAS,EAAE,YAAY;YACvB,YAAY,EAAE,EAAE;SACnB,CAAC,CACL,CAAA;QAED,wBAAwB;QACxB,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,kCAAkC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QAEvE,MAAM,mBAAmB,CAAC,QAAQ,EAAE,CAAA;IACxC,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"}