@towns-protocol/sdk 0.0.381 → 0.0.382

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.
@@ -3,10 +3,11 @@ import { type StreamRpcClient } from './makeStreamRpcClient';
3
3
  import { type SignerContext } from './signerContext';
4
4
  import { ethers } from 'ethers';
5
5
  import { type Address } from '@towns-protocol/web3';
6
- import { type ParsedEvent, type ParsedStreamResponse, type MiniblockInfoResponse } from './types';
6
+ import { type ParsedEvent, type MiniblockInfoResponse } from './types';
7
7
  import { UnpackEnvelopeOpts } from './sign';
8
8
  import { UserInboxPayload_GroupEncryptionSessions, type Envelope, type PlainMessage, type StreamEvent, type Tags } from '@towns-protocol/proto';
9
9
  import { AppRegistryRpcClient } from './makeAppRegistryRpcClient';
10
+ import { StreamStateView } from './streamStateView';
10
11
  type Client_Base = {
11
12
  /** The userId of the Client. */
12
13
  userId: Address;
@@ -33,7 +34,7 @@ type Client_Base = {
33
34
  /** Get the app service, will authenticate on first call and cache the service for subsequent calls */
34
35
  appServiceClient: () => Promise<AppRegistryRpcClient>;
35
36
  /** Get a stream by streamId and unpack it */
36
- getStream: (streamId: string) => Promise<ParsedStreamResponse>;
37
+ getStream: (streamId: string) => Promise<StreamStateView>;
37
38
  /** Get the miniblock info for a stream */
38
39
  getMiniblockInfo: (streamId: string) => Promise<MiniblockInfoResponse>;
39
40
  /** Unpack envelope using client config */
@@ -1 +1 @@
1
- {"version":3,"file":"client-v2.d.ts","sourceRoot":"","sources":["../src/client-v2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client-v2.d.ts","sourceRoot":"","sources":["../src/client-v2.ts"],"names":[],"mappings":"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"}
package/dist/client-v2.js CHANGED
@@ -7,13 +7,14 @@ import { RiverRegistry } from '@towns-protocol/web3';
7
7
  import { makeSessionKeys } from './decryptionExtensions';
8
8
  import { makeBaseProvider, makeRiverProvider } from './sync-agent/utils/providers';
9
9
  import { RiverDbManager } from './riverDbManager';
10
- import { makeUserInboxStreamId, makeUserMetadataStreamId, streamIdAsBytes, userIdFromAddress, } from './id';
10
+ import { makeUserInboxStreamId, makeUserMetadataStreamId, streamIdAsBytes, streamIdAsString, userIdFromAddress, } from './id';
11
11
  import { make_UserInboxPayload_GroupEncryptionSessions, } from './types';
12
12
  import { makeEvent, unpackStream, unpackEnvelope as sdk_unpackEnvelope, unpackEnvelopes as sdk_unpackEnvelopes, } from './sign';
13
13
  import { bin_toHexString, check } from '@towns-protocol/utils';
14
14
  import { fromJsonString, toJsonString } from '@bufbuild/protobuf';
15
15
  import { SessionKeysSchema, } from '@towns-protocol/proto';
16
16
  import { AppRegistryService } from './appRegistryService';
17
+ import { StreamStateView } from './streamStateView';
17
18
  export const createTownsClient = async (params) => {
18
19
  const config = townsEnv().makeTownsConfig(params.env);
19
20
  const baseProvider = makeBaseProvider(config);
@@ -54,10 +55,13 @@ export const createTownsClient = async (params) => {
54
55
  const getStream = async (streamId) => {
55
56
  const { disableHashValidation, disableSignatureValidation } = client;
56
57
  const stream = await client.rpc.getStream({ streamId: streamIdAsBytes(streamId) });
57
- return unpackStream(stream.stream, {
58
+ const unpackedResponse = await unpackStream(stream.stream, {
58
59
  disableHashValidation,
59
60
  disableSignatureValidation,
60
61
  });
62
+ const streamView = new StreamStateView(userId, streamIdAsString(streamId), undefined);
63
+ streamView.initialize(unpackedResponse.streamAndCookie.nextSyncCookie, unpackedResponse.streamAndCookie.events, unpackedResponse.snapshot, unpackedResponse.streamAndCookie.miniblocks, [], unpackedResponse.prevSnapshotMiniblockNum, undefined, [], undefined);
64
+ return streamView;
61
65
  };
62
66
  const unpackEnvelope = async (envelope) => {
63
67
  const { disableHashValidation, disableSignatureValidation } = client;
@@ -83,38 +87,50 @@ export const createTownsClient = async (params) => {
83
87
  return { eventId, prevMiniblockHash };
84
88
  };
85
89
  const buildGroupEncryptionClient = () => {
86
- const downloadUserDeviceInfo = async (userIds) => {
87
- const forceDownload = userIds.length <= 10;
88
- const promises = userIds.map(async (userId) => {
89
- const streamId = makeUserMetadataStreamId(userId);
90
- try {
91
- // also always download your own keys so you always share to your most up to date devices
92
- if (!forceDownload && userId !== userId) {
93
- const devicesFromStore = await cryptoStore.getUserDevices(userId);
94
- if (devicesFromStore.length > 0) {
95
- return { userId, devices: devicesFromStore };
96
- }
97
- }
98
- // return latest 10 device keys
99
- const deviceLookback = 10;
100
- const stream = await getStream(streamId);
101
- const encryptionDevices = stream.snapshot.content.case === 'userMetadataContent'
102
- ? stream.snapshot.content.value.encryptionDevices
103
- : [];
104
- const userDevices = encryptionDevices.slice(-deviceLookback);
105
- await cryptoStore.saveUserDevices(userId, userDevices);
106
- return { userId, devices: userDevices };
107
- }
108
- catch (e) {
109
- return { userId, devices: [] };
90
+ const _downloadUserDeviceInfo = async (userId) => {
91
+ const streamId = makeUserMetadataStreamId(userId);
92
+ try {
93
+ const deviceLookback = 10;
94
+ const streamView = await getStream(streamId);
95
+ const userDevices = streamView.userMetadataContent.deviceKeys.slice(-deviceLookback);
96
+ return { userId, devices: userDevices };
97
+ }
98
+ catch (e) {
99
+ return { userId, devices: [] };
100
+ }
101
+ };
102
+ const _encryptAndShareGroupSessionsToUser = async (streamId, userId, sessionIds, payloadStr, algorithm, userDevice) => {
103
+ try {
104
+ const deviceKeys = await _downloadUserDeviceInfo(userId);
105
+ const ciphertext = await crypto.encryptWithDeviceKeys(payloadStr, deviceKeys.devices);
106
+ if (Object.keys(ciphertext).length === 0) {
107
+ return;
110
108
  }
111
- });
112
- return (await Promise.all(promises)).reduce((acc, current) => {
113
- acc[current.userId] = current.devices;
114
- return acc;
115
- }, {});
109
+ const toStreamId = makeUserInboxStreamId(userId);
110
+ const { hash: miniblockHash, miniblockNum } = await rpc.getLastMiniblockHash({
111
+ streamId: streamIdAsBytes(toStreamId),
112
+ });
113
+ const event = await makeEvent(signerContext, make_UserInboxPayload_GroupEncryptionSessions({
114
+ streamId: streamIdAsBytes(streamId),
115
+ senderKey: userDevice.deviceKey,
116
+ sessionIds: sessionIds,
117
+ ciphertexts: ciphertext,
118
+ algorithm: algorithm,
119
+ }), miniblockHash, miniblockNum);
120
+ const eventId = bin_toHexString(event.hash);
121
+ await rpc.addEvent({
122
+ streamId: streamIdAsBytes(toStreamId),
123
+ event,
124
+ });
125
+ return { miniblockHash, eventId };
126
+ }
127
+ catch (e) {
128
+ return undefined;
129
+ }
116
130
  };
117
- const encryptAndShareGroupSessions = async (streamId, sessions, toDevices, algorithm) => {
131
+ const encryptAndShareGroupSessionsToStream = async (streamId, sessions, algorithm, priorityUserIds) => {
132
+ const streamView = await getStream(streamId);
133
+ const otherUsers = Array.from(streamView.getUsersEntitledToKeyExchange()).filter((userId) => !priorityUserIds.includes(userId));
118
134
  check(sessions.length >= 0, 'no sessions to encrypt');
119
135
  check(new Set(sessions.map((s) => s.streamId)).size === 1, 'sessions should all be from the same stream');
120
136
  check(sessions[0].algorithm === algorithm, 'algorithm mismatch');
@@ -123,49 +139,21 @@ export const createTownsClient = async (params) => {
123
139
  const userDevice = crypto.getUserDevice();
124
140
  const sessionIds = sessions.map((session) => session.sessionId);
125
141
  const payload = makeSessionKeys(sessions);
126
- const promises = Object.entries(toDevices).map(async ([userId, deviceKeys]) => {
127
- try {
128
- const ciphertext = await crypto.encryptWithDeviceKeys(toJsonString(SessionKeysSchema, payload), deviceKeys);
129
- if (Object.keys(ciphertext).length === 0) {
130
- return;
131
- }
132
- const toStreamId = makeUserInboxStreamId(userId);
133
- const { hash: miniblockHash } = await rpc.getLastMiniblockHash({
134
- streamId: streamIdAsBytes(toStreamId),
135
- });
136
- const event = await makeEvent(signerContext, make_UserInboxPayload_GroupEncryptionSessions({
137
- streamId: streamIdAsBytes(toStreamId),
138
- senderKey: userDevice.deviceKey,
139
- sessionIds: sessionIds,
140
- ciphertexts: ciphertext,
141
- algorithm: algorithm,
142
- }), miniblockHash);
143
- const eventId = bin_toHexString(event.hash);
144
- await rpc.addEvent({
145
- streamId: streamIdAsBytes(streamId),
146
- event,
147
- });
148
- return { miniblockHash, eventId };
149
- }
150
- catch {
151
- return undefined;
152
- }
142
+ const payloadStr = toJsonString(SessionKeysSchema, payload);
143
+ // do the priority users first
144
+ const priorityPromises = priorityUserIds.map(async (userId) => {
145
+ return _encryptAndShareGroupSessionsToUser(streamId, userId, sessionIds, payloadStr, algorithm, userDevice);
153
146
  });
154
- await Promise.all(promises);
155
- };
156
- const getDevicesInStream = async (streamId) => {
157
- const stream = await getStream(streamId);
158
- if (!stream) {
159
- return {};
160
- }
161
- const members = stream.snapshot.members?.joined.map((x) => userIdFromAddress(x.userAddress));
162
- return downloadUserDeviceInfo(members ?? [], true);
147
+ await Promise.all(priorityPromises);
148
+ // then the other users
149
+ const otherPromises = otherUsers.map(async (userId) => {
150
+ return _encryptAndShareGroupSessionsToUser(streamId, userId, sessionIds, payloadStr, algorithm, userDevice);
151
+ });
152
+ await Promise.all(otherPromises);
163
153
  };
164
154
  return {
165
155
  getMiniblockInfo,
166
- downloadUserDeviceInfo,
167
- encryptAndShareGroupSessions,
168
- getDevicesInStream,
156
+ encryptAndShareGroupSessionsToStream,
169
157
  };
170
158
  };
171
159
  const appServiceClient = async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"client-v2.js","sourceRoot":"","sources":["../src/client-v2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client-v2.js","sourceRoot":"","sources":["../src/client-v2.ts"],"names":[],"mappings":"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"}
package/dist/client.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { SpaceReviewEventObject, TipSentEventObject } from '@towns-protocol/web3';
2
2
  import { PlainMessage, ChannelMessage_Post_Mention, ChannelMessage, ChannelMessage_Post, ChannelMessage_Post_Content_Text, ChannelMessage_Post_Content_Image, ChannelMessage_Post_Content_GM, ChannelMessage_Reaction, ChannelMessage_Redaction, StreamEvent, EncryptedData, StreamSettings, SpacePayload_ChannelSettings, FullyReadMarker, Envelope, ChannelMessage_Post_Attachment, ChunkedMedia, UserBio, Tags, BlockchainTransaction, CreationCookie, BlockchainTransaction_TokenTransfer, GetLastMiniblockHashResponse, InfoResponse, InteractionResponse } from '@towns-protocol/proto';
3
- import { CryptoStore, GroupEncryptionAlgorithmId, GroupEncryptionCrypto, GroupEncryptionSession, IGroupEncryptionClient, UserDevice, UserDeviceCollection, type EncryptionDeviceInitOpts } from '@towns-protocol/encryption';
3
+ import { CryptoStore, EnsureOutboundSessionOpts, GroupEncryptionAlgorithmId, GroupEncryptionCrypto, GroupEncryptionSession, IGroupEncryptionClient, UserDevice, UserDeviceCollection, type EncryptionDeviceInitOpts } from '@towns-protocol/encryption';
4
4
  import { DecryptionEvents, DecryptionExtensionsOptions, EntitlementsDelegate } from './decryptionExtensions';
5
5
  import { StreamRpcClient } from './makeStreamRpcClient';
6
6
  import TypedEmitter from 'typed-emitter';
@@ -300,11 +300,16 @@ export declare class Client extends Client_base implements IGroupEncryptionClien
300
300
  * that are in the room but that have been blocked.
301
301
  */
302
302
  getDevicesInStream(stream_id: string): Promise<UserDeviceCollection>;
303
+ getUsersEntitledToKeyExchange(streamId: string): Promise<string[]>;
303
304
  getMiniblockInfo(streamId: string): Promise<{
304
305
  miniblockNum: bigint;
305
306
  miniblockHash: Uint8Array;
306
307
  }>;
307
308
  downloadNewInboxMessages(): Promise<void>;
309
+ downloadSingleUserDeviceInfo(userId: string, forceDownload: boolean): Promise<{
310
+ userId: string;
311
+ devices: UserDevice[];
312
+ }>;
308
313
  downloadUserDeviceInfo(userIds: string[]): Promise<UserDeviceCollection>;
309
314
  knownDevicesForUserId(userId: string): Promise<UserDevice[]>;
310
315
  makeEventAndAddToStream(streamId: string | Uint8Array, payload: PlainMessage<StreamEvent>['payload'], options?: {
@@ -334,16 +339,17 @@ export declare class Client extends Client_base implements IGroupEncryptionClien
334
339
  }>;
335
340
  ackInboxStream(): Promise<void>;
336
341
  setHighPriorityStreams(streamIds: string[]): void;
337
- ensureOutboundSession(streamId: string, opts: {
338
- awaitInitialShareSession: boolean;
339
- }): Promise<void>;
342
+ ensureOutboundSession(streamId: string, opts?: EnsureOutboundSessionOpts): Promise<void>;
340
343
  /**
341
344
  * decrypts and updates the decrypted event
342
345
  */
343
346
  decryptGroupEvent(streamId: string, eventId: string, kind: string, // kind of data
344
347
  encryptedData: EncryptedData): Promise<void>;
345
348
  private cleartextForGroupEvent;
346
- encryptAndShareGroupSessions(inStreamId: string | Uint8Array, sessions: GroupEncryptionSession[], toDevices: UserDeviceCollection, algorithm: GroupEncryptionAlgorithmId): Promise<void>;
349
+ private _makeShareGroupSessionsContent;
350
+ private _encryptAndShareGroupSessionsToDevice;
351
+ encryptAndShareGroupSessionsToDevice(inStreamId: string | Uint8Array, sessions: GroupEncryptionSession[], algorithm: GroupEncryptionAlgorithmId, userId: string, deviceKeys: UserDevice[]): Promise<void>;
352
+ encryptAndShareGroupSessionsToStream(inStreamId: string | Uint8Array, sessions: GroupEncryptionSession[], algorithm: GroupEncryptionAlgorithmId, priorityUserIds: string[]): Promise<void>;
347
353
  encryptGroupEvent(event: Uint8Array, streamId: string, algorithm: GroupEncryptionAlgorithmId): Promise<EncryptedData>;
348
354
  encryptWithDeviceKeys(payloadClearText: string, deviceKeys: UserDevice[]): Promise<Record<string, string>>;
349
355
  userDeviceKey(): UserDevice;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AACA,OAAO,EAIH,sBAAsB,EACtB,kBAAkB,EACrB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACH,YAAY,EAGZ,2BAA2B,EAC3B,cAAc,EACd,mBAAmB,EACnB,gCAAgC,EAChC,iCAAiC,EACjC,8BAA8B,EAC9B,uBAAuB,EACvB,wBAAwB,EACxB,WAAW,EACX,aAAa,EACb,cAAc,EACd,4BAA4B,EAE5B,eAAe,EACf,QAAQ,EAER,8BAA8B,EAG9B,YAAY,EACZ,OAAO,EACP,IAAI,EACJ,qBAAqB,EAIrB,cAAc,EACd,mCAAmC,EAenC,4BAA4B,EAC5B,YAAY,EAEZ,mBAAmB,EACtB,MAAM,uBAAuB,CAAA;AAW9B,OAAO,EAEH,WAAW,EACX,0BAA0B,EAC1B,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,UAAU,EACV,oBAAoB,EACpB,KAAK,wBAAwB,EAChC,MAAM,4BAA4B,CAAA;AACnC,OAAO,EACH,gBAAgB,EAChB,2BAA2B,EAC3B,oBAAoB,EAGvB,MAAM,wBAAwB,CAAA;AAE/B,OAAO,EAAmB,eAAe,EAAiB,MAAM,uBAAuB,CAAA;AAIvF,OAAO,YAAY,MAAM,eAAe,CAAA;AAsBxC,OAAO,EAEH,kBAAkB,EAIrB,MAAM,QAAQ,CAAA;AACf,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAuBH,eAAe,EACf,gBAAgB,EAiBhB,eAAe,EAEf,wBAAwB,EAExB,WAAW,EACX,eAAe,EAElB,MAAM,SAAS,CAAA;AAIhB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AASjC,OAAO,EAIH,YAAY,EACf,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAE/C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAQ/C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC/E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAOxC,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,gBAAgB,CAAA;AAE1D,oBAAY,QAAQ;IAChB,IAAI,IAAA,CAAE,mBAAmB;IACzB,IAAI,IAAA;CACP;AAED,MAAM,MAAM,aAAa,GAAG;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAA;IAChC,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IACvC,+BAA+B,CAAC,EAAE,0BAA0B,CAAA;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;IAC1C,aAAa,CAAC,EAAE;QACZ,GAAG,EAAE,MAAM,CAAA;QACX,KAAK,CAAC,EAAE,kBAAkB,CAAA;QAC1B,UAAU,CAAC,EAAE,UAAU,CAAA;KAC1B,CAAA;IACD,wBAAwB,CAAC,EAAE,2BAA2B,CAAA;IACtD,yBAAyB,CAAC,EAAE,eAAe,CAAA;IAC3C,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACtB,CAAA;AAED,KAAK,yBAAyB,GAAG;IAC7B,mBAAmB,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IACnC,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAChD,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC5B,CAAA;AAED,KAAK,gCAAgC,GAAG;IACpC,WAAW,CAAC,EAAE,OAAO,CAAA;CACxB,CAAA;2BAc4B,UAAU,YAAY,CAAC,YAAY,CAAC;AADjE,qBAAa,MACT,SAAQ,WACR,YAAW,sBAAsB;IA8CtB,IAAI,CAAC,EAAE,aAAa;IA5C/B,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAA;IACrC,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAA;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAA;IAC/B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,aAAa,CAAC,EAAE,mBAAmB,CAAA;IAC5C,QAAQ,CAAC,yBAAyB,CAAC,EAAE,eAAe,CAAA;IAEpD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAE1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAE3B,aAAa,CAAC,EAAE,qBAAqB,CAAA;IACrC,WAAW,EAAE,WAAW,CAAA;IAE/B,OAAO,CAAC,iBAAiB,CAAmD;IAC5E,OAAO,CAAC,mBAAmB,CAAmD;IAC9E,OAAO,CAAC,kBAAkB,CAA0C;IACpE,OAAO,CAAC,qBAAqB,CAA6D;IAC1F,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,oBAAoB,CAAsB;IAClD,OAAO,CAAC,oBAAoB,CAAC,CAA0B;IACvD,OAAO,CAAC,uBAAuB,CAA0B;IACzD,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,+BAA+B,CAA4B;IACnE,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,uBAAuB,CAAwD;gBAGnF,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,eAAe,EAC1B,WAAW,EAAE,WAAW,EACxB,oBAAoB,EAAE,oBAAoB,EACnC,IAAI,CAAC,EAAE,aAAa,YAAA;IA+G/B,IAAI,gBAAgB,IAAI,OAAO,CAE9B;IAED,IAAI,gBAAgB,IAAI,gBAAgB,CAEvC;IAED,IAAI,iBAAiB,IAAI,OAAO,CAE/B;IAEK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAO3B,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,YAAY,GAAG,SAAS;IAI/D,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,YAAY;IAc/D,OAAO,CAAC,qBAAqB;IA0BvB,cAAc,CAAC,IAAI,CAAC,EAAE;QACxB,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM,CAAA;QAC7B,oBAAoB,CAAC,EAAE,wBAAwB,CAAA;QAC/C,UAAU,CAAC,EAAE,UAAU,GAAG,MAAM,CAAA;KACnC,GAAG,OAAO,CAAC;QACR,cAAc,EAAE,MAAM,CAAA;QACtB,kBAAkB,EAAE,MAAM,CAAA;QAC1B,uBAAuB,EAAE,MAAM,CAAA;QAC/B,0BAA0B,EAAE,MAAM,CAAA;QAClC,0BAA0B,EAAE,MAAM,CAAA;KACrC,CAAC;IAkDK,sBAAsB,CAAC,QAAQ,EAAE,OAAO;YAIjC,cAAc;YAWd,mBAAmB;YAgBnB,sBAAsB;YAkEtB,sBAAsB;YAoBtB,aAAa;YAcb,gBAAgB;YAuBhB,wBAAwB;YAuBxB,qBAAqB;YAuBrB,wBAAwB;YAyBxB,mBAAmB;IA8B3B,WAAW,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAgCpE,aAAa,CACf,OAAO,EAAE,MAAM,GAAG,UAAU,EAC5B,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,GAAG,UAAU,EAChC,cAAc,CAAC,EAAE,YAAY,CAAC,cAAc,CAAC,EAC7C,eAAe,CAAC,EAAE,YAAY,CAAC,4BAA4B,CAAC,GAC7D,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAgC1B,eAAe,CACjB,MAAM,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,YAAY,CAAC,cAAc,CAAC,GAC9C,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAsC1B,gBAAgB,CAClB,OAAO,EAAE,MAAM,EAAE,EACjB,iBAAiB,CAAC,EAAE,aAAa,EACjC,cAAc,CAAC,EAAE,YAAY,CAAC,cAAc,CAAC,GAC9C,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IA2C1B,iBAAiB,CACnB,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,EAC1C,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,EACxC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,UAAU,EACvB,YAAY,CAAC,EAAE,UAAU,EACzB,cAAc,CAAC,EAAE,YAAY,CAAC,cAAc,CAAC,EAC7C,kBAAkB,CAAC,EAAE,OAAO,GAC7B,OAAO,CAAC;QAAE,cAAc,EAAE,cAAc,CAAA;KAAE,CAAC;IAmExC,aAAa,CACf,OAAO,EAAE,MAAM,GAAG,UAAU,EAC5B,SAAS,EAAE,MAAM,GAAG,UAAU,EAC9B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM;iBAgnDG,MAAM;;IAhmDtB,qBAAqB,CACvB,OAAO,EAAE,MAAM,GAAG,UAAU,EAC5B,SAAS,EAAE,MAAM,GAAG,UAAU,EAC9B,QAAQ,EAAE,OAAO;iBA6lDC,MAAM;;IA7kDtB,oCAAoC,CACtC,OAAO,EAAE,MAAM,GAAG,UAAU,EAC5B,SAAS,EAAE,MAAM,GAAG,UAAU,EAC9B,uBAAuB,EAAE,OAAO;iBA0kDd,MAAM;;IArjDtB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM;iBAqjDtE,MAAM;;IAhiDtB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,EAAE,mBAAmB,CAAC,EAAE,MAAM;iBAgiD3D,MAAM;;IAzgDtB,oBAAoB,CACtB,SAAS,EAAE,MAAM,GAAG,UAAU,EAC9B,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC;iBAugD/B,MAAM;;IAj/CtB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO;iBAi/ClC,MAAM;;IAh9CtB,aAAa,CAAC,aAAa,EAAE,MAAM,EAAE,gBAAgB,EAAE,YAAY,CAAC,YAAY,CAAC;iBAg9CjE,MAAM;;IAl7CtB,mBAAmB,CAAC,gBAAgB,EAAE,YAAY,CAAC,YAAY,CAAC;iBAk7ChD,MAAM;;IAz5CtB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU;IAK/C,UAAU,CAAC,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC;iBAo5CrB,MAAM;;IA73CtB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU;IAKtC,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAcpD,WAAW,CACb,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,KAAK,GAAE,OAAe,EACtB,OAAO,CAAC,EAAE;QACN,mBAAmB,CAAC,EAAE,MAAM,CAAA;QAC5B,OAAO,CAAC,EAAE,MAAM,CAAA;KACnB;IA6DC,mBAAmB;IASnB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,UAAU;IAUlE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM;IAclF,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAsBtF,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;iBA+uCrB,MAAM;;IAltCtB,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;iBAktCvB,MAAM;;IAlsC5B,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAQ1D,aAAa,CACf,UAAU,EAAE,MAAM,GAAG,UAAU,EAC/B,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC9C,OAAO,CAAC,MAAM,CAAC;IA6CZ,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;YAkB7C,UAAU;IAoBxB,OAAO,CAAC,8BAA8B;IAoBhC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;YAiB/C,YAAY;IAsBpB,UAAU,CACZ,QAAQ,EAAE,MAAM,GAAG,UAAU,EAC7B,cAAc,GAAE,OAAc,EAC9B,aAAa,CAAC,EAAE,YAAY,GAC7B,OAAO,CAAC,MAAM,CAAC;YAkBJ,WAAW;IAkEzB,OAAO,CAAC,cAAc,CAKrB;IAED,OAAO,CAAC,iBAAiB,CAKxB;IAED,OAAO,CAAC,YAAY,CAGnB;IAED,OAAO,CAAC,gBAAgB,CA4CvB;IAED,SAAS;IAIH,QAAQ;IAKd,IAAI,CAAC,CAAC,SAAS,MAAM,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO;IAKrF,WAAW,CACb,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,YAAY,CAAC,2BAA2B,CAAC,EAAE,EACtD,WAAW,GAAE,YAAY,CAAC,8BAA8B,CAAC,EAAO,GACjE,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAUzB,kBAAkB,CACpB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,YAAY,CAAC,cAAc,CAAC,EACvC,IAAI,CAAC,EAAE,yBAAyB,GACjC,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;YAgBjB,8BAA8B;IAuHtC,uBAAuB,CACzB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,EAAE,SAAS,CAAC,GAAG;QAC1D,OAAO,EAAE,YAAY,CAAC,gCAAgC,CAAC,CAAA;KAC1D,EACD,IAAI,CAAC,EAAE,yBAAyB,GACjC,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAoBzB,wBAAwB,CAC1B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,EAAE,SAAS,CAAC,GAAG;QAC1D,OAAO,EAAE,YAAY,CAAC,iCAAiC,CAAC,CAAA;KAC3D,EACD,IAAI,CAAC,EAAE,yBAAyB,GACjC,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAoBzB,qBAAqB,CACvB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,EAAE,SAAS,CAAC,GAAG;QAC1D,OAAO,EAAE,YAAY,CAAC,8BAA8B,CAAC,CAAA;KACxD,EACD,IAAI,CAAC,EAAE,yBAAyB,GACjC,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAoBzB,gBAAgB,CAClB,cAAc,EAAE,cAAc,EAC9B,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,UAAU,EAChB,UAAU,EAAE,MAAM,EAClB,EAAE,CAAC,EAAE,UAAU,GAChB,OAAO,CAAC;QAAE,cAAc,EAAE,cAAc,CAAA;KAAE,CAAC;IASxC,eAAe,CACjB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,UAAU,EACrB,EAAE,EAAE,UAAU,GACf,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAkB5B,2BAA2B,CAC7B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,YAAY,CAAC,uBAAuB,CAAC,EAC9C,IAAI,CAAC,EAAE,yBAAyB,GACjC,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAazB,4BAA4B,CAC9B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,YAAY,CAAC,wBAAwB,CAAC,GAChD,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAazB,uBAAuB,CACzB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,YAAY,CAAC,mBAAmB,CAAC,GAC3C,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAYzB,4BAA4B,CAC9B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,EAAE,SAAS,CAAC,GAAG;QAC1D,OAAO,EAAE,YAAY,CAAC,gCAAgC,CAAC,CAAA;KAC1D,GACF,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAWzB,uBAAuB,CACzB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAC3C,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAC1D,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAYzB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAmB9E,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBlE,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAcvF,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAerF,UAAU,CACZ,QAAQ,EAAE,MAAM,GAAG,UAAU,EAC7B,IAAI,CAAC,EAAE;QACH,gCAAgC,CAAC,EAAE,OAAO,CAAA;QAC1C,2BAA2B,CAAC,EAAE,OAAO,CAAA;KACxC,GACF,OAAO,CAAC,MAAM,CAAC;IAsCZ,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IA8BxE,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAwCvF,cAAc,CAChB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,eAAe,GAAG,wBAAwB,EACnD,OAAO,CAAC,EAAE,YAAY,CAAC,qBAAqB,CAAC,CAAC,SAAS,CAAC,EACxD,IAAI,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,GAC1B,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAiCzB,kBAAkB,CACpB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,kBAAkB,EACzB,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,gCAAgC,GACxC,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IA4BzB,uBAAuB,CACzB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,eAAe,GAAG,wBAAwB,EACnD,KAAK,EAAE,YAAY,CAAC,mCAAmC,CAAC,EACxD,IAAI,CAAC,EAAE,gCAAgC,GACxC,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAezB,0BAA0B,CAC5B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,sBAAsB,EAC7B,OAAO,EAAE,MAAM,GAChB,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAezB,aAAa,CACf,QAAQ,EAAE,MAAM,GAAG,UAAU,EAC7B,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,eAAe,CAAC,EAAE,eAAe,EACjC,IAAI,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,GACrC,OAAO,CAAC;QAAE,UAAU,EAAE,eAAe,EAAE,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IAyD1D,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QACxC,QAAQ,EAAE,OAAO,CAAA;QACjB,yBAAyB,EAAE,MAAM,CAAA;KACpC,CAAC;IA6DF;;;;;;;;;OASG;IACG,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAiBpE,gBAAgB,CAClB,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,UAAU,CAAA;KAAE,CAAC;IAqBzD,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC;IA8BlC,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAkCxE,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAInE,uBAAuB,CACzB,QAAQ,EAAE,MAAM,GAAG,UAAU,EAC7B,OAAO,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,EAC7C,OAAO,GAAE;QACL,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,SAAS,CAAC,EAAE,UAAU,CAAA;QACtB,IAAI,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,CAAA;QACzB,SAAS,CAAC,EAAE,OAAO,CAAA;KACjB,GACP,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAsCzB,+BAA+B,CACjC,QAAQ,EAAE,MAAM,GAAG,UAAU,EAC7B,OAAO,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,EAC7C,iBAAiB,EAAE,UAAU,EAC7B,gBAAgB,EAAE,MAAM,EACxB,OAAO,CAAC,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,UAAU,EACtB,IAAI,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,EACzB,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC;QAAE,iBAAiB,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IA+GxD,yCAAyC,CAC3C,cAAc,EAAE,cAAc,EAC9B,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,GAC9C,OAAO,CAAC;QAAE,cAAc,EAAE,cAAc,CAAA;KAAE,CAAC;IAgBxC,0BAA0B,CAC5B,QAAQ,EAAE,MAAM,GAAG,UAAU,GAC9B,OAAO,CAAC,4BAA4B,CAAC;YAK1B,UAAU;IA0BxB;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAa5B,gBAAgB;iBApOA,MAAM;;IAqPtB,cAAc;IA4Bb,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE;IAQpC,qBAAqB,CAC9B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE;QAAE,wBAAwB,EAAE,OAAO,CAAA;KAAE;IAU/C;;OAEG;IACU,iBAAiB,CAC1B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,eAAe;IAC7B,aAAa,EAAE,aAAa,GAC7B,OAAO,CAAC,IAAI,CAAC;YAUF,sBAAsB;IAqBvB,4BAA4B,CACrC,UAAU,EAAE,MAAM,GAAG,UAAU,EAC/B,QAAQ,EAAE,sBAAsB,EAAE,EAClC,SAAS,EAAE,oBAAoB,EAC/B,SAAS,EAAE,0BAA0B;IA4ElC,iBAAiB,CACpB,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,0BAA0B,GACtC,OAAO,CAAC,aAAa,CAAC;IAQnB,qBAAqB,CACvB,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,UAAU,EAAE,GACzB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAWlC,aAAa,IAAI,UAAU;IAOd,uBAAuB,CAChC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAC;QAAC,qBAAqB,CAAC,EAAE,MAAM,CAAA;KAAE,GAClE,OAAO,CAAC,YAAY,CAAC;IAWX,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAKpE,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGhF"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/client.js CHANGED
@@ -1575,20 +1575,24 @@ export class Client extends EventEmitter {
1575
1575
  * that are in the room but that have been blocked.
1576
1576
  */
1577
1577
  async getDevicesInStream(stream_id) {
1578
+ const members = await this.getUsersEntitledToKeyExchange(stream_id);
1579
+ this.logInfo(`getDevicesInStream: downloading device info for: `, members.length);
1580
+ const info = await this.downloadUserDeviceInfo(members);
1581
+ this.logCall('getDevicesInStream: done, keys.length ', Object.keys(info).length);
1582
+ return info;
1583
+ }
1584
+ async getUsersEntitledToKeyExchange(streamId) {
1578
1585
  let stream;
1579
- stream = this.stream(stream_id)?.view;
1586
+ stream = this.stream(streamId)?.view;
1580
1587
  if (!stream || !stream.isInitialized) {
1581
- stream = await this.getStream(stream_id);
1588
+ stream = await this.getStream(streamId);
1582
1589
  }
1583
1590
  if (!stream) {
1584
- this.logError(`stream for room ${stream_id} not found`);
1585
- return {};
1591
+ this.logError(`stream for room ${streamId} not found`);
1592
+ return [];
1586
1593
  }
1587
1594
  const members = Array.from(stream.getUsersEntitledToKeyExchange());
1588
- this.logInfo(`getDevicesInStream: downloading device info for: `, members.length);
1589
- const info = await this.downloadUserDeviceInfo(members);
1590
- this.logCall('getDevicesInStream: done, keys.length ', Object.keys(info).length);
1591
- return info;
1595
+ return members;
1592
1596
  }
1593
1597
  async getMiniblockInfo(streamId) {
1594
1598
  const streamView = this.stream(streamId)?.view;
@@ -1629,31 +1633,34 @@ export class Client extends EventEmitter {
1629
1633
  stream.prependEvents(response.miniblocks, cleartexts, response.terminus);
1630
1634
  }
1631
1635
  }
1636
+ async downloadSingleUserDeviceInfo(userId, forceDownload) {
1637
+ const streamId = makeUserMetadataStreamId(userId);
1638
+ try {
1639
+ // except for small spaces and your own userId, check for the devices in the crypto store cause you might already have them
1640
+ if (!forceDownload && userId !== this.userId) {
1641
+ const devicesFromStore = await this.cryptoStore.getUserDevices(userId);
1642
+ if (devicesFromStore.length > 0) {
1643
+ return { userId, devices: devicesFromStore };
1644
+ }
1645
+ }
1646
+ // return latest 10 device keys
1647
+ const deviceLookback = 10;
1648
+ const stream = await this.getStream(streamId);
1649
+ const userDevices = stream.userMetadataContent.deviceKeys.slice(-deviceLookback);
1650
+ await this.cryptoStore.saveUserDevices(userId, userDevices);
1651
+ return { userId, devices: userDevices };
1652
+ }
1653
+ catch (e) {
1654
+ this.logError('Error downloading user device keys', e);
1655
+ return { userId, devices: [] };
1656
+ }
1657
+ }
1632
1658
  async downloadUserDeviceInfo(userIds) {
1633
1659
  // always fetch keys for arbitrarily small channels/dms/gdms. For large channels only
1634
1660
  // fetch keys if you don't already have keys, extended keysharing should work for those cases
1635
1661
  const forceDownload = userIds.length <= 10;
1636
1662
  const promises = userIds.map(async (userId) => {
1637
- const streamId = makeUserMetadataStreamId(userId);
1638
- try {
1639
- // also always download your own keys so you always share to your most up to date devices
1640
- if (!forceDownload && userId !== this.userId) {
1641
- const devicesFromStore = await this.cryptoStore.getUserDevices(userId);
1642
- if (devicesFromStore.length > 0) {
1643
- return { userId, devices: devicesFromStore };
1644
- }
1645
- }
1646
- // return latest 10 device keys
1647
- const deviceLookback = 10;
1648
- const stream = await this.getStream(streamId);
1649
- const userDevices = stream.userMetadataContent.deviceKeys.slice(-deviceLookback);
1650
- await this.cryptoStore.saveUserDevices(userId, userDevices);
1651
- return { userId, devices: userDevices };
1652
- }
1653
- catch (e) {
1654
- this.logError('Error downloading user device keys', e);
1655
- return { userId, devices: [] };
1656
- }
1663
+ return this.downloadSingleUserDeviceInfo(userId, forceDownload);
1657
1664
  });
1658
1665
  return (await Promise.all(promises)).reduce((acc, current) => {
1659
1666
  acc[current.userId] = current.devices;
@@ -1873,7 +1880,7 @@ export class Client extends EventEmitter {
1873
1880
  await this.persistenceStore.saveCleartext(eventId, cleartext);
1874
1881
  return cleartext;
1875
1882
  }
1876
- async encryptAndShareGroupSessions(inStreamId, sessions, toDevices, algorithm) {
1883
+ _makeShareGroupSessionsContent(inStreamId, sessions, algorithm) {
1877
1884
  const streamIdStr = streamIdAsString(inStreamId);
1878
1885
  const streamIdBytes = streamIdAsBytes(inStreamId);
1879
1886
  check(isDefined(this.cryptoBackend), "crypto backend isn't initialized");
@@ -1882,48 +1889,64 @@ export class Client extends EventEmitter {
1882
1889
  check(sessions[0].algorithm === algorithm, 'algorithm mismatch');
1883
1890
  check(new Set(sessions.map((s) => s.algorithm)).size === 1, 'all sessions should be the same algorithm');
1884
1891
  check(sessions[0].streamId === streamIdStr, 'streamId mismatch');
1885
- this.logCall('share', { from: this.userId, to: toDevices });
1886
- const userDevice = this.userDeviceKey();
1887
1892
  const sessionIds = sessions.map((session) => session.sessionId);
1888
1893
  const payload = makeSessionKeys(sessions);
1889
1894
  const payloadClearText = toJsonString(SessionKeysSchema, payload);
1890
- const toDevicesEntries = Object.entries(toDevices);
1891
- const promises = toDevicesEntries.map(async ([userId, deviceKeys]) => {
1892
- try {
1893
- if (deviceKeys.length === 0) {
1894
- // means we failed to download the device keys, we should enqueue a retry
1895
- this.logCall('encryptAndShareGroupSessions: no device keys to send', inStreamId, userId);
1896
- return;
1897
- }
1898
- const ciphertext = await this.encryptWithDeviceKeys(payloadClearText, deviceKeys);
1899
- if (Object.keys(ciphertext).length === 0) {
1900
- // if you only have one device this is a valid state
1901
- if (userId !== this.userId) {
1902
- this.logError('encryptAndShareGroupSessions: no ciphertext to send', userId);
1903
- }
1904
- return;
1905
- }
1906
- const toStreamId = makeUserInboxStreamId(userId);
1907
- const gslmhResp = await this.getStreamLastMiniblockHash(toStreamId);
1908
- const { hash: miniblockHash, miniblockNum } = gslmhResp;
1909
- if (toDevicesEntries.length < 10 || Math.random() < 0.1) {
1910
- this.logCall("encryptAndShareGroupSessions: sent to user's devices", {
1911
- toStreamId,
1912
- deviceKeys: deviceKeys.map((d) => d.deviceKey).join(','),
1913
- });
1895
+ return { streamIdBytes, sessionIds, payload, payloadClearText };
1896
+ }
1897
+ async _encryptAndShareGroupSessionsToDevice(inStreamId, content, algorithm, userId, deviceKeys, userDevice, printLog = false) {
1898
+ const { streamIdBytes, sessionIds, payloadClearText } = content;
1899
+ try {
1900
+ if (deviceKeys.length === 0) {
1901
+ // means we failed to download the device keys, we should enqueue a retry
1902
+ this.logCall('encryptAndShareGroupSessions: no device keys to send', inStreamId, userId);
1903
+ return;
1904
+ }
1905
+ const ciphertext = await this.encryptWithDeviceKeys(payloadClearText, deviceKeys);
1906
+ if (Object.keys(ciphertext).length === 0) {
1907
+ // if you only have one device this is a valid state
1908
+ if (userId !== this.userId) {
1909
+ this.logError('encryptAndShareGroupSessions: no ciphertext to send', userId);
1914
1910
  }
1915
- await this.makeEventWithHashAndAddToStream(toStreamId, make_UserInboxPayload_GroupEncryptionSessions({
1916
- streamId: streamIdBytes,
1917
- senderKey: userDevice.deviceKey,
1918
- sessionIds: sessionIds,
1919
- ciphertexts: ciphertext,
1920
- algorithm: algorithm,
1921
- }), miniblockHash, miniblockNum);
1911
+ return;
1922
1912
  }
1923
- catch (error) {
1924
- this.logError('encryptAndShareGroupSessions: ERROR', error);
1925
- return undefined;
1913
+ const toStreamId = makeUserInboxStreamId(userId);
1914
+ const gslmhResp = await this.getStreamLastMiniblockHash(toStreamId);
1915
+ const { hash: miniblockHash, miniblockNum } = gslmhResp;
1916
+ if (printLog) {
1917
+ this.logCall("encryptAndShareGroupSessions: sent to user's devices", {
1918
+ toStreamId,
1919
+ deviceKeys: deviceKeys.map((d) => d.deviceKey).join(','),
1920
+ });
1926
1921
  }
1922
+ await this.makeEventWithHashAndAddToStream(toStreamId, make_UserInboxPayload_GroupEncryptionSessions({
1923
+ streamId: streamIdBytes,
1924
+ senderKey: userDevice.deviceKey,
1925
+ sessionIds: sessionIds,
1926
+ ciphertexts: ciphertext,
1927
+ algorithm: algorithm,
1928
+ }), miniblockHash, miniblockNum);
1929
+ }
1930
+ catch (error) {
1931
+ this.logError('encryptAndShareGroupSessions: ERROR', error);
1932
+ return undefined;
1933
+ }
1934
+ }
1935
+ async encryptAndShareGroupSessionsToDevice(inStreamId, sessions, algorithm, userId, deviceKeys) {
1936
+ const content = this._makeShareGroupSessionsContent(inStreamId, sessions, algorithm);
1937
+ return this._encryptAndShareGroupSessionsToDevice(inStreamId, content, algorithm, userId, deviceKeys, this.userDeviceKey(), true);
1938
+ }
1939
+ async encryptAndShareGroupSessionsToStream(inStreamId, sessions, algorithm, priorityUserIds) {
1940
+ this.logCall('share', { from: this.userId, to: priorityUserIds });
1941
+ const streamId = streamIdAsString(inStreamId);
1942
+ const users = await this.getUsersEntitledToKeyExchange(streamId);
1943
+ users.sort((a, b) => priorityUserIds.indexOf(a) - priorityUserIds.indexOf(b));
1944
+ const userDevice = this.userDeviceKey();
1945
+ const content = this._makeShareGroupSessionsContent(inStreamId, sessions, algorithm);
1946
+ const promises = users.map(async (userId) => {
1947
+ const forceDownload = users.length <= 10 || userId === this.userId;
1948
+ const deviceKeys = await this.downloadSingleUserDeviceInfo(userId, forceDownload);
1949
+ return this._encryptAndShareGroupSessionsToDevice(inStreamId, content, algorithm, userId, deviceKeys.devices, userDevice, users.length < 10 || Math.random() < 0.1);
1927
1950
  });
1928
1951
  this.logCall('encryptAndShareGroupSessions: send to devices', promises.length);
1929
1952
  await Promise.all(promises);