@xmtp/browser-sdk 3.1.1 → 4.0.0

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 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 | undefined;
9
+ value: T;
10
10
  done: boolean;
11
11
  };
12
- type StreamCallback<T> = (err: Error | null, value: T | undefined) => void | Promise<void>;
13
- declare class AsyncStream<T> {
14
- #private;
15
- constructor();
16
- get error(): Error | undefined;
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
  *
@@ -180,10 +234,10 @@ declare class WorkerConversations {
180
234
  newDmWithIdentifier(identifier: Identifier, options?: SafeCreateDmOptions): Promise<WorkerConversation>;
181
235
  newDm(inboxId: string, options?: SafeCreateDmOptions): Promise<WorkerConversation>;
182
236
  getHmacKeys(): HmacKeys;
183
- stream(callback?: StreamCallback<Conversation$1>, conversationType?: ConversationType): _xmtp_wasm_bindings.StreamCloser;
184
- streamGroups(callback?: StreamCallback<Conversation$1>): _xmtp_wasm_bindings.StreamCloser;
185
- streamDms(callback?: StreamCallback<Conversation$1>): _xmtp_wasm_bindings.StreamCloser;
186
- streamAllMessages(callback?: StreamCallback<Message>, conversationType?: ConversationType, consentStates?: ConsentState[]): _xmtp_wasm_bindings.StreamCloser;
237
+ stream(callback: StreamCallback<Conversation$1>, onFail: () => void, conversationType?: ConversationType): _xmtp_wasm_bindings.StreamCloser;
238
+ streamGroups(callback: StreamCallback<Conversation$1>, onFail: () => void): _xmtp_wasm_bindings.StreamCloser;
239
+ streamDms(callback: StreamCallback<Conversation$1>, onFail: () => void): _xmtp_wasm_bindings.StreamCloser;
240
+ streamAllMessages(callback: StreamCallback<Message>, onFail: () => void, conversationType?: ConversationType, consentStates?: ConsentState[]): _xmtp_wasm_bindings.StreamCloser;
187
241
  }
188
242
 
189
243
  /**
@@ -210,8 +264,8 @@ declare class WorkerPreferences {
210
264
  getLatestInboxState(inboxId: string): Promise<_xmtp_wasm_bindings.InboxState>;
211
265
  setConsentStates(records: SafeConsent[]): Promise<void>;
212
266
  getConsentState(entityType: ConsentEntityType, entity: string): Promise<_xmtp_wasm_bindings.ConsentState>;
213
- streamConsent(callback?: StreamCallback<Consent[]>): _xmtp_wasm_bindings.StreamCloser;
214
- streamPreferences(callback?: StreamCallback<UserPreference[]>): _xmtp_wasm_bindings.StreamCloser;
267
+ streamConsent(callback: StreamCallback<Consent[]>, onFail: () => void): _xmtp_wasm_bindings.StreamCloser;
268
+ streamPreferences(callback: StreamCallback<UserPreference[]>, onFail: () => void): _xmtp_wasm_bindings.StreamCloser;
215
269
  }
216
270
 
217
271
  declare class WorkerClient {
@@ -291,7 +345,7 @@ declare class WorkerConversation {
291
345
  updateMessageDisappearingSettings(fromNs: bigint, inNs: bigint): Promise<void>;
292
346
  removeMessageDisappearingSettings(): Promise<void>;
293
347
  isMessageDisappearingEnabled(): boolean;
294
- stream(callback?: StreamCallback<Message>): _xmtp_wasm_bindings.StreamCloser;
348
+ stream(callback: StreamCallback<Message>, onFail: () => void): _xmtp_wasm_bindings.StreamCloser;
295
349
  pausedForVersion(): string | undefined;
296
350
  getHmacKeys(): Map<string, HmacKey[]>;
297
351
  debugInfo(): Promise<ConversationDebugInfo>;
@@ -1191,6 +1245,10 @@ type StreamAction = {
1191
1245
  action: "stream.preferences";
1192
1246
  streamId: string;
1193
1247
  result: UserPreference[] | undefined;
1248
+ } | {
1249
+ action: "stream.fail";
1250
+ streamId: string;
1251
+ result: undefined;
1194
1252
  };
1195
1253
 
1196
1254
  /**
@@ -1227,7 +1285,7 @@ declare class ClientWorkerClass {
1227
1285
  * @param callback - The callback to handle the stream message
1228
1286
  * @returns A function to remove the stream handler
1229
1287
  */
1230
- handleStreamMessage: <T extends StreamAction["result"]>(streamId: string, callback: (error: Error | null, value: T | null) => void) => () => void;
1288
+ handleStreamMessage: <T extends StreamAction["result"], V = T>(streamId: string, callback: (error: Error | null, value: T | undefined) => void, options?: StreamOptions<T, V>) => () => Promise<void>;
1231
1289
  /**
1232
1290
  * Removes all event listeners and terminates the worker
1233
1291
  */
@@ -1385,7 +1443,7 @@ declare class Conversation<ContentTypes = unknown> {
1385
1443
  * @param callback - Optional callback function for handling new stream values
1386
1444
  * @returns Stream instance for new messages
1387
1445
  */
1388
- stream(callback?: StreamCallback<DecodedMessage<ContentTypes>>): Promise<AsyncStream<DecodedMessage<ContentTypes>>>;
1446
+ stream(options?: StreamOptions<SafeMessage, DecodedMessage<ContentTypes>>): Promise<AsyncStreamProxy<DecodedMessage<ContentTypes>>>;
1389
1447
  pausedForVersion(): Promise<string | undefined>;
1390
1448
  /**
1391
1449
  * Retrieves HMAC keys for this conversation
@@ -1704,47 +1762,59 @@ declare class Conversations<ContentTypes = unknown> {
1704
1762
  /**
1705
1763
  * Creates a stream for new conversations
1706
1764
  *
1707
- * @param callback - Optional callback function for handling new stream value
1708
- * @param conversationType - Optional type to filter conversations
1765
+ * @param options - Optional stream options
1766
+ * @param options.conversationType - Optional type to filter conversations
1709
1767
  * @returns Stream instance for new conversations
1710
1768
  */
1711
- stream<T extends Group<ContentTypes> | Dm<ContentTypes> = Group<ContentTypes> | Dm<ContentTypes>>(callback?: StreamCallback<T>, conversationType?: ConversationType): Promise<AsyncStream<T>>;
1769
+ stream<T extends Group<ContentTypes> | Dm<ContentTypes> = Group<ContentTypes> | Dm<ContentTypes>>(options?: StreamOptions<SafeConversation, T> & {
1770
+ conversationType?: ConversationType;
1771
+ }): Promise<AsyncStreamProxy<T>>;
1712
1772
  /**
1713
1773
  * Creates a stream for new group conversations
1714
1774
  *
1715
- * @param callback - Optional callback function for handling new stream value
1775
+ * @param options - Optional stream options
1716
1776
  * @returns Stream instance for new group conversations
1717
1777
  */
1718
- streamGroups(callback?: StreamCallback<Group<ContentTypes>>): Promise<AsyncStream<Group<ContentTypes>>>;
1778
+ streamGroups(options?: StreamOptions<SafeConversation, Group<ContentTypes>>): Promise<AsyncStreamProxy<Group<ContentTypes>>>;
1719
1779
  /**
1720
1780
  * Creates a stream for new DM conversations
1721
1781
  *
1722
- * @param callback - Optional callback function for handling new stream value
1782
+ * @param options - Optional stream options
1723
1783
  * @returns Stream instance for new DM conversations
1724
1784
  */
1725
- streamDms(callback?: StreamCallback<Dm<ContentTypes>>): Promise<AsyncStream<Dm<ContentTypes>>>;
1785
+ streamDms(options?: StreamOptions<SafeConversation, Dm<ContentTypes>>): Promise<AsyncStreamProxy<Dm<ContentTypes>>>;
1726
1786
  /**
1727
1787
  * Creates a stream for all new messages
1728
1788
  *
1729
- * @param callback - Optional callback function for handling new stream value
1730
- * @param conversationType - Optional conversation type to filter messages
1789
+ * @param options - Optional stream options
1790
+ * @param options.conversationType - Optional conversation type to filter messages
1791
+ * @param options.consentStates - Optional consent states to filter messages
1731
1792
  * @returns Stream instance for new messages
1732
1793
  */
1733
- streamAllMessages(callback?: StreamCallback<DecodedMessage<ContentTypes>>, conversationType?: ConversationType, consentStates?: ConsentState[]): Promise<AsyncStream<DecodedMessage<ContentTypes>>>;
1794
+ streamAllMessages(options?: StreamOptions<SafeMessage, DecodedMessage<ContentTypes>> & {
1795
+ conversationType?: ConversationType;
1796
+ consentStates?: ConsentState[];
1797
+ }): Promise<AsyncStreamProxy<DecodedMessage<ContentTypes>>>;
1734
1798
  /**
1735
1799
  * Creates a stream for all new group messages
1736
1800
  *
1737
- * @param callback - Optional callback function for handling new stream value
1801
+ * @param options - Optional stream options
1802
+ * @param options.consentStates - Optional consent states to filter messages
1738
1803
  * @returns Stream instance for new group messages
1739
1804
  */
1740
- streamAllGroupMessages(callback?: StreamCallback<DecodedMessage<ContentTypes>>, consentStates?: ConsentState[]): Promise<AsyncStream<DecodedMessage<ContentTypes>>>;
1805
+ streamAllGroupMessages(options?: StreamOptions<SafeMessage, DecodedMessage<ContentTypes>> & {
1806
+ consentStates?: ConsentState[];
1807
+ }): Promise<AsyncStreamProxy<DecodedMessage<ContentTypes>>>;
1741
1808
  /**
1742
1809
  * Creates a stream for all new DM messages
1743
1810
  *
1744
- * @param callback - Optional callback function for handling new stream value
1811
+ * @param options - Optional stream options
1812
+ * @param options.consentStates - Optional consent states to filter messages
1745
1813
  * @returns Stream instance for new DM messages
1746
1814
  */
1747
- streamAllDmMessages(callback?: StreamCallback<DecodedMessage<ContentTypes>>, consentStates?: ConsentState[]): Promise<AsyncStream<DecodedMessage<ContentTypes>>>;
1815
+ streamAllDmMessages(options?: StreamOptions<SafeMessage, DecodedMessage<ContentTypes>> & {
1816
+ consentStates?: ConsentState[];
1817
+ }): Promise<AsyncStreamProxy<DecodedMessage<ContentTypes>>>;
1748
1818
  }
1749
1819
 
1750
1820
  /**
@@ -1816,17 +1886,17 @@ declare class Preferences<ContentTypes = unknown> {
1816
1886
  /**
1817
1887
  * Creates a stream of consent state updates
1818
1888
  *
1819
- * @param callback - Optional callback function for handling stream updates
1889
+ * @param options - Optional stream options
1820
1890
  * @returns Stream instance for consent updates
1821
1891
  */
1822
- streamConsent(callback?: StreamCallback<SafeConsent[]>): Promise<AsyncStream<SafeConsent[]>>;
1892
+ streamConsent(options?: StreamOptions<SafeConsent[]>): Promise<AsyncStreamProxy<SafeConsent[]>>;
1823
1893
  /**
1824
1894
  * Creates a stream of user preference updates
1825
1895
  *
1826
- * @param callback - Optional callback function for handling stream updates
1896
+ * @param options - Optional stream options
1827
1897
  * @returns Stream instance for preference updates
1828
1898
  */
1829
- streamPreferences(callback?: StreamCallback<UserPreference[]>): Promise<AsyncStream<UserPreference[]>>;
1899
+ streamPreferences(options?: StreamOptions<UserPreference[]>): Promise<AsyncStreamProxy<UserPreference[]>>;
1830
1900
  }
1831
1901
 
1832
1902
  type ExtractCodecContentTypes<C extends ContentCodec[] = []> = [
@@ -2386,6 +2456,12 @@ declare class InvalidGroupMembershipChangeError extends Error {
2386
2456
  declare class MissingContentTypeError extends Error {
2387
2457
  constructor();
2388
2458
  }
2459
+ declare class StreamFailedError extends Error {
2460
+ constructor(retryAttempts: number);
2461
+ }
2462
+ declare class StreamInvalidRetryAttemptsError extends Error {
2463
+ constructor();
2464
+ }
2389
2465
 
2390
- export { AccountAlreadyAssociatedError, ApiUrls, AsyncStream, Client, ClientNotInitializedError, CodecNotFoundError, Conversation, Conversations, DecodedMessage, Dm, Group, GroupNotFoundError, HistorySyncUrls, InboxReassignError, InvalidGroupMembershipChangeError, MissingContentTypeError, SignerUnavailableError, StreamNotFoundError, Utils, 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 };
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 };
2466
+ 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 };
2467
+ 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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"}