@xmtp/browser-sdk 3.1.2 → 4.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +129 -44
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/workers/client.js +1 -1
- package/dist/workers/client.js.map +1 -1
- package/package.json +2 -2
- package/src/AsyncStream.ts +140 -87
- package/src/ClientWorkerClass.ts +15 -4
- package/src/Conversation.ts +31 -30
- package/src/Conversations.ts +101 -87
- package/src/Preferences.ts +49 -37
- package/src/WorkerConversation.ts +8 -5
- package/src/WorkerConversations.ts +21 -13
- package/src/WorkerPreferences.ts +22 -8
- package/src/index.ts +2 -1
- package/src/types/actions/streams.ts +5 -0
- package/src/types/options.ts +9 -0
- package/src/utils/createClient.ts +3 -0
- package/src/utils/errors.ts +13 -0
- package/src/utils/streams.ts +210 -0
- package/src/workers/client.ts +70 -14
package/dist/index.d.ts
CHANGED
|
@@ -6,25 +6,79 @@ import { GroupUpdatedCodec } from '@xmtp/content-type-group-updated';
|
|
|
6
6
|
import { TextCodec } from '@xmtp/content-type-text';
|
|
7
7
|
|
|
8
8
|
type ResolveValue<T> = {
|
|
9
|
-
value: T
|
|
9
|
+
value: T;
|
|
10
10
|
done: boolean;
|
|
11
11
|
};
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
get isDone(): boolean;
|
|
18
|
-
set onReturn(callback: () => void);
|
|
19
|
-
set onError(callback: (error: Error) => void);
|
|
20
|
-
set onDone(callback: () => void);
|
|
21
|
-
callback: StreamCallback<T>;
|
|
22
|
-
next: () => Promise<ResolveValue<T>>;
|
|
23
|
-
return: (value?: T) => Promise<ResolveValue<T>>;
|
|
24
|
-
end: () => Promise<ResolveValue<T>>;
|
|
25
|
-
[Symbol.asyncIterator](): this;
|
|
12
|
+
interface AsyncStreamProxy<T> extends AsyncIterable<T> {
|
|
13
|
+
next(): Promise<ResolveValue<T>>;
|
|
14
|
+
return(): Promise<ResolveValue<undefined>>;
|
|
15
|
+
end(): Promise<ResolveValue<undefined>>;
|
|
16
|
+
isDone: boolean;
|
|
26
17
|
}
|
|
27
18
|
|
|
19
|
+
declare const DEFAULT_RETRY_DELAY = 10000;
|
|
20
|
+
declare const DEFAULT_RETRY_ATTEMPTS = 6;
|
|
21
|
+
type StreamOptions<T = unknown, V = T> = {
|
|
22
|
+
/**
|
|
23
|
+
* Called when the stream ends
|
|
24
|
+
*/
|
|
25
|
+
onEnd?: () => void;
|
|
26
|
+
/**
|
|
27
|
+
* Called when a stream error occurs
|
|
28
|
+
*/
|
|
29
|
+
onError?: (error: Error) => void;
|
|
30
|
+
/**
|
|
31
|
+
* Called when the stream fails
|
|
32
|
+
*/
|
|
33
|
+
onFail?: () => void;
|
|
34
|
+
/**
|
|
35
|
+
* Called when the stream is restarted
|
|
36
|
+
*/
|
|
37
|
+
onRestart?: () => void;
|
|
38
|
+
/**
|
|
39
|
+
* Called when the stream is retried
|
|
40
|
+
*/
|
|
41
|
+
onRetry?: (attempts: number, maxAttempts: number) => void;
|
|
42
|
+
/**
|
|
43
|
+
* Called when a value is emitted from the stream
|
|
44
|
+
*/
|
|
45
|
+
onValue?: (value: V) => void;
|
|
46
|
+
/**
|
|
47
|
+
* The number of times to retry the stream
|
|
48
|
+
* (default: 6)
|
|
49
|
+
*/
|
|
50
|
+
retryAttempts?: number;
|
|
51
|
+
/**
|
|
52
|
+
* The delay between retries (in milliseconds)
|
|
53
|
+
* (default: 10000)
|
|
54
|
+
*/
|
|
55
|
+
retryDelay?: number;
|
|
56
|
+
/**
|
|
57
|
+
* Whether to retry the stream if it fails
|
|
58
|
+
* (default: true)
|
|
59
|
+
*/
|
|
60
|
+
retryOnFail?: boolean;
|
|
61
|
+
};
|
|
62
|
+
type StreamCallback<T = unknown> = (error: Error | null, value: T | undefined) => void;
|
|
63
|
+
type StreamFunction<T = unknown> = (callback: StreamCallback<T>, onFail: () => void) => Promise<() => void>;
|
|
64
|
+
type StreamValueMutator<T = unknown, V = T> = (value: T) => V | Promise<V>;
|
|
65
|
+
/**
|
|
66
|
+
* Creates a stream from a stream function
|
|
67
|
+
*
|
|
68
|
+
* If the stream fails, an attempt will be made to restart it.
|
|
69
|
+
*
|
|
70
|
+
* This function is not intended to be used directly.
|
|
71
|
+
*
|
|
72
|
+
* @param streamFunction - The stream function to create a stream from
|
|
73
|
+
* @param streamValueMutator - An optional function to mutate the value emitted from the stream
|
|
74
|
+
* @param options - The options for the stream
|
|
75
|
+
* @param args - Additional arguments to pass to the stream function
|
|
76
|
+
* @returns An async iterable stream proxy
|
|
77
|
+
* @throws {StreamInvalidRetryAttemptsError} if the retryAttempts option is less than 0 and retryOnFail is true
|
|
78
|
+
* @throws {StreamFailedError} if the stream fails and can't be restarted
|
|
79
|
+
*/
|
|
80
|
+
declare const createStream: <T = unknown, V = T>(streamFunction: StreamFunction<T>, streamValueMutator?: StreamValueMutator<T, V>, options?: StreamOptions<T, V>) => Promise<AsyncStreamProxy<V>>;
|
|
81
|
+
|
|
28
82
|
/**
|
|
29
83
|
* Pre-configured URLs for the XMTP network based on the environment
|
|
30
84
|
*
|
|
@@ -126,6 +180,15 @@ type OtherOptions = {
|
|
|
126
180
|
* Disable device sync
|
|
127
181
|
*/
|
|
128
182
|
disableDeviceSync?: boolean;
|
|
183
|
+
/**
|
|
184
|
+
* Custom app version
|
|
185
|
+
*/
|
|
186
|
+
appVersion?: string;
|
|
187
|
+
/**
|
|
188
|
+
* Should debug events be tracked
|
|
189
|
+
* (default: false)
|
|
190
|
+
*/
|
|
191
|
+
debugEventsEnabled?: boolean;
|
|
129
192
|
};
|
|
130
193
|
type ClientOptions = NetworkOptions & ContentOptions & StorageOptions & OtherOptions;
|
|
131
194
|
|
|
@@ -180,10 +243,10 @@ declare class WorkerConversations {
|
|
|
180
243
|
newDmWithIdentifier(identifier: Identifier, options?: SafeCreateDmOptions): Promise<WorkerConversation>;
|
|
181
244
|
newDm(inboxId: string, options?: SafeCreateDmOptions): Promise<WorkerConversation>;
|
|
182
245
|
getHmacKeys(): HmacKeys;
|
|
183
|
-
stream(callback
|
|
184
|
-
streamGroups(callback
|
|
185
|
-
streamDms(callback
|
|
186
|
-
streamAllMessages(callback
|
|
246
|
+
stream(callback: StreamCallback<Conversation$1>, onFail: () => void, conversationType?: ConversationType): _xmtp_wasm_bindings.StreamCloser;
|
|
247
|
+
streamGroups(callback: StreamCallback<Conversation$1>, onFail: () => void): _xmtp_wasm_bindings.StreamCloser;
|
|
248
|
+
streamDms(callback: StreamCallback<Conversation$1>, onFail: () => void): _xmtp_wasm_bindings.StreamCloser;
|
|
249
|
+
streamAllMessages(callback: StreamCallback<Message>, onFail: () => void, conversationType?: ConversationType, consentStates?: ConsentState[]): _xmtp_wasm_bindings.StreamCloser;
|
|
187
250
|
}
|
|
188
251
|
|
|
189
252
|
/**
|
|
@@ -210,8 +273,8 @@ declare class WorkerPreferences {
|
|
|
210
273
|
getLatestInboxState(inboxId: string): Promise<_xmtp_wasm_bindings.InboxState>;
|
|
211
274
|
setConsentStates(records: SafeConsent[]): Promise<void>;
|
|
212
275
|
getConsentState(entityType: ConsentEntityType, entity: string): Promise<_xmtp_wasm_bindings.ConsentState>;
|
|
213
|
-
streamConsent(callback
|
|
214
|
-
streamPreferences(callback
|
|
276
|
+
streamConsent(callback: StreamCallback<Consent[]>, onFail: () => void): _xmtp_wasm_bindings.StreamCloser;
|
|
277
|
+
streamPreferences(callback: StreamCallback<UserPreference[]>, onFail: () => void): _xmtp_wasm_bindings.StreamCloser;
|
|
215
278
|
}
|
|
216
279
|
|
|
217
280
|
declare class WorkerClient {
|
|
@@ -291,7 +354,7 @@ declare class WorkerConversation {
|
|
|
291
354
|
updateMessageDisappearingSettings(fromNs: bigint, inNs: bigint): Promise<void>;
|
|
292
355
|
removeMessageDisappearingSettings(): Promise<void>;
|
|
293
356
|
isMessageDisappearingEnabled(): boolean;
|
|
294
|
-
stream(callback
|
|
357
|
+
stream(callback: StreamCallback<Message>, onFail: () => void): _xmtp_wasm_bindings.StreamCloser;
|
|
295
358
|
pausedForVersion(): string | undefined;
|
|
296
359
|
getHmacKeys(): Map<string, HmacKey[]>;
|
|
297
360
|
debugInfo(): Promise<ConversationDebugInfo>;
|
|
@@ -1191,6 +1254,10 @@ type StreamAction = {
|
|
|
1191
1254
|
action: "stream.preferences";
|
|
1192
1255
|
streamId: string;
|
|
1193
1256
|
result: UserPreference[] | undefined;
|
|
1257
|
+
} | {
|
|
1258
|
+
action: "stream.fail";
|
|
1259
|
+
streamId: string;
|
|
1260
|
+
result: undefined;
|
|
1194
1261
|
};
|
|
1195
1262
|
|
|
1196
1263
|
/**
|
|
@@ -1227,7 +1294,7 @@ declare class ClientWorkerClass {
|
|
|
1227
1294
|
* @param callback - The callback to handle the stream message
|
|
1228
1295
|
* @returns A function to remove the stream handler
|
|
1229
1296
|
*/
|
|
1230
|
-
handleStreamMessage: <T extends StreamAction["result"]>(streamId: string, callback: (error: Error | null, value: T |
|
|
1297
|
+
handleStreamMessage: <T extends StreamAction["result"], V = T>(streamId: string, callback: (error: Error | null, value: T | undefined) => void, options?: StreamOptions<T, V>) => () => Promise<void>;
|
|
1231
1298
|
/**
|
|
1232
1299
|
* Removes all event listeners and terminates the worker
|
|
1233
1300
|
*/
|
|
@@ -1385,7 +1452,7 @@ declare class Conversation<ContentTypes = unknown> {
|
|
|
1385
1452
|
* @param callback - Optional callback function for handling new stream values
|
|
1386
1453
|
* @returns Stream instance for new messages
|
|
1387
1454
|
*/
|
|
1388
|
-
stream(
|
|
1455
|
+
stream(options?: StreamOptions<SafeMessage, DecodedMessage<ContentTypes>>): Promise<AsyncStreamProxy<DecodedMessage<ContentTypes>>>;
|
|
1389
1456
|
pausedForVersion(): Promise<string | undefined>;
|
|
1390
1457
|
/**
|
|
1391
1458
|
* Retrieves HMAC keys for this conversation
|
|
@@ -1704,47 +1771,59 @@ declare class Conversations<ContentTypes = unknown> {
|
|
|
1704
1771
|
/**
|
|
1705
1772
|
* Creates a stream for new conversations
|
|
1706
1773
|
*
|
|
1707
|
-
* @param
|
|
1708
|
-
* @param conversationType - Optional type to filter conversations
|
|
1774
|
+
* @param options - Optional stream options
|
|
1775
|
+
* @param options.conversationType - Optional type to filter conversations
|
|
1709
1776
|
* @returns Stream instance for new conversations
|
|
1710
1777
|
*/
|
|
1711
|
-
stream<T extends Group<ContentTypes> | Dm<ContentTypes> = Group<ContentTypes> | Dm<ContentTypes>>(
|
|
1778
|
+
stream<T extends Group<ContentTypes> | Dm<ContentTypes> = Group<ContentTypes> | Dm<ContentTypes>>(options?: StreamOptions<SafeConversation, T> & {
|
|
1779
|
+
conversationType?: ConversationType;
|
|
1780
|
+
}): Promise<AsyncStreamProxy<T>>;
|
|
1712
1781
|
/**
|
|
1713
1782
|
* Creates a stream for new group conversations
|
|
1714
1783
|
*
|
|
1715
|
-
* @param
|
|
1784
|
+
* @param options - Optional stream options
|
|
1716
1785
|
* @returns Stream instance for new group conversations
|
|
1717
1786
|
*/
|
|
1718
|
-
streamGroups(
|
|
1787
|
+
streamGroups(options?: StreamOptions<SafeConversation, Group<ContentTypes>>): Promise<AsyncStreamProxy<Group<ContentTypes>>>;
|
|
1719
1788
|
/**
|
|
1720
1789
|
* Creates a stream for new DM conversations
|
|
1721
1790
|
*
|
|
1722
|
-
* @param
|
|
1791
|
+
* @param options - Optional stream options
|
|
1723
1792
|
* @returns Stream instance for new DM conversations
|
|
1724
1793
|
*/
|
|
1725
|
-
streamDms(
|
|
1794
|
+
streamDms(options?: StreamOptions<SafeConversation, Dm<ContentTypes>>): Promise<AsyncStreamProxy<Dm<ContentTypes>>>;
|
|
1726
1795
|
/**
|
|
1727
1796
|
* Creates a stream for all new messages
|
|
1728
1797
|
*
|
|
1729
|
-
* @param
|
|
1730
|
-
* @param conversationType - Optional conversation type to filter messages
|
|
1798
|
+
* @param options - Optional stream options
|
|
1799
|
+
* @param options.conversationType - Optional conversation type to filter messages
|
|
1800
|
+
* @param options.consentStates - Optional consent states to filter messages
|
|
1731
1801
|
* @returns Stream instance for new messages
|
|
1732
1802
|
*/
|
|
1733
|
-
streamAllMessages(
|
|
1803
|
+
streamAllMessages(options?: StreamOptions<SafeMessage, DecodedMessage<ContentTypes>> & {
|
|
1804
|
+
conversationType?: ConversationType;
|
|
1805
|
+
consentStates?: ConsentState[];
|
|
1806
|
+
}): Promise<AsyncStreamProxy<DecodedMessage<ContentTypes>>>;
|
|
1734
1807
|
/**
|
|
1735
1808
|
* Creates a stream for all new group messages
|
|
1736
1809
|
*
|
|
1737
|
-
* @param
|
|
1810
|
+
* @param options - Optional stream options
|
|
1811
|
+
* @param options.consentStates - Optional consent states to filter messages
|
|
1738
1812
|
* @returns Stream instance for new group messages
|
|
1739
1813
|
*/
|
|
1740
|
-
streamAllGroupMessages(
|
|
1814
|
+
streamAllGroupMessages(options?: StreamOptions<SafeMessage, DecodedMessage<ContentTypes>> & {
|
|
1815
|
+
consentStates?: ConsentState[];
|
|
1816
|
+
}): Promise<AsyncStreamProxy<DecodedMessage<ContentTypes>>>;
|
|
1741
1817
|
/**
|
|
1742
1818
|
* Creates a stream for all new DM messages
|
|
1743
1819
|
*
|
|
1744
|
-
* @param
|
|
1820
|
+
* @param options - Optional stream options
|
|
1821
|
+
* @param options.consentStates - Optional consent states to filter messages
|
|
1745
1822
|
* @returns Stream instance for new DM messages
|
|
1746
1823
|
*/
|
|
1747
|
-
streamAllDmMessages(
|
|
1824
|
+
streamAllDmMessages(options?: StreamOptions<SafeMessage, DecodedMessage<ContentTypes>> & {
|
|
1825
|
+
consentStates?: ConsentState[];
|
|
1826
|
+
}): Promise<AsyncStreamProxy<DecodedMessage<ContentTypes>>>;
|
|
1748
1827
|
}
|
|
1749
1828
|
|
|
1750
1829
|
/**
|
|
@@ -1816,17 +1895,17 @@ declare class Preferences<ContentTypes = unknown> {
|
|
|
1816
1895
|
/**
|
|
1817
1896
|
* Creates a stream of consent state updates
|
|
1818
1897
|
*
|
|
1819
|
-
* @param
|
|
1898
|
+
* @param options - Optional stream options
|
|
1820
1899
|
* @returns Stream instance for consent updates
|
|
1821
1900
|
*/
|
|
1822
|
-
streamConsent(
|
|
1901
|
+
streamConsent(options?: StreamOptions<SafeConsent[]>): Promise<AsyncStreamProxy<SafeConsent[]>>;
|
|
1823
1902
|
/**
|
|
1824
1903
|
* Creates a stream of user preference updates
|
|
1825
1904
|
*
|
|
1826
|
-
* @param
|
|
1905
|
+
* @param options - Optional stream options
|
|
1827
1906
|
* @returns Stream instance for preference updates
|
|
1828
1907
|
*/
|
|
1829
|
-
streamPreferences(
|
|
1908
|
+
streamPreferences(options?: StreamOptions<UserPreference[]>): Promise<AsyncStreamProxy<UserPreference[]>>;
|
|
1830
1909
|
}
|
|
1831
1910
|
|
|
1832
1911
|
type ExtractCodecContentTypes<C extends ContentCodec[] = []> = [
|
|
@@ -2386,6 +2465,12 @@ declare class InvalidGroupMembershipChangeError extends Error {
|
|
|
2386
2465
|
declare class MissingContentTypeError extends Error {
|
|
2387
2466
|
constructor();
|
|
2388
2467
|
}
|
|
2468
|
+
declare class StreamFailedError extends Error {
|
|
2469
|
+
constructor(retryAttempts: number);
|
|
2470
|
+
}
|
|
2471
|
+
declare class StreamInvalidRetryAttemptsError extends Error {
|
|
2472
|
+
constructor();
|
|
2473
|
+
}
|
|
2389
2474
|
|
|
2390
|
-
export { AccountAlreadyAssociatedError, ApiUrls,
|
|
2391
|
-
export type { ClientOptions, ContentOptions, EOASigner, ExtractCodecContentTypes, HmacKeys, MessageDeliveryStatus, MessageKind, NetworkOptions, OtherOptions, SCWSigner, SafeApiStats, SafeConsent, SafeContentTypeId, SafeConversation, SafeConversationDebugInfo, SafeCreateDmOptions, SafeCreateGroupOptions, SafeEncodedContent, SafeGroupMember, SafeHmacKey, SafeHmacKeys, SafeIdentityStats, SafeInboxState, SafeInstallation, SafeKeyPackageStatus, SafeListConversationsOptions, SafeListMessagesOptions, SafeMessage, SafeMessageDisappearingSettings, SafePermissionPolicySet, SafeSigner, Signer, StorageOptions, StreamCallback, XmtpEnv };
|
|
2475
|
+
export { AccountAlreadyAssociatedError, ApiUrls, Client, ClientNotInitializedError, CodecNotFoundError, Conversation, Conversations, DEFAULT_RETRY_ATTEMPTS, DEFAULT_RETRY_DELAY, DecodedMessage, Dm, Group, GroupNotFoundError, HistorySyncUrls, InboxReassignError, InvalidGroupMembershipChangeError, MissingContentTypeError, SignerUnavailableError, StreamFailedError, StreamInvalidRetryAttemptsError, StreamNotFoundError, Utils, createStream, fromContentTypeId, fromEncodedContent, fromSafeConsent, fromSafeContentTypeId, fromSafeCreateDmOptions, fromSafeCreateGroupOptions, fromSafeEncodedContent, fromSafeGroupMember, fromSafeListConversationsOptions, fromSafeListMessagesOptions, fromSafeMessageDisappearingSettings, fromSafePermissionPolicySet, toContentTypeId, toEncodedContent, toSafeApiStats, toSafeConsent, toSafeContentTypeId, toSafeConversation, toSafeConversationDebugInfo, toSafeCreateDmOptions, toSafeCreateGroupOptions, toSafeEncodedContent, toSafeGroupMember, toSafeHmacKey, toSafeIdentityStats, toSafeInboxState, toSafeInstallation, toSafeKeyPackageStatus, toSafeListConversationsOptions, toSafeListMessagesOptions, toSafeMessage, toSafeMessageDisappearingSettings, toSafePermissionPolicySet, toSafeSigner };
|
|
2476
|
+
export type { AsyncStreamProxy, ClientOptions, ContentOptions, EOASigner, ExtractCodecContentTypes, HmacKeys, MessageDeliveryStatus, MessageKind, NetworkOptions, OtherOptions, SCWSigner, SafeApiStats, SafeConsent, SafeContentTypeId, SafeConversation, SafeConversationDebugInfo, SafeCreateDmOptions, SafeCreateGroupOptions, SafeEncodedContent, SafeGroupMember, SafeHmacKey, SafeHmacKeys, SafeIdentityStats, SafeInboxState, SafeInstallation, SafeKeyPackageStatus, SafeListConversationsOptions, SafeListMessagesOptions, SafeMessage, SafeMessageDisappearingSettings, SafePermissionPolicySet, SafeSigner, Signer, StorageOptions, StreamCallback, StreamFunction, StreamOptions, StreamValueMutator, XmtpEnv };
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{GroupUpdatedCodec as e,ContentTypeGroupUpdated as t}from"@xmtp/content-type-group-updated";import{ContentTypeText as s,TextCodec as i}from"@xmtp/content-type-text";import{ContentTypeId as n,EncodedContent as r,ListMessagesOptions as a,ListConversationsOptions as o,PermissionPolicySet as d,CreateGroupOptions as c,CreateDMOptions as l,Consent as u,GroupMember as g,MessageDisappearingSettings as h,GroupPermissionsOptions as p,GroupMessageKind as m,DeliveryStatus as y,ConversationType as I}from"@xmtp/wasm-bindings";export{Consent,ConsentEntityType,ConsentState,ContentType,ContentTypeId,ConversationListItem,ConversationType,CreateDMOptions,CreateGroupOptions,DeliveryStatus,EncodedContent,GroupMember,GroupMembershipState,GroupMessageKind,GroupMetadata,GroupPermissions,GroupPermissionsOptions,HmacKey,InboxState,Installation,ListConversationsOptions,ListMessagesOptions,LogOptions,Message,MessageDisappearingSettings,MetadataField,PermissionLevel,PermissionPolicy,PermissionPolicySet,PermissionUpdateType,SignatureRequestHandle,SortDirection}from"@xmtp/wasm-bindings";import{v4 as v}from"uuid";import{ContentTypeId as w}from"@xmtp/content-type-primitives";const f=e=>{console.error(e.message)};class M{#e;#t;#s=new Map;constructor(e,t){this.#e=e,this.#e.addEventListener("message",this.handleMessage),t&&this.#e.addEventListener("error",f),this.#t=t}sendMessage(e,t){const s=v();this.#e.postMessage({action:e,id:s,data:t});return new Promise(((e,t)=>{this.#s.set(s,{resolve:e,reject:t})}))}handleMessage=e=>{const t=e.data;this.#t&&console.log("client received event data",t);const s=this.#s.get(t.id);s&&(this.#s.delete(t.id),"error"in t?s.reject(t.error):s.resolve(t.result))};handleStreamMessage=(e,t)=>{const s=s=>{const i=s.data;i.streamId===e&&("error"in i?t(i.error,null):t(null,i.result))};return this.#e.addEventListener("message",s),()=>{this.#e.removeEventListener("message",s)}};close(){this.#e.removeEventListener("message",this.handleMessage),this.#t&&this.#e.removeEventListener("error",f),this.#e.terminate()}}class b{#i=!1;#n=[];#r;#a;#o;#d;#c;constructor(){this.#r=[],this.#i=!1}#l(e){for(;this.#n.length>0;){const t=this.#n.shift();t&&t.resolve({done:!0,value:e})}}#u(e){this.#l(e),this.#r=[],this.#n=[],this.#i=!0,this.#o?.(),this.#a&&this.#c?.(this.#a)}get error(){return this.#a}get isDone(){return this.#i}set onReturn(e){this.#d=e}set onError(e){this.#c=e}set onDone(e){this.#o=e}callback=(e,t)=>{if(this.#i)return;const s=this.#n.shift();if(s){const{resolve:i,reject:n}=s;e?(this.#a=e,n(e),this.#u()):i({done:!1,value:t})}else this.#r.push(e??t)};next=()=>{if(this.#i)return Promise.resolve({done:!0,value:void 0});if(this.#r.length>0){const e=this.#r.shift();return e instanceof Error?(this.#a=e,this.#u(),Promise.reject(e)):Promise.resolve({done:!1,value:e})}return new Promise(((e,t)=>{this.#n.push({resolve:e,reject:t})}))};return=e=>(this.#d?.(),this.#u(e),Promise.resolve({done:!0,value:e}));end=()=>this.return();[Symbol.asyncIterator](){return this}}const S=e=>new w({authorityId:e.authorityId,typeId:e.typeId,versionMajor:e.versionMajor,versionMinor:e.versionMinor}),x=e=>new n(e.authorityId,e.typeId,e.versionMajor,e.versionMinor),A=e=>({authorityId:e.authorityId,typeId:e.typeId,versionMajor:e.versionMajor,versionMinor:e.versionMinor}),k=e=>new w({authorityId:e.authorityId,typeId:e.typeId,versionMajor:e.versionMajor,versionMinor:e.versionMinor}),D=e=>({type:S(e.type),parameters:Object.fromEntries(e.parameters),fallback:e.fallback,compression:e.compression,content:e.content}),P=e=>new r(x(e.type),new Map(Object.entries(e.parameters)),e.fallback,e.compression,e.content),T=e=>({type:A(e.type),parameters:e.parameters,fallback:e.fallback,compression:e.compression,content:e.content}),N=e=>({type:k(e.type),parameters:e.parameters,fallback:e.fallback,compression:e.compression,content:e.content}),C=e=>({content:T(D(e.content)),convoId:e.convoId,deliveryStatus:e.deliveryStatus,id:e.id,kind:e.kind,senderInboxId:e.senderInboxId,sentAtNs:e.sentAtNs}),R=e=>({contentTypes:e.contentTypes,deliveryStatus:e.deliveryStatus,direction:e.direction,limit:e.limit,sentAfterNs:e.sentAfterNs,sentBeforeNs:e.sentBeforeNs}),q=e=>new a(e.sentBeforeNs,e.sentAfterNs,e.limit,e.deliveryStatus,e.direction,e.contentTypes),_=e=>({consentStates:e.consentStates,conversationType:e.conversationType,createdAfterNs:e.createdAfterNs,createdBeforeNs:e.createdBeforeNs,includeDuplicateDms:e.includeDuplicateDms,limit:e.limit}),G=e=>new o(e.consentStates,e.conversationType,e.createdAfterNs,e.createdBeforeNs,e.includeDuplicateDms??!1,e.limit),B=e=>({addAdminPolicy:e.addAdminPolicy,addMemberPolicy:e.addMemberPolicy,removeAdminPolicy:e.removeAdminPolicy,removeMemberPolicy:e.removeMemberPolicy,updateGroupDescriptionPolicy:e.updateGroupDescriptionPolicy,updateGroupImageUrlSquarePolicy:e.updateGroupImageUrlSquarePolicy,updateGroupNamePolicy:e.updateGroupNamePolicy,updateMessageDisappearingPolicy:e.updateMessageDisappearingPolicy}),L=e=>new d(e.addMemberPolicy,e.removeMemberPolicy,e.addAdminPolicy,e.removeAdminPolicy,e.updateGroupNamePolicy,e.updateGroupDescriptionPolicy,e.updateGroupImageUrlSquarePolicy,e.updateMessageDisappearingPolicy),E=e=>({customPermissionPolicySet:e.customPermissionPolicySet,description:e.groupDescription,imageUrlSquare:e.groupImageUrlSquare,messageDisappearingSettings:e.messageDisappearingSettings?Q(e.messageDisappearingSettings):void 0,name:e.groupName,permissions:e.permissions}),U=e=>new c(e.permissions,e.name,e.imageUrlSquare,e.description,e.customPermissionPolicySet&&e.permissions===p.CustomPolicy?L(e.customPermissionPolicySet):void 0,e.messageDisappearingSettings?X(e.messageDisappearingSettings):void 0),F=e=>({messageDisappearingSettings:e.messageDisappearingSettings?Q(e.messageDisappearingSettings):void 0}),O=e=>new l(e.messageDisappearingSettings?X(e.messageDisappearingSettings):void 0),W=async e=>{const t=e.id,s=e.name,i=e.imageUrl,n=e.description,r=e.permissions,a=e.isActive,o=e.addedByInboxId,d=await e.metadata(),c=e.admins,l=e.superAdmins,u=e.createdAtNs,g=r.policyType,h=r.policySet;return{id:t,name:s,imageUrl:i,description:n,permissions:{policyType:g,policySet:{addAdminPolicy:h.addAdminPolicy,addMemberPolicy:h.addMemberPolicy,removeAdminPolicy:h.removeAdminPolicy,removeMemberPolicy:h.removeMemberPolicy,updateGroupDescriptionPolicy:h.updateGroupDescriptionPolicy,updateGroupImageUrlSquarePolicy:h.updateGroupImageUrlSquarePolicy,updateGroupNamePolicy:h.updateGroupNamePolicy,updateMessageDisappearingPolicy:h.updateMessageDisappearingPolicy}},isActive:a,addedByInboxId:o,metadata:d,admins:c,superAdmins:l,createdAtNs:u}},j=e=>({bytes:e.bytes,clientTimestampNs:e.clientTimestampNs,id:e.id}),K=e=>({identifiers:e.accountIdentifiers,inboxId:e.inboxId,installations:e.installations.map(j),recoveryIdentifier:e.recoveryIdentifier}),H=e=>({entity:e.entity,entityType:e.entityType,state:e.state}),$=e=>new u(e.entityType,e.state,e.entity),V=e=>({accountIdentifiers:e.accountIdentifiers,consentState:e.consentState,inboxId:e.inboxId,installationIds:e.installationIds,permissionLevel:e.permissionLevel}),z=e=>new g(e.inboxId,e.accountIdentifiers,e.installationIds,e.permissionLevel,e.consentState),J=e=>({key:e.key,epoch:e.epoch}),Q=e=>({fromNs:e.fromNs,inNs:e.inNs}),X=e=>new h(e.fromNs,e.inNs),Y=e=>({lifetime:e.lifetime?{notBefore:e.lifetime.not_before,notAfter:e.lifetime.not_after}:void 0,validationError:e.validationError}),Z=e=>({epoch:e.epoch,maybeForked:e.maybeForked,forkDetails:e.forkDetails}),ee=e=>({uploadKeyPackage:e.upload_key_package,fetchKeyPackage:e.fetch_key_package,sendGroupMessages:e.send_group_messages,sendWelcomeMessages:e.send_welcome_messages,queryGroupMessages:e.query_group_messages,queryWelcomeMessages:e.query_welcome_messages,subscribeMessages:e.subscribe_messages,subscribeWelcomes:e.subscribe_welcomes}),te=e=>({getIdentityUpdatesV2:e.get_identity_updates_v2,getInboxIds:e.get_inbox_ids,publishIdentityUpdate:e.publish_identity_update,verifySmartContractWalletSignature:e.verify_smart_contract_wallet_signature});class se{#g;content;contentType;conversationId;deliveryStatus;fallback;compression;id;kind;parameters;encodedContent;senderInboxId;sentAtNs;constructor(e,t){switch(this.#g=e,this.id=t.id,this.sentAtNs=t.sentAtNs,this.conversationId=t.convoId,this.senderInboxId=t.senderInboxId,this.encodedContent=t.content,t.kind){case m.Application:this.kind="application";break;case m.MembershipChange:this.kind="membership_change"}switch(t.deliveryStatus){case y.Unpublished:this.deliveryStatus="unpublished";break;case y.Published:this.deliveryStatus="published";break;case y.Failed:this.deliveryStatus="failed"}this.contentType=k(t.content.type),this.parameters=new Map(Object.entries(t.content.parameters)),this.fallback=t.content.fallback,this.compression=t.content.compression;try{this.content=this.#g.decodeContent(t,this.contentType)}catch{this.content=void 0}}}class ie extends Error{constructor(){super("Client not initialized, use Client.create or Client.build to create a client")}}class ne extends Error{constructor(){super("Signer unavailable, use Client.create to create a client with a signer")}}class re extends Error{constructor(e){super(`Codec not found for "${e.toString()}" content type`)}}class ae extends Error{constructor(){super("Unable to create add account signature text, `allowInboxReassign` must be true")}}class oe extends Error{constructor(e){super(`Account already associated with inbox ${e}`)}}class de extends Error{constructor(e){super(`Group "${e}" not found`)}}class ce extends Error{constructor(e){super(`Stream "${e}" not found`)}}class le extends Error{constructor(e){super(`Invalid group membership change for message ${e}`)}}class ue extends Error{constructor(){super("Content type is required when sending content other than text")}}class ge{#h;#g;#p;#m;#y;#I;constructor(e,t,s){this.#g=e,this.#m=t,this.#v(s)}#v(e){this.#y=e?.isActive??void 0,this.#h=e?.addedByInboxId??"",this.#I=e?.metadata??void 0,this.#p=e?.createdAtNs??void 0}get id(){return this.#m}get isActive(){return this.#y}get addedByInboxId(){return this.#h}get createdAtNs(){return this.#p}get createdAt(){return this.#p?(e=this.#p,new Date(Number(e/1000000n))):void 0;var e}get metadata(){return this.#I}async members(){return this.#g.sendMessage("conversation.members",{id:this.#m})}async sync(){const e=await this.#g.sendMessage("conversation.sync",{id:this.#m});return this.#v(e),e}async publishMessages(){return this.#g.sendMessage("conversation.publishMessages",{id:this.#m})}async sendOptimistic(e,t){if("string"!=typeof e&&!t)throw new ue;const i="string"==typeof e?this.#g.encodeContent(e,t??s):this.#g.encodeContent(e,t);return this.#g.sendMessage("conversation.sendOptimistic",{id:this.#m,content:i})}async send(e,t){if("string"!=typeof e&&!t)throw new ue;const i="string"==typeof e?this.#g.encodeContent(e,t??s):this.#g.encodeContent(e,t);return this.#g.sendMessage("conversation.send",{id:this.#m,content:i})}async messages(e){return(await this.#g.sendMessage("conversation.messages",{id:this.#m,options:e})).map((e=>new se(this.#g,e)))}async consentState(){return this.#g.sendMessage("conversation.consentState",{id:this.#m})}async updateConsentState(e){return this.#g.sendMessage("conversation.updateConsentState",{id:this.#m,state:e})}async messageDisappearingSettings(){return this.#g.sendMessage("conversation.messageDisappearingSettings",{id:this.#m})}async updateMessageDisappearingSettings(e,t){return this.#g.sendMessage("conversation.updateMessageDisappearingSettings",{id:this.#m,fromNs:e,inNs:t})}async removeMessageDisappearingSettings(){return this.#g.sendMessage("conversation.removeMessageDisappearingSettings",{id:this.#m})}async isMessageDisappearingEnabled(){return this.#g.sendMessage("conversation.isMessageDisappearingEnabled",{id:this.#m})}async stream(e){const t=v(),s=new b,i=this.#g.handleStreamMessage(t,((t,i)=>{let n,r=t;if(i)try{n=new se(this.#g,i)}catch(t){r=t}s.callback(r,n),e?.(r,n)}));return await this.#g.sendMessage("conversation.stream",{groupId:this.#m,streamId:t}),s.onDone=()=>{this.#g.sendMessage("endStream",{streamId:t}),i()},s}async pausedForVersion(){return this.#g.sendMessage("conversation.pausedForVersion",{id:this.#m})}async getHmacKeys(){return this.#g.sendMessage("conversation.getHmacKeys",{id:this.#m})}async debugInfo(){return this.#g.sendMessage("conversation.debugInfo",{id:this.#m})}}class he extends ge{#g;#m;constructor(e,t,s){super(e,t,s),this.#g=e,this.#m=t}async peerInboxId(){return this.#g.sendMessage("dm.peerInboxId",{id:this.#m})}async getDuplicateDms(){return this.#g.sendMessage("dm.getDuplicateDms",{id:this.#m})}}class pe extends ge{#w=[];#g;#f;#m;#M;#b;#S=[];#v(e){this.#b=e?.name??"",this.#M=e?.imageUrl??"",this.#f=e?.description??"",this.#w=e?.admins??[],this.#S=e?.superAdmins??[]}constructor(e,t,s){super(e,t,s),this.#g=e,this.#m=t,this.#v(s)}async sync(){const e=await super.sync();return this.#v(e),e}get name(){return this.#b}async updateName(e){await this.#g.sendMessage("group.updateName",{id:this.#m,name:e}),this.#b=e}get imageUrl(){return this.#M}async updateImageUrl(e){await this.#g.sendMessage("group.updateImageUrl",{id:this.#m,imageUrl:e}),this.#M=e}get description(){return this.#f}async updateDescription(e){await this.#g.sendMessage("group.updateDescription",{id:this.#m,description:e}),this.#f=e}get admins(){return this.#w}get superAdmins(){return this.#S}async listAdmins(){const e=await this.#g.sendMessage("group.listAdmins",{id:this.#m});return this.#w=e,e}async listSuperAdmins(){const e=await this.#g.sendMessage("group.listSuperAdmins",{id:this.#m});return this.#S=e,e}async permissions(){return this.#g.sendMessage("group.permissions",{id:this.#m})}async updatePermission(e,t,s){return this.#g.sendMessage("group.updatePermission",{id:this.#m,permissionType:e,policy:t,metadataField:s})}async isAdmin(e){return(await this.listAdmins()).includes(e)}async isSuperAdmin(e){return(await this.listSuperAdmins()).includes(e)}async addMembersByIdentifiers(e){return this.#g.sendMessage("group.addMembersByIdentifiers",{id:this.#m,identifiers:e})}async addMembers(e){return this.#g.sendMessage("group.addMembers",{id:this.#m,inboxIds:e})}async removeMembersByIdentifiers(e){return this.#g.sendMessage("group.removeMembersByIdentifiers",{id:this.#m,identifiers:e})}async removeMembers(e){return this.#g.sendMessage("group.removeMembers",{id:this.#m,inboxIds:e})}async addAdmin(e){return this.#g.sendMessage("group.addAdmin",{id:this.#m,inboxId:e})}async removeAdmin(e){return this.#g.sendMessage("group.removeAdmin",{id:this.#m,inboxId:e})}async addSuperAdmin(e){return this.#g.sendMessage("group.addSuperAdmin",{id:this.#m,inboxId:e})}async removeSuperAdmin(e){return this.#g.sendMessage("group.removeSuperAdmin",{id:this.#m,inboxId:e})}}class me{#g;constructor(e){this.#g=e}async sync(){return this.#g.sendMessage("conversations.sync",void 0)}async syncAll(e){return this.#g.sendMessage("conversations.syncAll",{consentStates:e})}async getConversationById(e){const t=await this.#g.sendMessage("conversations.getConversationById",{id:e});if(t)return"group"===t.metadata.conversationType?new pe(this.#g,t.id,t):new he(this.#g,t.id,t)}async getMessageById(e){const t=await this.#g.sendMessage("conversations.getMessageById",{id:e});return t?new se(this.#g,t):void 0}async getDmByInboxId(e){const t=await this.#g.sendMessage("conversations.getDmByInboxId",{inboxId:e});return t?new he(this.#g,t.id,t):void 0}async list(e){return(await this.#g.sendMessage("conversations.list",{options:e})).map((e=>{switch(e.metadata.conversationType){case"dm":return new he(this.#g,e.id,e);case"group":return new pe(this.#g,e.id,e);default:return}})).filter((e=>void 0!==e))}async listGroups(e){return(await this.#g.sendMessage("conversations.listGroups",{options:e})).map((e=>new pe(this.#g,e.id,e)))}async listDms(e){return(await this.#g.sendMessage("conversations.listDms",{options:e})).map((e=>new he(this.#g,e.id,e)))}async newGroupOptimistic(e){const t=await this.#g.sendMessage("conversations.newGroupOptimistic",{options:e});return new pe(this.#g,t.id,t)}async newGroupWithIdentifiers(e,t){const s=await this.#g.sendMessage("conversations.newGroupWithIdentifiers",{identifiers:e,options:t});return new pe(this.#g,s.id,s)}async newGroup(e,t){const s=await this.#g.sendMessage("conversations.newGroup",{inboxIds:e,options:t});return new pe(this.#g,s.id,s)}async newDmWithIdentifier(e,t){const s=await this.#g.sendMessage("conversations.newDmWithIdentifier",{identifier:e,options:t});return new he(this.#g,s.id,s)}async newDm(e,t){const s=await this.#g.sendMessage("conversations.newDm",{inboxId:e,options:t});return new he(this.#g,s.id,s)}async getHmacKeys(){return this.#g.sendMessage("conversations.getHmacKeys",void 0)}async stream(e,t){const s=v(),i=new b,n=this.#g.handleStreamMessage(s,((t,s)=>{let n,r=t;if(s)try{n="group"===s.metadata.conversationType?new pe(this.#g,s.id,s):new he(this.#g,s.id,s)}catch(t){r=t}i.callback(r,n),e?.(r,n)}));return await this.#g.sendMessage("conversations.stream",{streamId:s,conversationType:t}),i.onDone=()=>{this.#g.sendMessage("endStream",{streamId:s}),n()},i}async streamGroups(e){return this.stream(e,I.Group)}async streamDms(e){return this.stream(e,I.Dm)}async streamAllMessages(e,t,s){const i=v(),n=new b,r=this.#g.handleStreamMessage(i,((t,s)=>{let i,r=t;if(s)try{i=new se(this.#g,s)}catch(t){r=t}n.callback(r,i),e?.(r,i)}));return await this.#g.sendMessage("conversations.streamAllMessages",{streamId:i,conversationType:t,consentStates:s}),n.onDone=()=>{this.#g.sendMessage("endStream",{streamId:i}),r()},n}async streamAllGroupMessages(e,t){return this.streamAllMessages(e,I.Group,t)}async streamAllDmMessages(e,t){return this.streamAllMessages(e,I.Dm,t)}}class ye{#g;constructor(e){this.#g=e}apiStatistics(){return this.#g.sendMessage("debugInformation.apiStatistics",void 0)}apiIdentityStatistics(){return this.#g.sendMessage("debugInformation.apiIdentityStatistics",void 0)}apiAggregateStatistics(){return this.#g.sendMessage("debugInformation.apiAggregateStatistics",void 0)}clearAllStatistics(){return this.#g.sendMessage("debugInformation.clearAllStatistics",void 0)}uploadDebugArchive(e){return this.#g.sendMessage("debugInformation.uploadDebugArchive",{serverUrl:e})}}class Ie{#g;constructor(e){this.#g=e}sync(){return this.#g.sendMessage("preferences.sync",void 0)}async inboxState(e){return this.#g.sendMessage("preferences.inboxState",{refreshFromNetwork:e??!1})}async inboxStateFromInboxIds(e,t){return this.#g.sendMessage("preferences.inboxStateFromInboxIds",{inboxIds:e,refreshFromNetwork:t??!1})}async getLatestInboxState(e){return this.#g.sendMessage("preferences.getLatestInboxState",{inboxId:e})}async setConsentStates(e){return this.#g.sendMessage("preferences.setConsentStates",{records:e})}async getConsentState(e,t){return this.#g.sendMessage("preferences.getConsentState",{entityType:e,entity:t})}async streamConsent(e){const t=v(),s=new b,i=this.#g.handleStreamMessage(t,((t,i)=>{s.callback(t,i??void 0),e?.(t,i??void 0)}));return await this.#g.sendMessage("preferences.streamConsent",{streamId:t}),s.onDone=()=>{this.#g.sendMessage("endStream",{streamId:t}),i()},s}async streamPreferences(e){const t=v(),s=new b,i=this.#g.handleStreamMessage(t,((t,i)=>{s.callback(t,i??void 0),e?.(t,i??void 0)}));return await this.#g.sendMessage("preferences.streamPreferences",{streamId:t}),s.onDone=()=>{this.#g.sendMessage("endStream",{streamId:t}),i()},s}}const ve=async(e,t)=>{switch(e.type){case"EOA":return{type:"EOA",identifier:await e.getIdentifier(),signature:t};case"SCW":return{type:"SCW",identifier:await e.getIdentifier(),signature:t,chainId:e.getChainId(),blockNumber:e.getBlockNumber?.()}}},we=e=>{console.error(e.message)};class fe{#e;#t;#s=new Map;constructor(e,t){this.#e=e,this.#e.addEventListener("message",this.handleMessage),t&&this.#e.addEventListener("error",we),this.#t=t}async init(){return this.sendMessage("utils.init",{enableLogging:this.#t})}sendMessage(e,t){const s=v();this.#e.postMessage({action:e,id:s,data:t});return new Promise(((e,t)=>{this.#s.set(s,{resolve:e,reject:t})}))}handleMessage=e=>{const t=e.data;this.#t&&console.log("utils received event data",t);const s=this.#s.get(t.id);s&&(this.#s.delete(t.id),"error"in t?s.reject(t.error):s.resolve(t.result))};close(){this.#e.removeEventListener("message",this.handleMessage),this.#t&&this.#e.removeEventListener("error",we),this.#e.terminate()}}class Me extends fe{constructor(e){super(new Worker(new URL("./workers/utils",import.meta.url),{type:"module"}),e??!1)}async generateInboxId(e){return this.sendMessage("utils.generateInboxId",{identifier:e})}async getInboxIdForIdentifier(e,t){return this.sendMessage("utils.getInboxIdForIdentifier",{identifier:e,env:t})}async revokeInstallationsSignatureText(e,t,s,i){return this.sendMessage("utils.revokeInstallationsSignatureText",{env:i,identifier:e,inboxId:t,installationIds:s,signatureRequestId:v()})}async revokeInstallations(e,t,s,i){const n=await e.getIdentifier(),{signatureText:r,signatureRequestId:a}=await this.revokeInstallationsSignatureText(n,t,s,i),o=await e.signMessage(r),d=await ve(e,o);return this.sendMessage("utils.revokeInstallations",{signer:d,signatureRequestId:a,env:i})}async inboxStateFromInboxIds(e,t){return this.sendMessage("utils.inboxStateFromInboxIds",{inboxIds:e,env:t})}}class be extends M{#x;#A;#k;#D;#P;#T;#N;#C=!1;#R;#q;#_;constructor(t){super(new Worker(new URL("./workers/client",import.meta.url),{type:"module"}),void 0!==t?.loggingLevel&&"off"!==t.loggingLevel),this.#_=t,this.#A=new me(this),this.#k=new ye(this),this.#R=new Ie(this);const s=[new e,new i,...t?.codecs??[]];this.#x=new Map(s.map((e=>[e.contentType.toString(),e])))}async init(e){const t=await this.sendMessage("client.init",{identifier:e,options:this.#_});this.#D=e,this.#P=t.inboxId,this.#T=t.installationId,this.#N=t.installationIdBytes,this.#C=!0}static async create(e,t){const s=new be(t);return s.#q=e,await s.init(await e.getIdentifier()),t?.disableAutoRegister||await s.register(),s}static async build(e,t){const s=new be({...t,disableAutoRegister:!0});return await s.init(e),s}get options(){return this.#_}get signer(){return this.#q}get isReady(){return this.#C}get inboxId(){return this.#P}get accountIdentifier(){return this.#D}get installationId(){return this.#T}get installationIdBytes(){return this.#N}get conversations(){return this.#A}get debugInformation(){return this.#k}get preferences(){return this.#R}async unsafe_createInboxSignatureText(){return this.sendMessage("client.createInboxSignatureText",{signatureRequestId:v()})}async unsafe_addAccountSignatureText(e,t=!1){if(!t)throw new ae;return this.sendMessage("client.addAccountSignatureText",{newIdentifier:e,signatureRequestId:v()})}async unsafe_removeAccountSignatureText(e){return this.sendMessage("client.removeAccountSignatureText",{identifier:e,signatureRequestId:v()})}async unsafe_revokeAllOtherInstallationsSignatureText(){return this.sendMessage("client.revokeAllOtherInstallationsSignatureText",{signatureRequestId:v()})}async unsafe_revokeInstallationsSignatureText(e){return this.sendMessage("client.revokeInstallationsSignatureText",{installationIds:e,signatureRequestId:v()})}async unsafe_changeRecoveryIdentifierSignatureText(e){return this.sendMessage("client.changeRecoveryIdentifierSignatureText",{identifier:e,signatureRequestId:v()})}async unsafe_applySignatureRequest(e,t){return this.sendMessage("client.applySignatureRequest",{signer:e,signatureRequestId:t})}async register(){if(!this.#q)throw new ne;const{signatureText:e,signatureRequestId:t}=await this.unsafe_createInboxSignatureText();if(!e||!t)return;const s=await this.#q.signMessage(e),i=await ve(this.#q,s);return this.sendMessage("client.registerIdentity",{signer:i,signatureRequestId:t})}async unsafe_addAccount(e,t=!1){if(!this.#q)throw new ne;if(!t)throw new ae;const s=await this.findInboxIdByIdentifier(await e.getIdentifier());if(s)throw new oe(s);const{signatureText:i,signatureRequestId:n}=await this.unsafe_addAccountSignatureText(await e.getIdentifier(),!0),r=await e.signMessage(i),a=await ve(e,r);return this.sendMessage("client.addAccount",{identifier:a.identifier,signer:a,signatureRequestId:n})}async removeAccount(e){if(!this.#q)throw new ne;const{signatureText:t,signatureRequestId:s}=await this.unsafe_removeAccountSignatureText(e),i=await this.#q.signMessage(t),n=await ve(this.#q,i);return this.sendMessage("client.removeAccount",{identifier:e,signer:n,signatureRequestId:s})}async revokeAllOtherInstallations(){if(!this.#q)throw new ne;const{signatureText:e,signatureRequestId:t}=await this.unsafe_revokeAllOtherInstallationsSignatureText(),s=await this.#q.signMessage(e),i=await ve(this.#q,s);return this.sendMessage("client.revokeAllOtherInstallations",{signer:i,signatureRequestId:t})}async revokeInstallations(e){if(!this.#q)throw new ne;const{signatureText:t,signatureRequestId:s}=await this.unsafe_revokeInstallationsSignatureText(e),i=await this.#q.signMessage(t),n=await ve(this.#q,i);return this.sendMessage("client.revokeInstallations",{installationIds:e,signer:n,signatureRequestId:s})}static async revokeInstallations(e,t,s,i,n){const r=new Me(n);await r.init(),await r.revokeInstallations(e,t,s,i),r.close()}static async inboxStateFromInboxIds(e,t,s){const i=new Me(s);await i.init();const n=await i.inboxStateFromInboxIds(e,t);return i.close(),n}async changeRecoveryIdentifier(e){if(!this.#q)throw new ne;const{signatureText:t,signatureRequestId:s}=await this.unsafe_changeRecoveryIdentifierSignatureText(e),i=await this.#q.signMessage(t),n=await ve(this.#q,i);return this.sendMessage("client.changeRecoveryIdentifier",{identifier:e,signer:n,signatureRequestId:s})}async isRegistered(){return this.sendMessage("client.isRegistered",void 0)}async canMessage(e){return this.sendMessage("client.canMessage",{identifiers:e})}static async canMessage(e,t){const s=new Map,i=new Me;for(const n of e){const e=await i.getInboxIdForIdentifier(n,t);s.set(n.identifier.toLowerCase(),void 0!==e)}return i.close(),s}async findInboxIdByIdentifier(e){return this.sendMessage("client.findInboxIdByIdentifier",{identifier:e})}codecFor(e){return this.#x.get(e.toString())}encodeContent(e,t){const s=this.codecFor(t);if(!s)throw new re(t);const i=s.encode(e,this),n=s.fallback(e);return n&&(i.fallback=n),T(i)}decodeContent(e,s){const i=this.codecFor(s);if(!i)throw new re(s);if(s.sameAs(t)&&e.kind!==m.MembershipChange)throw new le(e.id);const n=N(e.content);return i.decode(n,this)}signWithInstallationKey(e){return this.sendMessage("client.signWithInstallationKey",{signatureText:e})}verifySignedWithInstallationKey(e,t){return this.sendMessage("client.verifySignedWithInstallationKey",{signatureText:e,signatureBytes:t})}verifySignedWithPublicKey(e,t,s){return this.sendMessage("client.verifySignedWithPublicKey",{signatureText:e,signatureBytes:t,publicKey:s})}async getKeyPackageStatusesForInstallationIds(e){return this.sendMessage("client.getKeyPackageStatusesForInstallationIds",{installationIds:e})}}const Se={local:"http://localhost:5555",dev:"https://dev.xmtp.network",production:"https://production.xmtp.network"},xe={local:"http://localhost:5558",dev:"https://message-history.dev.ephemera.network",production:"https://message-history.production.ephemera.network"};export{oe as AccountAlreadyAssociatedError,Se as ApiUrls,be as Client,ie as ClientNotInitializedError,re as CodecNotFoundError,ge as Conversation,me as Conversations,se as DecodedMessage,he as Dm,pe as Group,de as GroupNotFoundError,xe as HistorySyncUrls,ae as InboxReassignError,le as InvalidGroupMembershipChangeError,ue as MissingContentTypeError,ne as SignerUnavailableError,ce as StreamNotFoundError,Me as Utils,x as fromContentTypeId,P as fromEncodedContent,$ as fromSafeConsent,k as fromSafeContentTypeId,O as fromSafeCreateDmOptions,U as fromSafeCreateGroupOptions,N as fromSafeEncodedContent,z as fromSafeGroupMember,G as fromSafeListConversationsOptions,q as fromSafeListMessagesOptions,X as fromSafeMessageDisappearingSettings,L as fromSafePermissionPolicySet,S as toContentTypeId,D as toEncodedContent,ee as toSafeApiStats,H as toSafeConsent,A as toSafeContentTypeId,W as toSafeConversation,Z as toSafeConversationDebugInfo,F as toSafeCreateDmOptions,E as toSafeCreateGroupOptions,T as toSafeEncodedContent,V as toSafeGroupMember,J as toSafeHmacKey,te as toSafeIdentityStats,K as toSafeInboxState,j as toSafeInstallation,Y as toSafeKeyPackageStatus,_ as toSafeListConversationsOptions,R as toSafeListMessagesOptions,C as toSafeMessage,Q as toSafeMessageDisappearingSettings,B as toSafePermissionPolicySet,ve as toSafeSigner};
|
|
1
|
+
import{GroupUpdatedCodec as e,ContentTypeGroupUpdated as t}from"@xmtp/content-type-group-updated";import{ContentTypeText as s,TextCodec as n}from"@xmtp/content-type-text";import{ContentTypeId as i,EncodedContent as r,ListMessagesOptions as a,ListConversationsOptions as o,PermissionPolicySet as c,CreateGroupOptions as d,CreateDMOptions as l,Consent as u,GroupMember as g,MessageDisappearingSettings as p,GroupPermissionsOptions as h,GroupMessageKind as m,DeliveryStatus as y,ConversationType as I}from"@xmtp/wasm-bindings";export{Consent,ConsentEntityType,ConsentState,ContentType,ContentTypeId,ConversationListItem,ConversationType,CreateDMOptions,CreateGroupOptions,DeliveryStatus,EncodedContent,GroupMember,GroupMembershipState,GroupMessageKind,GroupMetadata,GroupPermissions,GroupPermissionsOptions,HmacKey,InboxState,Installation,ListConversationsOptions,ListMessagesOptions,LogOptions,Message,MessageDisappearingSettings,MetadataField,PermissionLevel,PermissionPolicy,PermissionPolicySet,PermissionUpdateType,SignatureRequestHandle,SortDirection}from"@xmtp/wasm-bindings";import{v4 as v}from"uuid";import{ContentTypeId as w}from"@xmtp/content-type-primitives";const f=e=>{console.error(e.message)};class M{#e;#t;#s=new Map;constructor(e,t){this.#e=e,this.#e.addEventListener("message",this.handleMessage),t&&this.#e.addEventListener("error",f),this.#t=t}sendMessage(e,t){const s=v();this.#e.postMessage({action:e,id:s,data:t});return new Promise(((e,t)=>{this.#s.set(s,{resolve:e,reject:t})}))}handleMessage=e=>{const t=e.data;this.#t&&console.log("client received event data",t);const s=this.#s.get(t.id);s&&(this.#s.delete(t.id),"error"in t?s.reject(t.error):s.resolve(t.result))};handleStreamMessage=(e,t,s)=>{const n=n=>{const i=n.data;if(i.streamId===e){if("stream.fail"===i.action)return void s?.onFail?.();"error"in i?t(i.error,void 0):t(null,i.result)}};return this.#e.addEventListener("message",n),async()=>{await this.sendMessage("endStream",{streamId:e}),this.#e.removeEventListener("message",n)}};close(){this.#e.removeEventListener("message",this.handleMessage),this.#t&&this.#e.removeEventListener("error",f),this.#e.terminate()}}const b=e=>new w({authorityId:e.authorityId,typeId:e.typeId,versionMajor:e.versionMajor,versionMinor:e.versionMinor}),S=e=>new i(e.authorityId,e.typeId,e.versionMajor,e.versionMinor),x=e=>({authorityId:e.authorityId,typeId:e.typeId,versionMajor:e.versionMajor,versionMinor:e.versionMinor}),A=e=>new w({authorityId:e.authorityId,typeId:e.typeId,versionMajor:e.versionMajor,versionMinor:e.versionMinor}),k=e=>({type:b(e.type),parameters:Object.fromEntries(e.parameters),fallback:e.fallback,compression:e.compression,content:e.content}),D=e=>new r(S(e.type),new Map(Object.entries(e.parameters)),e.fallback,e.compression,e.content),P=e=>({type:x(e.type),parameters:e.parameters,fallback:e.fallback,compression:e.compression,content:e.content}),T=e=>({type:A(e.type),parameters:e.parameters,fallback:e.fallback,compression:e.compression,content:e.content}),R=e=>({content:P(k(e.content)),convoId:e.convoId,deliveryStatus:e.deliveryStatus,id:e.id,kind:e.kind,senderInboxId:e.senderInboxId,sentAtNs:e.sentAtNs}),N=e=>({contentTypes:e.contentTypes,deliveryStatus:e.deliveryStatus,direction:e.direction,limit:e.limit,sentAfterNs:e.sentAfterNs,sentBeforeNs:e.sentBeforeNs}),C=e=>new a(e.sentBeforeNs,e.sentAfterNs,e.limit,e.deliveryStatus,e.direction,e.contentTypes),q=e=>({consentStates:e.consentStates,conversationType:e.conversationType,createdAfterNs:e.createdAfterNs,createdBeforeNs:e.createdBeforeNs,includeDuplicateDms:e.includeDuplicateDms,limit:e.limit}),_=e=>new o(e.consentStates,e.conversationType,e.createdAfterNs,e.createdBeforeNs,e.includeDuplicateDms??!1,e.limit),G=e=>({addAdminPolicy:e.addAdminPolicy,addMemberPolicy:e.addMemberPolicy,removeAdminPolicy:e.removeAdminPolicy,removeMemberPolicy:e.removeMemberPolicy,updateGroupDescriptionPolicy:e.updateGroupDescriptionPolicy,updateGroupImageUrlSquarePolicy:e.updateGroupImageUrlSquarePolicy,updateGroupNamePolicy:e.updateGroupNamePolicy,updateMessageDisappearingPolicy:e.updateMessageDisappearingPolicy}),B=e=>new c(e.addMemberPolicy,e.removeMemberPolicy,e.addAdminPolicy,e.removeAdminPolicy,e.updateGroupNamePolicy,e.updateGroupDescriptionPolicy,e.updateGroupImageUrlSquarePolicy,e.updateMessageDisappearingPolicy),L=e=>({customPermissionPolicySet:e.customPermissionPolicySet,description:e.groupDescription,imageUrlSquare:e.groupImageUrlSquare,messageDisappearingSettings:e.messageDisappearingSettings?J(e.messageDisappearingSettings):void 0,name:e.groupName,permissions:e.permissions}),E=e=>new d(e.permissions,e.name,e.imageUrlSquare,e.description,e.customPermissionPolicySet&&e.permissions===h.CustomPolicy?B(e.customPermissionPolicySet):void 0,e.messageDisappearingSettings?Q(e.messageDisappearingSettings):void 0),F=e=>({messageDisappearingSettings:e.messageDisappearingSettings?J(e.messageDisappearingSettings):void 0}),U=e=>new l(e.messageDisappearingSettings?Q(e.messageDisappearingSettings):void 0),O=async e=>{const t=e.id,s=e.name,n=e.imageUrl,i=e.description,r=e.permissions,a=e.isActive,o=e.addedByInboxId,c=await e.metadata(),d=e.admins,l=e.superAdmins,u=e.createdAtNs,g=r.policyType,p=r.policySet;return{id:t,name:s,imageUrl:n,description:i,permissions:{policyType:g,policySet:{addAdminPolicy:p.addAdminPolicy,addMemberPolicy:p.addMemberPolicy,removeAdminPolicy:p.removeAdminPolicy,removeMemberPolicy:p.removeMemberPolicy,updateGroupDescriptionPolicy:p.updateGroupDescriptionPolicy,updateGroupImageUrlSquarePolicy:p.updateGroupImageUrlSquarePolicy,updateGroupNamePolicy:p.updateGroupNamePolicy,updateMessageDisappearingPolicy:p.updateMessageDisappearingPolicy}},isActive:a,addedByInboxId:o,metadata:c,admins:d,superAdmins:l,createdAtNs:u}},K=e=>({bytes:e.bytes,clientTimestampNs:e.clientTimestampNs,id:e.id}),W=e=>({identifiers:e.accountIdentifiers,inboxId:e.inboxId,installations:e.installations.map(K),recoveryIdentifier:e.recoveryIdentifier}),j=e=>({entity:e.entity,entityType:e.entityType,state:e.state}),$=e=>new u(e.entityType,e.state,e.entity),H=e=>({accountIdentifiers:e.accountIdentifiers,consentState:e.consentState,inboxId:e.inboxId,installationIds:e.installationIds,permissionLevel:e.permissionLevel}),V=e=>new g(e.inboxId,e.accountIdentifiers,e.installationIds,e.permissionLevel,e.consentState),z=e=>({key:e.key,epoch:e.epoch}),J=e=>({fromNs:e.fromNs,inNs:e.inNs}),Q=e=>new p(e.fromNs,e.inNs),X=e=>({lifetime:e.lifetime?{notBefore:e.lifetime.not_before,notAfter:e.lifetime.not_after}:void 0,validationError:e.validationError}),Y=e=>({epoch:e.epoch,maybeForked:e.maybeForked,forkDetails:e.forkDetails}),Z=e=>({uploadKeyPackage:e.upload_key_package,fetchKeyPackage:e.fetch_key_package,sendGroupMessages:e.send_group_messages,sendWelcomeMessages:e.send_welcome_messages,queryGroupMessages:e.query_group_messages,queryWelcomeMessages:e.query_welcome_messages,subscribeMessages:e.subscribe_messages,subscribeWelcomes:e.subscribe_welcomes}),ee=e=>({getIdentityUpdatesV2:e.get_identity_updates_v2,getInboxIds:e.get_inbox_ids,publishIdentityUpdate:e.publish_identity_update,verifySmartContractWalletSignature:e.verify_smart_contract_wallet_signature});class te{#n;content;contentType;conversationId;deliveryStatus;fallback;compression;id;kind;parameters;encodedContent;senderInboxId;sentAtNs;constructor(e,t){switch(this.#n=e,this.id=t.id,this.sentAtNs=t.sentAtNs,this.conversationId=t.convoId,this.senderInboxId=t.senderInboxId,this.encodedContent=t.content,t.kind){case m.Application:this.kind="application";break;case m.MembershipChange:this.kind="membership_change"}switch(t.deliveryStatus){case y.Unpublished:this.deliveryStatus="unpublished";break;case y.Published:this.deliveryStatus="published";break;case y.Failed:this.deliveryStatus="failed"}this.contentType=A(t.content.type),this.parameters=new Map(Object.entries(t.content.parameters)),this.fallback=t.content.fallback,this.compression=t.content.compression;try{this.content=this.#n.decodeContent(t,this.contentType)}catch{this.content=void 0}}}class se extends Error{constructor(){super("Client not initialized, use Client.create or Client.build to create a client")}}class ne extends Error{constructor(){super("Signer unavailable, use Client.create to create a client with a signer")}}class ie extends Error{constructor(e){super(`Codec not found for "${e.toString()}" content type`)}}class re extends Error{constructor(){super("Unable to create add account signature text, `allowInboxReassign` must be true")}}class ae extends Error{constructor(e){super(`Account already associated with inbox ${e}`)}}class oe extends Error{constructor(e){super(`Group "${e}" not found`)}}class ce extends Error{constructor(e){super(`Stream "${e}" not found`)}}class de extends Error{constructor(e){super(`Invalid group membership change for message ${e}`)}}class le extends Error{constructor(){super("Content type is required when sending content other than text")}}class ue extends Error{constructor(e){super(`Stream failed, retried ${e} ${"time"+(1!==e?"s":"")}`)}}class ge extends Error{constructor(){super("Stream retry attempts must be greater than 0")}}class pe{isDone=!1;#i=[];#r;onDone;onReturn;constructor(){this.#r=[],this.isDone=!1}flush(){for(;this.#i.length>0;){const e=this.#i.shift();e&&e({done:!0,value:void 0})}}done(){this.flush(),this.#r=[],this.#i=[],this.isDone=!0,this.onDone?.()}push=e=>{if(this.isDone)return;const t=this.#i.shift();t?t({done:!1,value:e}):this.#r.push(e)};next=()=>this.isDone?Promise.resolve({done:!0,value:void 0}):this.#r.length>0?Promise.resolve({done:!1,value:this.#r.shift()}):new Promise((e=>{this.#i.push(e)}));return=()=>(this.onReturn?.(),this.done(),Promise.resolve({done:!0,value:void 0}));end=()=>this.return();[Symbol.asyncIterator](){return this}}const he=["end","isDone","next","return",Symbol.asyncIterator],me=e=>he.includes(e);const ye=1e4,Ie=6,ve=async(e,t,s)=>{const{onEnd:n,onError:i,onFail:r,onRestart:a,onRetry:o,onValue:c,retryAttempts:d=Ie,retryDelay:l=ye,retryOnFail:u=!0}=s??{};if(u&&d<0)throw new ge;const g=new pe,p=(e,s)=>{if(e)i?.(e);else if(void 0!==s)try{if(t){const e=t(s);(e=>!!e&&("object"==typeof e||"function"==typeof e)&&"then"in e&&"function"==typeof e.then)(e)?e.then((e=>{g.push(e),c?.(e)})).catch((e=>{i?.(e)})):(g.push(e),c?.(e))}else g.push(s),c?.(s)}catch(e){i?.(e)}},h=async(t=d)=>{try{if(0===t)throw g.end(),new ue(d);await(s=l,new Promise((e=>setTimeout(e,s)))),o?.(d-t+1,d);const i=await e(p,(()=>{r?.(),h()}));g.onDone=()=>{i(),n?.()},a?.()}catch(e){i?.(e),h(t-1)}var s},m=()=>{if(!u)throw g.end(),new ue(0);h()};try{const t=await e(p,(()=>{r?.(),m()}));g.onDone=()=>{t(),n?.()}}catch(e){i?.(e),m()}return new Proxy(g,{get(e,t,s){if(me(t))return Reflect.get(e,t,s)},set:()=>!0,has:(e,t)=>me(t),ownKeys:()=>he,getOwnPropertyDescriptor(e,t){if(me(t))return{enumerable:!0,configurable:!0,value:Reflect.get(e,t)}}})};class we{#a;#n;#o;#c;#d;#l;constructor(e,t,s){this.#n=e,this.#c=t,this.#u(s)}#u(e){this.#d=e?.isActive??void 0,this.#a=e?.addedByInboxId??"",this.#l=e?.metadata??void 0,this.#o=e?.createdAtNs??void 0}get id(){return this.#c}get isActive(){return this.#d}get addedByInboxId(){return this.#a}get createdAtNs(){return this.#o}get createdAt(){return this.#o?(e=this.#o,new Date(Number(e/1000000n))):void 0;var e}get metadata(){return this.#l}async members(){return this.#n.sendMessage("conversation.members",{id:this.#c})}async sync(){const e=await this.#n.sendMessage("conversation.sync",{id:this.#c});return this.#u(e),e}async publishMessages(){return this.#n.sendMessage("conversation.publishMessages",{id:this.#c})}async sendOptimistic(e,t){if("string"!=typeof e&&!t)throw new le;const n="string"==typeof e?this.#n.encodeContent(e,t??s):this.#n.encodeContent(e,t);return this.#n.sendMessage("conversation.sendOptimistic",{id:this.#c,content:n})}async send(e,t){if("string"!=typeof e&&!t)throw new le;const n="string"==typeof e?this.#n.encodeContent(e,t??s):this.#n.encodeContent(e,t);return this.#n.sendMessage("conversation.send",{id:this.#c,content:n})}async messages(e){return(await this.#n.sendMessage("conversation.messages",{id:this.#c,options:e})).map((e=>new te(this.#n,e)))}async consentState(){return this.#n.sendMessage("conversation.consentState",{id:this.#c})}async updateConsentState(e){return this.#n.sendMessage("conversation.updateConsentState",{id:this.#c,state:e})}async messageDisappearingSettings(){return this.#n.sendMessage("conversation.messageDisappearingSettings",{id:this.#c})}async updateMessageDisappearingSettings(e,t){return this.#n.sendMessage("conversation.updateMessageDisappearingSettings",{id:this.#c,fromNs:e,inNs:t})}async removeMessageDisappearingSettings(){return this.#n.sendMessage("conversation.removeMessageDisappearingSettings",{id:this.#c})}async isMessageDisappearingEnabled(){return this.#n.sendMessage("conversation.isMessageDisappearingEnabled",{id:this.#c})}async stream(e){return ve((async(t,s)=>{const n=v();return await this.sync(),await this.#n.sendMessage("conversation.stream",{groupId:this.#c,streamId:n}),this.#n.handleStreamMessage(n,t,{...e,onFail:s})}),(e=>new te(this.#n,e)),e)}async pausedForVersion(){return this.#n.sendMessage("conversation.pausedForVersion",{id:this.#c})}async getHmacKeys(){return this.#n.sendMessage("conversation.getHmacKeys",{id:this.#c})}async debugInfo(){return this.#n.sendMessage("conversation.debugInfo",{id:this.#c})}}class fe extends we{#n;#c;constructor(e,t,s){super(e,t,s),this.#n=e,this.#c=t}async peerInboxId(){return this.#n.sendMessage("dm.peerInboxId",{id:this.#c})}async getDuplicateDms(){return this.#n.sendMessage("dm.getDuplicateDms",{id:this.#c})}}class Me extends we{#g=[];#n;#p;#c;#h;#m;#y=[];#u(e){this.#m=e?.name??"",this.#h=e?.imageUrl??"",this.#p=e?.description??"",this.#g=e?.admins??[],this.#y=e?.superAdmins??[]}constructor(e,t,s){super(e,t,s),this.#n=e,this.#c=t,this.#u(s)}async sync(){const e=await super.sync();return this.#u(e),e}get name(){return this.#m}async updateName(e){await this.#n.sendMessage("group.updateName",{id:this.#c,name:e}),this.#m=e}get imageUrl(){return this.#h}async updateImageUrl(e){await this.#n.sendMessage("group.updateImageUrl",{id:this.#c,imageUrl:e}),this.#h=e}get description(){return this.#p}async updateDescription(e){await this.#n.sendMessage("group.updateDescription",{id:this.#c,description:e}),this.#p=e}get admins(){return this.#g}get superAdmins(){return this.#y}async listAdmins(){const e=await this.#n.sendMessage("group.listAdmins",{id:this.#c});return this.#g=e,e}async listSuperAdmins(){const e=await this.#n.sendMessage("group.listSuperAdmins",{id:this.#c});return this.#y=e,e}async permissions(){return this.#n.sendMessage("group.permissions",{id:this.#c})}async updatePermission(e,t,s){return this.#n.sendMessage("group.updatePermission",{id:this.#c,permissionType:e,policy:t,metadataField:s})}async isAdmin(e){return(await this.listAdmins()).includes(e)}async isSuperAdmin(e){return(await this.listSuperAdmins()).includes(e)}async addMembersByIdentifiers(e){return this.#n.sendMessage("group.addMembersByIdentifiers",{id:this.#c,identifiers:e})}async addMembers(e){return this.#n.sendMessage("group.addMembers",{id:this.#c,inboxIds:e})}async removeMembersByIdentifiers(e){return this.#n.sendMessage("group.removeMembersByIdentifiers",{id:this.#c,identifiers:e})}async removeMembers(e){return this.#n.sendMessage("group.removeMembers",{id:this.#c,inboxIds:e})}async addAdmin(e){return this.#n.sendMessage("group.addAdmin",{id:this.#c,inboxId:e})}async removeAdmin(e){return this.#n.sendMessage("group.removeAdmin",{id:this.#c,inboxId:e})}async addSuperAdmin(e){return this.#n.sendMessage("group.addSuperAdmin",{id:this.#c,inboxId:e})}async removeSuperAdmin(e){return this.#n.sendMessage("group.removeSuperAdmin",{id:this.#c,inboxId:e})}}class be{#n;constructor(e){this.#n=e}async sync(){return this.#n.sendMessage("conversations.sync",void 0)}async syncAll(e){return this.#n.sendMessage("conversations.syncAll",{consentStates:e})}async getConversationById(e){const t=await this.#n.sendMessage("conversations.getConversationById",{id:e});if(t)return"group"===t.metadata.conversationType?new Me(this.#n,t.id,t):new fe(this.#n,t.id,t)}async getMessageById(e){const t=await this.#n.sendMessage("conversations.getMessageById",{id:e});return t?new te(this.#n,t):void 0}async getDmByInboxId(e){const t=await this.#n.sendMessage("conversations.getDmByInboxId",{inboxId:e});return t?new fe(this.#n,t.id,t):void 0}async list(e){return(await this.#n.sendMessage("conversations.list",{options:e})).map((e=>{switch(e.metadata.conversationType){case"dm":return new fe(this.#n,e.id,e);case"group":return new Me(this.#n,e.id,e);default:return}})).filter((e=>void 0!==e))}async listGroups(e){return(await this.#n.sendMessage("conversations.listGroups",{options:e})).map((e=>new Me(this.#n,e.id,e)))}async listDms(e){return(await this.#n.sendMessage("conversations.listDms",{options:e})).map((e=>new fe(this.#n,e.id,e)))}async newGroupOptimistic(e){const t=await this.#n.sendMessage("conversations.newGroupOptimistic",{options:e});return new Me(this.#n,t.id,t)}async newGroupWithIdentifiers(e,t){const s=await this.#n.sendMessage("conversations.newGroupWithIdentifiers",{identifiers:e,options:t});return new Me(this.#n,s.id,s)}async newGroup(e,t){const s=await this.#n.sendMessage("conversations.newGroup",{inboxIds:e,options:t});return new Me(this.#n,s.id,s)}async newDmWithIdentifier(e,t){const s=await this.#n.sendMessage("conversations.newDmWithIdentifier",{identifier:e,options:t});return new fe(this.#n,s.id,s)}async newDm(e,t){const s=await this.#n.sendMessage("conversations.newDm",{inboxId:e,options:t});return new fe(this.#n,s.id,s)}async getHmacKeys(){return this.#n.sendMessage("conversations.getHmacKeys",void 0)}async stream(e){return ve((async(t,s)=>{const n=v();return await this.sync(),await this.#n.sendMessage("conversations.stream",{streamId:n,conversationType:e?.conversationType}),this.#n.handleStreamMessage(n,t,{...e,onFail:s})}),(e=>"group"===e.metadata.conversationType?new Me(this.#n,e.id,e):new fe(this.#n,e.id,e)),e)}async streamGroups(e){return this.stream({...e,conversationType:I.Group})}async streamDms(e){return this.stream({...e,conversationType:I.Dm})}async streamAllMessages(e){return ve((async(t,s)=>{const n=v();return await this.sync(),await this.#n.sendMessage("conversations.streamAllMessages",{streamId:n,conversationType:e?.conversationType,consentStates:e?.consentStates}),this.#n.handleStreamMessage(n,t,{...e,onFail:s})}),(e=>new te(this.#n,e)),e)}async streamAllGroupMessages(e){return this.streamAllMessages({...e,conversationType:I.Group})}async streamAllDmMessages(e){return this.streamAllMessages({...e,conversationType:I.Dm})}}class Se{#n;constructor(e){this.#n=e}apiStatistics(){return this.#n.sendMessage("debugInformation.apiStatistics",void 0)}apiIdentityStatistics(){return this.#n.sendMessage("debugInformation.apiIdentityStatistics",void 0)}apiAggregateStatistics(){return this.#n.sendMessage("debugInformation.apiAggregateStatistics",void 0)}clearAllStatistics(){return this.#n.sendMessage("debugInformation.clearAllStatistics",void 0)}uploadDebugArchive(e){return this.#n.sendMessage("debugInformation.uploadDebugArchive",{serverUrl:e})}}class xe{#n;constructor(e){this.#n=e}sync(){return this.#n.sendMessage("preferences.sync",void 0)}async inboxState(e){return this.#n.sendMessage("preferences.inboxState",{refreshFromNetwork:e??!1})}async inboxStateFromInboxIds(e,t){return this.#n.sendMessage("preferences.inboxStateFromInboxIds",{inboxIds:e,refreshFromNetwork:t??!1})}async getLatestInboxState(e){return this.#n.sendMessage("preferences.getLatestInboxState",{inboxId:e})}async setConsentStates(e){return this.#n.sendMessage("preferences.setConsentStates",{records:e})}async getConsentState(e,t){return this.#n.sendMessage("preferences.getConsentState",{entityType:e,entity:t})}async streamConsent(e){return ve((async(t,s)=>{const n=v();return await this.sync(),await this.#n.sendMessage("preferences.streamConsent",{streamId:n}),this.#n.handleStreamMessage(n,t,{...e,onFail:s})}),void 0,e)}async streamPreferences(e){return ve((async(t,s)=>{const n=v();return await this.sync(),await this.#n.sendMessage("preferences.streamPreferences",{streamId:n}),this.#n.handleStreamMessage(n,t,{...e,onFail:s})}),void 0,e)}}const Ae=async(e,t)=>{switch(e.type){case"EOA":return{type:"EOA",identifier:await e.getIdentifier(),signature:t};case"SCW":return{type:"SCW",identifier:await e.getIdentifier(),signature:t,chainId:e.getChainId(),blockNumber:e.getBlockNumber?.()}}},ke=e=>{console.error(e.message)};class De{#e;#t;#s=new Map;constructor(e,t){this.#e=e,this.#e.addEventListener("message",this.handleMessage),t&&this.#e.addEventListener("error",ke),this.#t=t}async init(){return this.sendMessage("utils.init",{enableLogging:this.#t})}sendMessage(e,t){const s=v();this.#e.postMessage({action:e,id:s,data:t});return new Promise(((e,t)=>{this.#s.set(s,{resolve:e,reject:t})}))}handleMessage=e=>{const t=e.data;this.#t&&console.log("utils received event data",t);const s=this.#s.get(t.id);s&&(this.#s.delete(t.id),"error"in t?s.reject(t.error):s.resolve(t.result))};close(){this.#e.removeEventListener("message",this.handleMessage),this.#t&&this.#e.removeEventListener("error",ke),this.#e.terminate()}}class Pe extends De{constructor(e){super(new Worker(new URL("./workers/utils",import.meta.url),{type:"module"}),e??!1)}async generateInboxId(e){return this.sendMessage("utils.generateInboxId",{identifier:e})}async getInboxIdForIdentifier(e,t){return this.sendMessage("utils.getInboxIdForIdentifier",{identifier:e,env:t})}async revokeInstallationsSignatureText(e,t,s,n){return this.sendMessage("utils.revokeInstallationsSignatureText",{env:n,identifier:e,inboxId:t,installationIds:s,signatureRequestId:v()})}async revokeInstallations(e,t,s,n){const i=await e.getIdentifier(),{signatureText:r,signatureRequestId:a}=await this.revokeInstallationsSignatureText(i,t,s,n),o=await e.signMessage(r),c=await Ae(e,o);return this.sendMessage("utils.revokeInstallations",{signer:c,signatureRequestId:a,env:n})}async inboxStateFromInboxIds(e,t){return this.sendMessage("utils.inboxStateFromInboxIds",{inboxIds:e,env:t})}}class Te extends M{#I;#v;#w;#f;#M;#b;#S;#x=!1;#A;#k;#D;constructor(t){super(new Worker(new URL("./workers/client",import.meta.url),{type:"module"}),void 0!==t?.loggingLevel&&"off"!==t.loggingLevel),this.#D=t,this.#v=new be(this),this.#w=new Se(this),this.#A=new xe(this);const s=[new e,new n,...t?.codecs??[]];this.#I=new Map(s.map((e=>[e.contentType.toString(),e])))}async init(e){const t=await this.sendMessage("client.init",{identifier:e,options:this.#D});this.#f=e,this.#M=t.inboxId,this.#b=t.installationId,this.#S=t.installationIdBytes,this.#x=!0}static async create(e,t){const s=new Te(t);return s.#k=e,await s.init(await e.getIdentifier()),t?.disableAutoRegister||await s.register(),s}static async build(e,t){const s=new Te({...t,disableAutoRegister:!0});return await s.init(e),s}get options(){return this.#D}get signer(){return this.#k}get isReady(){return this.#x}get inboxId(){return this.#M}get accountIdentifier(){return this.#f}get installationId(){return this.#b}get installationIdBytes(){return this.#S}get conversations(){return this.#v}get debugInformation(){return this.#w}get preferences(){return this.#A}async unsafe_createInboxSignatureText(){return this.sendMessage("client.createInboxSignatureText",{signatureRequestId:v()})}async unsafe_addAccountSignatureText(e,t=!1){if(!t)throw new re;return this.sendMessage("client.addAccountSignatureText",{newIdentifier:e,signatureRequestId:v()})}async unsafe_removeAccountSignatureText(e){return this.sendMessage("client.removeAccountSignatureText",{identifier:e,signatureRequestId:v()})}async unsafe_revokeAllOtherInstallationsSignatureText(){return this.sendMessage("client.revokeAllOtherInstallationsSignatureText",{signatureRequestId:v()})}async unsafe_revokeInstallationsSignatureText(e){return this.sendMessage("client.revokeInstallationsSignatureText",{installationIds:e,signatureRequestId:v()})}async unsafe_changeRecoveryIdentifierSignatureText(e){return this.sendMessage("client.changeRecoveryIdentifierSignatureText",{identifier:e,signatureRequestId:v()})}async unsafe_applySignatureRequest(e,t){return this.sendMessage("client.applySignatureRequest",{signer:e,signatureRequestId:t})}async register(){if(!this.#k)throw new ne;const{signatureText:e,signatureRequestId:t}=await this.unsafe_createInboxSignatureText();if(!e||!t)return;const s=await this.#k.signMessage(e),n=await Ae(this.#k,s);return this.sendMessage("client.registerIdentity",{signer:n,signatureRequestId:t})}async unsafe_addAccount(e,t=!1){if(!this.#k)throw new ne;if(!t)throw new re;const s=await this.findInboxIdByIdentifier(await e.getIdentifier());if(s)throw new ae(s);const{signatureText:n,signatureRequestId:i}=await this.unsafe_addAccountSignatureText(await e.getIdentifier(),!0),r=await e.signMessage(n),a=await Ae(e,r);return this.sendMessage("client.addAccount",{identifier:a.identifier,signer:a,signatureRequestId:i})}async removeAccount(e){if(!this.#k)throw new ne;const{signatureText:t,signatureRequestId:s}=await this.unsafe_removeAccountSignatureText(e),n=await this.#k.signMessage(t),i=await Ae(this.#k,n);return this.sendMessage("client.removeAccount",{identifier:e,signer:i,signatureRequestId:s})}async revokeAllOtherInstallations(){if(!this.#k)throw new ne;const{signatureText:e,signatureRequestId:t}=await this.unsafe_revokeAllOtherInstallationsSignatureText(),s=await this.#k.signMessage(e),n=await Ae(this.#k,s);return this.sendMessage("client.revokeAllOtherInstallations",{signer:n,signatureRequestId:t})}async revokeInstallations(e){if(!this.#k)throw new ne;const{signatureText:t,signatureRequestId:s}=await this.unsafe_revokeInstallationsSignatureText(e),n=await this.#k.signMessage(t),i=await Ae(this.#k,n);return this.sendMessage("client.revokeInstallations",{installationIds:e,signer:i,signatureRequestId:s})}static async revokeInstallations(e,t,s,n,i){const r=new Pe(i);await r.init(),await r.revokeInstallations(e,t,s,n),r.close()}static async inboxStateFromInboxIds(e,t,s){const n=new Pe(s);await n.init();const i=await n.inboxStateFromInboxIds(e,t);return n.close(),i}async changeRecoveryIdentifier(e){if(!this.#k)throw new ne;const{signatureText:t,signatureRequestId:s}=await this.unsafe_changeRecoveryIdentifierSignatureText(e),n=await this.#k.signMessage(t),i=await Ae(this.#k,n);return this.sendMessage("client.changeRecoveryIdentifier",{identifier:e,signer:i,signatureRequestId:s})}async isRegistered(){return this.sendMessage("client.isRegistered",void 0)}async canMessage(e){return this.sendMessage("client.canMessage",{identifiers:e})}static async canMessage(e,t){const s=new Map,n=new Pe;for(const i of e){const e=await n.getInboxIdForIdentifier(i,t);s.set(i.identifier.toLowerCase(),void 0!==e)}return n.close(),s}async findInboxIdByIdentifier(e){return this.sendMessage("client.findInboxIdByIdentifier",{identifier:e})}codecFor(e){return this.#I.get(e.toString())}encodeContent(e,t){const s=this.codecFor(t);if(!s)throw new ie(t);const n=s.encode(e,this),i=s.fallback(e);return i&&(n.fallback=i),P(n)}decodeContent(e,s){const n=this.codecFor(s);if(!n)throw new ie(s);if(s.sameAs(t)&&e.kind!==m.MembershipChange)throw new de(e.id);const i=T(e.content);return n.decode(i,this)}signWithInstallationKey(e){return this.sendMessage("client.signWithInstallationKey",{signatureText:e})}verifySignedWithInstallationKey(e,t){return this.sendMessage("client.verifySignedWithInstallationKey",{signatureText:e,signatureBytes:t})}verifySignedWithPublicKey(e,t,s){return this.sendMessage("client.verifySignedWithPublicKey",{signatureText:e,signatureBytes:t,publicKey:s})}async getKeyPackageStatusesForInstallationIds(e){return this.sendMessage("client.getKeyPackageStatusesForInstallationIds",{installationIds:e})}}const Re={local:"http://localhost:5555",dev:"https://dev.xmtp.network",production:"https://production.xmtp.network"},Ne={local:"http://localhost:5558",dev:"https://message-history.dev.ephemera.network",production:"https://message-history.production.ephemera.network"};export{ae as AccountAlreadyAssociatedError,Re as ApiUrls,Te as Client,se as ClientNotInitializedError,ie as CodecNotFoundError,we as Conversation,be as Conversations,te as DecodedMessage,fe as Dm,Me as Group,oe as GroupNotFoundError,Ne as HistorySyncUrls,re as InboxReassignError,de as InvalidGroupMembershipChangeError,le as MissingContentTypeError,ne as SignerUnavailableError,ue as StreamFailedError,ge as StreamInvalidRetryAttemptsError,ce as StreamNotFoundError,Pe as Utils,S as fromContentTypeId,D as fromEncodedContent,$ as fromSafeConsent,A as fromSafeContentTypeId,U as fromSafeCreateDmOptions,E as fromSafeCreateGroupOptions,T as fromSafeEncodedContent,V as fromSafeGroupMember,_ as fromSafeListConversationsOptions,C as fromSafeListMessagesOptions,Q as fromSafeMessageDisappearingSettings,B as fromSafePermissionPolicySet,b as toContentTypeId,k as toEncodedContent,Z as toSafeApiStats,j as toSafeConsent,x as toSafeContentTypeId,O as toSafeConversation,Y as toSafeConversationDebugInfo,F as toSafeCreateDmOptions,L as toSafeCreateGroupOptions,P as toSafeEncodedContent,H as toSafeGroupMember,z as toSafeHmacKey,ee as toSafeIdentityStats,W as toSafeInboxState,K as toSafeInstallation,X as toSafeKeyPackageStatus,q as toSafeListConversationsOptions,N as toSafeListMessagesOptions,R as toSafeMessage,J as toSafeMessageDisappearingSettings,G as toSafePermissionPolicySet,Ae as toSafeSigner};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/ClientWorkerClass.ts","../src/AsyncStream.ts","../src/utils/conversions.ts","../src/DecodedMessage.ts","../src/utils/errors.ts","../src/Conversation.ts","../src/utils/date.ts","../src/Dm.ts","../src/Group.ts","../src/Conversations.ts","../src/DebugInformation.ts","../src/Preferences.ts","../src/utils/signer.ts","../src/UtilsWorkerClass.ts","../src/Utils.ts","../src/Client.ts","../src/constants.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["handleError","event","console","error","message","ClientWorkerClass","worker","enableLogging","promises","Map","constructor","this","addEventListener","handleMessage","sendMessage","action","data","promiseId","v4","postMessage","id","Promise","resolve","reject","set","eventData","log","promise","get","delete","result","handleStreamMessage","streamId","callback","streamHandler","removeEventListener","close","terminate","AsyncStream","isDone","pendingPromises","queue","onDone","onReturn","onError","flush","value","length","nextPendingPromise","shift","done","push","next","undefined","Error","return","end","Symbol","asyncIterator","toContentTypeId","contentTypeId","ContentTypeId","authorityId","typeId","versionMajor","versionMinor","fromContentTypeId","WasmContentTypeId","toSafeContentTypeId","fromSafeContentTypeId","toEncodedContent","content","type","parameters","Object","fromEntries","fallback","compression","fromEncodedContent","WasmEncodedContent","entries","toSafeEncodedContent","fromSafeEncodedContent","toSafeMessage","convoId","deliveryStatus","kind","senderInboxId","sentAtNs","toSafeListMessagesOptions","options","contentTypes","direction","limit","sentAfterNs","sentBeforeNs","fromSafeListMessagesOptions","ListMessagesOptions","toSafeListConversationsOptions","consentStates","conversationType","createdAfterNs","createdBeforeNs","includeDuplicateDms","fromSafeListConversationsOptions","ListConversationsOptions","toSafePermissionPolicySet","policySet","addAdminPolicy","addMemberPolicy","removeAdminPolicy","removeMemberPolicy","updateGroupDescriptionPolicy","updateGroupImageUrlSquarePolicy","updateGroupNamePolicy","updateMessageDisappearingPolicy","fromSafePermissionPolicySet","PermissionPolicySet","toSafeCreateGroupOptions","customPermissionPolicySet","description","groupDescription","imageUrlSquare","groupImageUrlSquare","messageDisappearingSettings","toSafeMessageDisappearingSettings","name","groupName","permissions","fromSafeCreateGroupOptions","CreateGroupOptions","GroupPermissionsOptions","CustomPolicy","fromSafeMessageDisappearingSettings","toSafeCreateDmOptions","fromSafeCreateDmOptions","CreateDMOptions","toSafeConversation","async","conversation","imageUrl","isActive","addedByInboxId","metadata","admins","superAdmins","createdAtNs","policyType","toSafeInstallation","installation","bytes","clientTimestampNs","toSafeInboxState","inboxState","identifiers","accountIdentifiers","inboxId","installations","map","recoveryIdentifier","toSafeConsent","consent","entity","entityType","state","fromSafeConsent","Consent","toSafeGroupMember","member","consentState","installationIds","permissionLevel","fromSafeGroupMember","GroupMember","toSafeHmacKey","hmacKey","key","epoch","settings","fromNs","inNs","MessageDisappearingSettings","toSafeKeyPackageStatus","status","lifetime","notBefore","not_before","notAfter","not_after","validationError","toSafeConversationDebugInfo","debugInfo","maybeForked","forkDetails","toSafeApiStats","stats","uploadKeyPackage","upload_key_package","fetchKeyPackage","fetch_key_package","sendGroupMessages","send_group_messages","sendWelcomeMessages","send_welcome_messages","queryGroupMessages","query_group_messages","queryWelcomeMessages","query_welcome_messages","subscribeMessages","subscribe_messages","subscribeWelcomes","subscribe_welcomes","toSafeIdentityStats","getIdentityUpdatesV2","get_identity_updates_v2","getInboxIds","get_inbox_ids","publishIdentityUpdate","publish_identity_update","verifySmartContractWalletSignature","verify_smart_contract_wallet_signature","DecodedMessage","client","contentType","conversationId","encodedContent","GroupMessageKind","Application","MembershipChange","DeliveryStatus","Unpublished","Published","Failed","decodeContent","ClientNotInitializedError","super","SignerUnavailableError","CodecNotFoundError","toString","InboxReassignError","AccountAlreadyAssociatedError","GroupNotFoundError","groupId","StreamNotFoundError","InvalidGroupMembershipChangeError","messageId","MissingContentTypeError","Conversation","syncData","createdAt","ns","Date","Number","members","sync","publishMessages","sendOptimistic","safeEncodedContent","encodeContent","ContentTypeText","send","messages","updateConsentState","updateMessageDisappearingSettings","removeMessageDisappearingSettings","isMessageDisappearingEnabled","stream","asyncStream","endStream","err","pausedForVersion","getHmacKeys","Dm","peerInboxId","getDuplicateDms","Group","updateName","updateImageUrl","updateDescription","listAdmins","listSuperAdmins","updatePermission","permissionType","policy","metadataField","isAdmin","includes","isSuperAdmin","addMembersByIdentifiers","addMembers","inboxIds","removeMembersByIdentifiers","removeMembers","addAdmin","removeAdmin","addSuperAdmin","removeSuperAdmin","Conversations","syncAll","getConversationById","getMessageById","getDmByInboxId","list","filter","listGroups","listDms","newGroupOptimistic","newGroupWithIdentifiers","newGroup","newDmWithIdentifier","identifier","newDm","streamValue","streamGroups","ConversationType","streamDms","streamAllMessages","streamAllGroupMessages","streamAllDmMessages","DebugInformation","apiStatistics","apiIdentityStatistics","apiAggregateStatistics","clearAllStatistics","uploadDebugArchive","serverUrl","Preferences","refreshFromNetwork","inboxStateFromInboxIds","getLatestInboxState","setConsentStates","records","getConsentState","streamConsent","streamPreferences","toSafeSigner","signer","signature","getIdentifier","chainId","getChainId","blockNumber","getBlockNumber","UtilsWorkerClass","init","Utils","Worker","URL","url","generateInboxId","getInboxIdForIdentifier","env","revokeInstallationsSignatureText","signatureRequestId","revokeInstallations","signatureText","signMessage","safeSigner","Client","codecs","conversations","debugInformation","installationId","installationIdBytes","isReady","preferences","loggingLevel","GroupUpdatedCodec","TextCodec","codec","create","disableAutoRegister","register","build","accountIdentifier","unsafe_createInboxSignatureText","unsafe_addAccountSignatureText","newIdentifier","allowInboxReassign","unsafe_removeAccountSignatureText","unsafe_revokeAllOtherInstallationsSignatureText","unsafe_revokeInstallationsSignatureText","unsafe_changeRecoveryIdentifierSignatureText","unsafe_applySignatureRequest","unsafe_addAccount","newAccountSigner","existingInboxId","findInboxIdByIdentifier","removeAccount","revokeAllOtherInstallations","utils","changeRecoveryIdentifier","isRegistered","canMessage","canMessageMap","toLowerCase","codecFor","encoded","encode","sameAs","ContentTypeGroupUpdated","decode","signWithInstallationKey","verifySignedWithInstallationKey","signatureBytes","verifySignedWithPublicKey","publicKey","getKeyPackageStatusesForInstallationIds","ApiUrls","local","dev","production","HistorySyncUrls"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/ClientWorkerClass.ts","../src/utils/conversions.ts","../src/DecodedMessage.ts","../src/utils/errors.ts","../src/AsyncStream.ts","../src/utils/streams.ts","../src/Conversation.ts","../src/utils/date.ts","../src/Dm.ts","../src/Group.ts","../src/Conversations.ts","../src/DebugInformation.ts","../src/Preferences.ts","../src/utils/signer.ts","../src/UtilsWorkerClass.ts","../src/Utils.ts","../src/Client.ts","../src/constants.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["handleError","event","console","error","message","ClientWorkerClass","worker","enableLogging","promises","Map","constructor","this","addEventListener","handleMessage","sendMessage","action","data","promiseId","v4","postMessage","id","Promise","resolve","reject","set","eventData","log","promise","get","delete","result","handleStreamMessage","streamId","callback","options","streamHandler","onFail","undefined","async","removeEventListener","close","terminate","toContentTypeId","contentTypeId","ContentTypeId","authorityId","typeId","versionMajor","versionMinor","fromContentTypeId","WasmContentTypeId","toSafeContentTypeId","fromSafeContentTypeId","toEncodedContent","content","type","parameters","Object","fromEntries","fallback","compression","fromEncodedContent","WasmEncodedContent","entries","toSafeEncodedContent","fromSafeEncodedContent","toSafeMessage","convoId","deliveryStatus","kind","senderInboxId","sentAtNs","toSafeListMessagesOptions","contentTypes","direction","limit","sentAfterNs","sentBeforeNs","fromSafeListMessagesOptions","ListMessagesOptions","toSafeListConversationsOptions","consentStates","conversationType","createdAfterNs","createdBeforeNs","includeDuplicateDms","fromSafeListConversationsOptions","ListConversationsOptions","toSafePermissionPolicySet","policySet","addAdminPolicy","addMemberPolicy","removeAdminPolicy","removeMemberPolicy","updateGroupDescriptionPolicy","updateGroupImageUrlSquarePolicy","updateGroupNamePolicy","updateMessageDisappearingPolicy","fromSafePermissionPolicySet","PermissionPolicySet","toSafeCreateGroupOptions","customPermissionPolicySet","description","groupDescription","imageUrlSquare","groupImageUrlSquare","messageDisappearingSettings","toSafeMessageDisappearingSettings","name","groupName","permissions","fromSafeCreateGroupOptions","CreateGroupOptions","GroupPermissionsOptions","CustomPolicy","fromSafeMessageDisappearingSettings","toSafeCreateDmOptions","fromSafeCreateDmOptions","CreateDMOptions","toSafeConversation","conversation","imageUrl","isActive","addedByInboxId","metadata","admins","superAdmins","createdAtNs","policyType","toSafeInstallation","installation","bytes","clientTimestampNs","toSafeInboxState","inboxState","identifiers","accountIdentifiers","inboxId","installations","map","recoveryIdentifier","toSafeConsent","consent","entity","entityType","state","fromSafeConsent","Consent","toSafeGroupMember","member","consentState","installationIds","permissionLevel","fromSafeGroupMember","GroupMember","toSafeHmacKey","hmacKey","key","epoch","settings","fromNs","inNs","MessageDisappearingSettings","toSafeKeyPackageStatus","status","lifetime","notBefore","not_before","notAfter","not_after","validationError","toSafeConversationDebugInfo","debugInfo","maybeForked","forkDetails","toSafeApiStats","stats","uploadKeyPackage","upload_key_package","fetchKeyPackage","fetch_key_package","sendGroupMessages","send_group_messages","sendWelcomeMessages","send_welcome_messages","queryGroupMessages","query_group_messages","queryWelcomeMessages","query_welcome_messages","subscribeMessages","subscribe_messages","subscribeWelcomes","subscribe_welcomes","toSafeIdentityStats","getIdentityUpdatesV2","get_identity_updates_v2","getInboxIds","get_inbox_ids","publishIdentityUpdate","publish_identity_update","verifySmartContractWalletSignature","verify_smart_contract_wallet_signature","DecodedMessage","client","contentType","conversationId","encodedContent","GroupMessageKind","Application","MembershipChange","DeliveryStatus","Unpublished","Published","Failed","decodeContent","ClientNotInitializedError","Error","super","SignerUnavailableError","CodecNotFoundError","toString","InboxReassignError","AccountAlreadyAssociatedError","GroupNotFoundError","groupId","StreamNotFoundError","InvalidGroupMembershipChangeError","messageId","MissingContentTypeError","StreamFailedError","retryAttempts","StreamInvalidRetryAttemptsError","AsyncStream","isDone","pendingResolves","queue","onDone","onReturn","flush","length","nextResolve","shift","done","value","push","next","return","end","Symbol","asyncIterator","usableProperties","isUsableProperty","prop","includes","DEFAULT_RETRY_DELAY","DEFAULT_RETRY_ATTEMPTS","createStream","streamFunction","streamValueMutator","onEnd","onError","onRestart","onRetry","onValue","retryDelay","retryOnFail","asyncStream","streamCallback","mutatedValue","then","isPromise","catch","retry","retries","ms","setTimeout","streamCloser","startRetry","Proxy","target","receiver","Reflect","has","_target","ownKeys","getOwnPropertyDescriptor","enumerable","configurable","Conversation","syncData","createdAt","ns","Date","Number","members","sync","publishMessages","sendOptimistic","safeEncodedContent","encodeContent","ContentTypeText","send","messages","updateConsentState","updateMessageDisappearingSettings","removeMessageDisappearingSettings","isMessageDisappearingEnabled","stream","pausedForVersion","getHmacKeys","Dm","peerInboxId","getDuplicateDms","Group","updateName","updateImageUrl","updateDescription","listAdmins","listSuperAdmins","updatePermission","permissionType","policy","metadataField","isAdmin","isSuperAdmin","addMembersByIdentifiers","addMembers","inboxIds","removeMembersByIdentifiers","removeMembers","addAdmin","removeAdmin","addSuperAdmin","removeSuperAdmin","Conversations","syncAll","getConversationById","getMessageById","getDmByInboxId","list","filter","listGroups","listDms","newGroupOptimistic","newGroupWithIdentifiers","newGroup","newDmWithIdentifier","identifier","newDm","streamGroups","ConversationType","streamDms","streamAllMessages","streamAllGroupMessages","streamAllDmMessages","DebugInformation","apiStatistics","apiIdentityStatistics","apiAggregateStatistics","clearAllStatistics","uploadDebugArchive","serverUrl","Preferences","refreshFromNetwork","inboxStateFromInboxIds","getLatestInboxState","setConsentStates","records","getConsentState","streamConsent","streamPreferences","toSafeSigner","signer","signature","getIdentifier","chainId","getChainId","blockNumber","getBlockNumber","UtilsWorkerClass","init","Utils","Worker","URL","url","generateInboxId","getInboxIdForIdentifier","env","revokeInstallationsSignatureText","signatureRequestId","revokeInstallations","signatureText","signMessage","safeSigner","Client","codecs","conversations","debugInformation","installationId","installationIdBytes","isReady","preferences","loggingLevel","GroupUpdatedCodec","TextCodec","codec","create","disableAutoRegister","register","build","accountIdentifier","unsafe_createInboxSignatureText","unsafe_addAccountSignatureText","newIdentifier","allowInboxReassign","unsafe_removeAccountSignatureText","unsafe_revokeAllOtherInstallationsSignatureText","unsafe_revokeInstallationsSignatureText","unsafe_changeRecoveryIdentifierSignatureText","unsafe_applySignatureRequest","unsafe_addAccount","newAccountSigner","existingInboxId","findInboxIdByIdentifier","removeAccount","revokeAllOtherInstallations","utils","changeRecoveryIdentifier","isRegistered","canMessage","canMessageMap","toLowerCase","codecFor","encoded","encode","sameAs","ContentTypeGroupUpdated","decode","signWithInstallationKey","verifySignedWithInstallationKey","signatureBytes","verifySignedWithPublicKey","publicKey","getKeyPackageStatusesForInstallationIds","ApiUrls","local","dev","production","HistorySyncUrls"],"mappings":"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"}
|