@xmtp/browser-sdk 2.2.0 → 2.2.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 CHANGED
@@ -15,18 +15,18 @@ declare class AsyncStream<T> {
15
15
  onReturn: (() => void) | undefined;
16
16
  onError: ((error: Error) => void) | undefined;
17
17
  constructor();
18
- get error(): Error | null;
18
+ get error(): Error | undefined;
19
19
  get isDone(): boolean;
20
20
  callback: StreamCallback<T>;
21
21
  next: () => Promise<ResolveValue<T>>;
22
- return: (value?: T) => Promise<{
22
+ return: (value?: T) => {
23
23
  done: boolean;
24
24
  value: T | undefined;
25
- }>;
26
- end: () => Promise<{
25
+ };
26
+ end: () => {
27
27
  done: boolean;
28
28
  value: T | undefined;
29
- }>;
29
+ };
30
30
  [Symbol.asyncIterator](): this;
31
31
  }
32
32
 
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 c,CreateGroupOptions as d,CreateDMOptions as l,Consent as u,GroupMember as g,MessageDisappearingSettings as h,GroupPermissionsOptions as p,GroupMessageKind as m,DeliveryStatus as y,SignatureRequestType as v,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,SignatureRequestType,SortDirection}from"@xmtp/wasm-bindings";import{v4 as w}from"uuid";import{ContentTypeId as f}from"@xmtp/content-type-primitives";const M=e=>{console.error(e.message)};class b{#e;#t;#s=new Map;constructor(e,t){this.#e=e,this.#e.addEventListener("message",this.handleMessage),t&&this.#e.addEventListener("error",M),this.#t=t}sendMessage(e,t){const s=w();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",M),this.#e.terminate()}}class S{#i=!1;#n;#r;#a;#o;onReturn=void 0;onError=void 0;constructor(){this.#a=[],this.#n=null,this.#r=null,this.#o=null,this.#i=!1}#c(){this.#a=[],this.#n=null,this.#r=null,this.#i=!0}get error(){return this.#o}get isDone(){return this.#i}callback=(e,t)=>{if(e)return this.#o=e,void(this.#r&&(this.#r(e),this.#c(),this.onError?.(e)));this.#i||(this.#n?(this.#n({done:!1,value:t}),this.#n=null):this.#a.push(t))};next=()=>this.#o?(this.#c(),this.onError?.(this.#o),Promise.reject(this.#o)):this.#a.length>0?Promise.resolve({done:!1,value:this.#a.shift()}):this.#i?Promise.resolve({done:!0,value:void 0}):new Promise(((e,t)=>{this.#n=e,this.#r=t}));return=e=>(this.#c(),this.onReturn?.(),Promise.resolve({done:!0,value:e}));end=()=>this.return();[Symbol.asyncIterator](){return this}}const x=e=>new f({authorityId:e.authorityId,typeId:e.typeId,versionMajor:e.versionMajor,versionMinor:e.versionMinor}),A=e=>new n(e.authorityId,e.typeId,e.versionMajor,e.versionMinor),k=e=>({authorityId:e.authorityId,typeId:e.typeId,versionMajor:e.versionMajor,versionMinor:e.versionMinor}),P=e=>new f({authorityId:e.authorityId,typeId:e.typeId,versionMajor:e.versionMajor,versionMinor:e.versionMinor}),D=e=>({type:x(e.type),parameters:Object.fromEntries(e.parameters),fallback:e.fallback,compression:e.compression,content:e.content}),N=e=>new r(A(e.type),new Map(Object.entries(e.parameters)),e.fallback,e.compression,e.content),_=e=>({type:k(e.type),parameters:e.parameters,fallback:e.fallback,compression:e.compression,content:e.content}),T=e=>({type:P(e.type),parameters:e.parameters,fallback:e.fallback,compression:e.compression,content:e.content}),C=e=>({content:_(D(e.content)),convoId:e.convoId,deliveryStatus:e.deliveryStatus,id:e.id,kind:e.kind,senderInboxId:e.senderInboxId,sentAtNs:e.sentAtNs}),G=e=>({contentTypes:e.contentTypes,deliveryStatus:e.deliveryStatus,direction:e.direction,limit:e.limit,sentAfterNs:e.sentAfterNs,sentBeforeNs:e.sentBeforeNs}),B=e=>new a(e.sentBeforeNs,e.sentAfterNs,e.limit,e.deliveryStatus,e.direction,e.contentTypes),L=e=>({consentStates:e.consentStates,conversationType:e.conversationType,createdAfterNs:e.createdAfterNs,createdBeforeNs:e.createdBeforeNs,includeDuplicateDms:e.includeDuplicateDms,limit:e.limit}),R=e=>new o(e.consentStates,e.conversationType,e.createdAfterNs,e.createdBeforeNs,e.includeDuplicateDms??!1,e.limit),E=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}),U=e=>new c(e.addMemberPolicy,e.removeMemberPolicy,e.addAdminPolicy,e.removeAdminPolicy,e.updateGroupNamePolicy,e.updateGroupDescriptionPolicy,e.updateGroupImageUrlSquarePolicy,e.updateMessageDisappearingPolicy),W=e=>({customPermissionPolicySet:e.customPermissionPolicySet,description:e.groupDescription,imageUrlSquare:e.groupImageUrlSquare,messageDisappearingSettings:e.messageDisappearingSettings?X(e.messageDisappearingSettings):void 0,name:e.groupName,permissions:e.permissions}),j=e=>new d(e.permissions,e.name,e.imageUrlSquare,e.description,e.customPermissionPolicySet&&e.permissions===p.CustomPolicy?U(e.customPermissionPolicySet):void 0,e.messageDisappearingSettings?Y(e.messageDisappearingSettings):void 0),q=e=>({messageDisappearingSettings:e.messageDisappearingSettings?X(e.messageDisappearingSettings):void 0}),F=e=>new l(e.messageDisappearingSettings?Y(e.messageDisappearingSettings):void 0),O=async e=>{const t=e.id,s=e.name,i=e.imageUrl,n=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,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:c,admins:d,superAdmins:l,createdAtNs:u}},K=e=>({bytes:e.bytes,clientTimestampNs:e.clientTimestampNs,id:e.id}),$=e=>({accountIdentifiers:e.accountIdentifiers,inboxId:e.inboxId,installations:e.installations.map(K),recoveryIdentifier:e.recoveryIdentifier}),H=e=>({entity:e.entity,entityType:e.entityType,state:e.state}),V=e=>new u(e.entityType,e.state,e.entity),z=e=>({accountIdentifiers:e.accountIdentifiers,consentState:e.consentState,inboxId:e.inboxId,installationIds:e.installationIds,permissionLevel:e.permissionLevel}),J=e=>new g(e.inboxId,e.accountIdentifiers,e.installationIds,e.permissionLevel,e.consentState),Q=e=>({key:e.key,epoch:e.epoch}),X=e=>({fromNs:e.fromNs,inNs:e.inNs}),Y=e=>new h(e.fromNs,e.inNs),Z=e=>({lifetime:e.lifetime?{notBefore:e.lifetime.not_before,notAfter:e.lifetime.not_after}:void 0,validationError:e.validationError}),ee=e=>({epoch:e.epoch,maybeForked:e.maybeForked,forkDetails:e.forkDetails}),te=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}),se=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 ie{#d;content;contentType;conversationId;deliveryStatus;fallback;compression;id;kind;parameters;encodedContent;senderInboxId;sentAtNs;constructor(e,t){switch(this.#d=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=P(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.#d.decodeContent(t,this.contentType)}catch{this.content=void 0}}}class ne extends Error{constructor(){super("Client not initialized, use Client.create or Client.build to create a client")}}class re extends Error{constructor(){super("Signer unavailable, use Client.create to create a client with a signer")}}class ae extends Error{constructor(e){super(`Codec not found for "${e.toString()}" content type`)}}class oe extends Error{constructor(){super("Unable to create add account signature text, `allowInboxReassign` must be true")}}class ce extends Error{constructor(e){super(`Account already associated with inbox ${e}`)}}class de extends Error{constructor(e){let t="";switch(e){case v.AddWallet:t="add account";break;case v.CreateInbox:t="create inbox";break;case v.RevokeWallet:t="remove account";break;case v.RevokeInstallations:t="revoke installations";break;case v.ChangeRecoveryIdentifier:t="change recovery identifier"}super(`Failed to generate ${t} signature text`)}}class le extends Error{constructor(e){super(`Group "${e}" not found`)}}class ue extends Error{constructor(e){super(`Stream "${e}" not found`)}}class ge extends Error{constructor(e){super(`Invalid group membership change for message ${e}`)}}class he extends Error{constructor(){super("Content type is required when sending content other than text")}}class pe{#l;#d;#u;#g;#h;#p;constructor(e,t,s){this.#d=e,this.#g=t,this.#m(s)}#m(e){this.#h=e?.isActive??void 0,this.#l=e?.addedByInboxId??"",this.#p=e?.metadata??void 0,this.#u=e?.createdAtNs??void 0}get id(){return this.#g}get isActive(){return this.#h}get addedByInboxId(){return this.#l}get createdAtNs(){return this.#u}get createdAt(){return this.#u?(e=this.#u,new Date(Number(e/1000000n))):void 0;var e}get metadata(){return this.#p}async members(){return this.#d.sendMessage("conversation.members",{id:this.#g})}async sync(){const e=await this.#d.sendMessage("conversation.sync",{id:this.#g});return this.#m(e),e}async publishMessages(){return this.#d.sendMessage("conversation.publishMessages",{id:this.#g})}async sendOptimistic(e,t){if("string"!=typeof e&&!t)throw new he;const i="string"==typeof e?this.#d.encodeContent(e,t??s):this.#d.encodeContent(e,t);return this.#d.sendMessage("conversation.sendOptimistic",{id:this.#g,content:i})}async send(e,t){if("string"!=typeof e&&!t)throw new he;const i="string"==typeof e?this.#d.encodeContent(e,t??s):this.#d.encodeContent(e,t);return this.#d.sendMessage("conversation.send",{id:this.#g,content:i})}async messages(e){return(await this.#d.sendMessage("conversation.messages",{id:this.#g,options:e})).map((e=>new ie(this.#d,e)))}async consentState(){return this.#d.sendMessage("conversation.consentState",{id:this.#g})}async updateConsentState(e){return this.#d.sendMessage("conversation.updateConsentState",{id:this.#g,state:e})}async messageDisappearingSettings(){return this.#d.sendMessage("conversation.messageDisappearingSettings",{id:this.#g})}async updateMessageDisappearingSettings(e,t){return this.#d.sendMessage("conversation.updateMessageDisappearingSettings",{id:this.#g,fromNs:e,inNs:t})}async removeMessageDisappearingSettings(){return this.#d.sendMessage("conversation.removeMessageDisappearingSettings",{id:this.#g})}async isMessageDisappearingEnabled(){return this.#d.sendMessage("conversation.isMessageDisappearingEnabled",{id:this.#g})}async stream(e){const t=w(),s=new S,i=this.#d.handleStreamMessage(t,((t,i)=>{let n,r=t;if(i)try{n=new ie(this.#d,i)}catch(t){r=t}s.callback(r,n),e?.(r,n)}));return await this.#d.sendMessage("conversation.stream",{groupId:this.#g,streamId:t}),s.onReturn=()=>{this.#d.sendMessage("endStream",{streamId:t}),i()},s}async pausedForVersion(){return this.#d.sendMessage("conversation.pausedForVersion",{id:this.#g})}async getHmacKeys(){return this.#d.sendMessage("conversation.getHmacKeys",{id:this.#g})}async debugInfo(){return this.#d.sendMessage("conversation.debugInfo",{id:this.#g})}}class me extends pe{#d;#g;constructor(e,t,s){super(e,t,s),this.#d=e,this.#g=t}async peerInboxId(){return this.#d.sendMessage("dm.peerInboxId",{id:this.#g})}async getDuplicateDms(){return this.#d.sendMessage("dm.getDuplicateDms",{id:this.#g})}}class ye extends pe{#y=[];#d;#v;#g;#I;#w;#f=[];#m(e){this.#w=e?.name??"",this.#I=e?.imageUrl??"",this.#v=e?.description??"",this.#y=e?.admins??[],this.#f=e?.superAdmins??[]}constructor(e,t,s){super(e,t,s),this.#d=e,this.#g=t,this.#m(s)}async sync(){const e=await super.sync();return this.#m(e),e}get name(){return this.#w}async updateName(e){await this.#d.sendMessage("group.updateName",{id:this.#g,name:e}),this.#w=e}get imageUrl(){return this.#I}async updateImageUrl(e){await this.#d.sendMessage("group.updateImageUrl",{id:this.#g,imageUrl:e}),this.#I=e}get description(){return this.#v}async updateDescription(e){await this.#d.sendMessage("group.updateDescription",{id:this.#g,description:e}),this.#v=e}get admins(){return this.#y}get superAdmins(){return this.#f}async listAdmins(){const e=await this.#d.sendMessage("group.listAdmins",{id:this.#g});return this.#y=e,e}async listSuperAdmins(){const e=await this.#d.sendMessage("group.listSuperAdmins",{id:this.#g});return this.#f=e,e}async permissions(){return this.#d.sendMessage("group.permissions",{id:this.#g})}async updatePermission(e,t,s){return this.#d.sendMessage("group.updatePermission",{id:this.#g,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.#d.sendMessage("group.addMembersByIdentifiers",{id:this.#g,identifiers:e})}async addMembers(e){return this.#d.sendMessage("group.addMembers",{id:this.#g,inboxIds:e})}async removeMembersByIdentifiers(e){return this.#d.sendMessage("group.removeMembersByIdentifiers",{id:this.#g,identifiers:e})}async removeMembers(e){return this.#d.sendMessage("group.removeMembers",{id:this.#g,inboxIds:e})}async addAdmin(e){return this.#d.sendMessage("group.addAdmin",{id:this.#g,inboxId:e})}async removeAdmin(e){return this.#d.sendMessage("group.removeAdmin",{id:this.#g,inboxId:e})}async addSuperAdmin(e){return this.#d.sendMessage("group.addSuperAdmin",{id:this.#g,inboxId:e})}async removeSuperAdmin(e){return this.#d.sendMessage("group.removeSuperAdmin",{id:this.#g,inboxId:e})}}class ve{#d;constructor(e){this.#d=e}async sync(){return this.#d.sendMessage("conversations.sync",void 0)}async syncAll(e){return this.#d.sendMessage("conversations.syncAll",{consentStates:e})}async getConversationById(e){const t=await this.#d.sendMessage("conversations.getConversationById",{id:e});if(t)return"group"===t.metadata.conversationType?new ye(this.#d,t.id,t):new me(this.#d,t.id,t)}async getMessageById(e){const t=await this.#d.sendMessage("conversations.getMessageById",{id:e});return t?new ie(this.#d,t):void 0}async getDmByInboxId(e){const t=await this.#d.sendMessage("conversations.getDmByInboxId",{inboxId:e});return t?new me(this.#d,t.id,t):void 0}async list(e){return(await this.#d.sendMessage("conversations.list",{options:e})).map((e=>{switch(e.metadata.conversationType){case"dm":return new me(this.#d,e.id,e);case"group":return new ye(this.#d,e.id,e);default:return}})).filter((e=>void 0!==e))}async listGroups(e){return(await this.#d.sendMessage("conversations.listGroups",{options:e})).map((e=>new ye(this.#d,e.id,e)))}async listDms(e){return(await this.#d.sendMessage("conversations.listDms",{options:e})).map((e=>new me(this.#d,e.id,e)))}async newGroupOptimistic(e){const t=await this.#d.sendMessage("conversations.newGroupOptimistic",{options:e});return new ye(this.#d,t.id,t)}async newGroupWithIdentifiers(e,t){const s=await this.#d.sendMessage("conversations.newGroupWithIdentifiers",{identifiers:e,options:t});return new ye(this.#d,s.id,s)}async newGroup(e,t){const s=await this.#d.sendMessage("conversations.newGroup",{inboxIds:e,options:t});return new ye(this.#d,s.id,s)}async newDmWithIdentifier(e,t){const s=await this.#d.sendMessage("conversations.newDmWithIdentifier",{identifier:e,options:t});return new me(this.#d,s.id,s)}async newDm(e,t){const s=await this.#d.sendMessage("conversations.newDm",{inboxId:e,options:t});return new me(this.#d,s.id,s)}async getHmacKeys(){return this.#d.sendMessage("conversations.getHmacKeys",void 0)}async stream(e,t){const s=w(),i=new S,n=this.#d.handleStreamMessage(s,((t,s)=>{let n,r=t;if(s)try{n="group"===s.metadata.conversationType?new ye(this.#d,s.id,s):new me(this.#d,s.id,s)}catch(t){r=t}i.callback(r,n),e?.(r,n)}));return await this.#d.sendMessage("conversations.stream",{streamId:s,conversationType:t}),i.onReturn=()=>{this.#d.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=w(),n=new S,r=this.#d.handleStreamMessage(i,((t,s)=>{let i,r=t;if(s)try{i=new ie(this.#d,s)}catch(t){r=t}n.callback(r,i),e?.(r,i)}));return await this.#d.sendMessage("conversations.streamAllMessages",{streamId:i,conversationType:t,consentStates:s}),n.onReturn=()=>{this.#d.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 Ie{#d;constructor(e){this.#d=e}sync(){return this.#d.sendMessage("preferences.sync",void 0)}async inboxState(e){return this.#d.sendMessage("preferences.inboxState",{refreshFromNetwork:e??!1})}async inboxStateFromInboxIds(e,t){return this.#d.sendMessage("preferences.inboxStateFromInboxIds",{inboxIds:e,refreshFromNetwork:t??!1})}async getLatestInboxState(e){return this.#d.sendMessage("preferences.getLatestInboxState",{inboxId:e})}async setConsentStates(e){return this.#d.sendMessage("preferences.setConsentStates",{records:e})}async getConsentState(e,t){return this.#d.sendMessage("preferences.getConsentState",{entityType:e,entity:t})}async streamConsent(e){const t=w(),s=new S,i=this.#d.handleStreamMessage(t,((t,i)=>{s.callback(t,i??void 0),e?.(t,i??void 0)}));return await this.#d.sendMessage("preferences.streamConsent",{streamId:t}),s.onReturn=()=>{this.#d.sendMessage("endStream",{streamId:t}),i()},s}async streamPreferences(e){const t=w(),s=new S,i=this.#d.handleStreamMessage(t,((t,i)=>{s.callback(t,i??void 0),e?.(t,i??void 0)}));return await this.#d.sendMessage("preferences.streamPreferences",{streamId:t}),s.onReturn=()=>{this.#d.sendMessage("endStream",{streamId:t}),i()},s}}const 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,this.init(t)}async init(e){return this.sendMessage("utils.init",{enableLogging:e})}sendMessage(e,t){const s=w();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})}}class be extends b{#M;#b;#S;#x;#A;#k;#P=!1;#D;#N;#_;constructor(t){super(new Worker(new URL("./workers/client",import.meta.url),{type:"module"}),void 0!==t?.loggingLevel&&"off"!==t.loggingLevel),this.#_=t,this.#b=new ve(this),this.#D=new Ie(this);const s=[new e,new i,...t?.codecs??[]];this.#M=new Map(s.map((e=>[e.contentType.toString(),e])))}async init(e){const t=await this.sendMessage("client.init",{identifier:e,options:this.#_});this.#S=e,this.#x=t.inboxId,this.#A=t.installationId,this.#k=t.installationIdBytes,this.#P=!0}static async create(e,t){const s=new be(t);return s.#N=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.#N}get isReady(){return this.#P}get inboxId(){return this.#x}get accountIdentifier(){return this.#S}get installationId(){return this.#A}get installationIdBytes(){return this.#k}get conversations(){return this.#b}get preferences(){return this.#D}async unsafe_createInboxSignatureText(){return this.sendMessage("client.createInboxSignatureText",void 0)}async unsafe_addAccountSignatureText(e,t=!1){if(!t)throw new oe;return this.sendMessage("client.addAccountSignatureText",{newIdentifier:e})}async unsafe_removeAccountSignatureText(e){return this.sendMessage("client.removeAccountSignatureText",{identifier:e})}async unsafe_revokeAllOtherInstallationsSignatureText(){return this.sendMessage("client.revokeAllOtherInstallationsSignatureText",void 0)}async unsafe_revokeInstallationsSignatureText(e){return this.sendMessage("client.revokeInstallationsSignatureText",{installationIds:e})}async unsafe_changeRecoveryIdentifierSignatureText(e){return this.sendMessage("client.changeRecoveryIdentifierSignatureText",{identifier:e})}async unsafe_addSignature(e,t,s){const i=await s.signMessage(t);switch(s.type){case"SCW":await this.sendMessage("client.addScwSignature",{type:e,bytes:i,chainId:s.getChainId(),blockNumber:s.getBlockNumber?.()});break;case"EOA":await this.sendMessage("client.addEcdsaSignature",{type:e,bytes:i})}}async unsafe_applySignatures(){return this.sendMessage("client.applySignatures",void 0)}async register(){if(!this.#N)throw new re;const e=await this.unsafe_createInboxSignatureText();if(e)return await this.unsafe_addSignature(v.CreateInbox,e,this.#N),this.sendMessage("client.registerIdentity",void 0)}async unsafe_addAccount(e,t=!1){const s=await this.findInboxIdByIdentifier(await e.getIdentifier());if(s&&!t)throw new ce(s);const i=await this.unsafe_addAccountSignatureText(await e.getIdentifier(),!0);if(!i)throw new de(v.AddWallet);await this.unsafe_addSignature(v.AddWallet,i,e),await this.unsafe_applySignatures()}async removeAccount(e){if(!this.#N)throw new re;const t=await this.unsafe_removeAccountSignatureText(e);if(!t)throw new de(v.RevokeWallet);await this.unsafe_addSignature(v.RevokeWallet,t,this.#N),await this.unsafe_applySignatures()}async revokeAllOtherInstallations(){if(!this.#N)throw new re;const e=await this.unsafe_revokeAllOtherInstallationsSignatureText();if(!e)throw new de(v.RevokeInstallations);await this.unsafe_addSignature(v.RevokeInstallations,e,this.#N),await this.unsafe_applySignatures()}async revokeInstallations(e){if(!this.#N)throw new re;const t=await this.unsafe_revokeInstallationsSignatureText(e);if(!t)throw new de(v.RevokeInstallations);await this.unsafe_addSignature(v.RevokeInstallations,t,this.#N),await this.unsafe_applySignatures()}async changeRecoveryIdentifier(e){if(!this.#N)throw new re;const t=await this.unsafe_changeRecoveryIdentifierSignatureText(e);if(!t)throw new de(v.ChangeRecoveryIdentifier);await this.unsafe_addSignature(v.ChangeRecoveryIdentifier,t,this.#N),await this.unsafe_applySignatures()}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.#M.get(e.toString())}encodeContent(e,t){const s=this.codecFor(t);if(!s)throw new ae(t);const i=s.encode(e,this),n=s.fallback(e);return n&&(i.fallback=n),_(i)}decodeContent(e,s){const i=this.codecFor(s);if(!i)throw new ae(s);if(s.sameAs(t)&&e.kind!==m.MembershipChange)throw new ge(e.id);const n=T(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})}apiStatistics(){return this.sendMessage("client.apiStatistics",void 0)}apiIdentityStatistics(){return this.sendMessage("client.apiIdentityStatistics",void 0)}apiAggregateStatistics(){return this.sendMessage("client.apiAggregateStatistics",void 0)}clearAllStatistics(){return this.sendMessage("client.clearAllStatistics",void 0)}async uploadDebugArchive(e){return this.sendMessage("client.uploadDebugArchive",{serverUrl: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{ce as AccountAlreadyAssociatedError,Se as ApiUrls,be as Client,ne as ClientNotInitializedError,ae as CodecNotFoundError,pe as Conversation,ve as Conversations,ie as DecodedMessage,me as Dm,de as GenerateSignatureError,ye as Group,le as GroupNotFoundError,xe as HistorySyncUrls,oe as InboxReassignError,ge as InvalidGroupMembershipChangeError,he as MissingContentTypeError,re as SignerUnavailableError,ue as StreamNotFoundError,Me as Utils,A as fromContentTypeId,N as fromEncodedContent,V as fromSafeConsent,P as fromSafeContentTypeId,F as fromSafeCreateDmOptions,j as fromSafeCreateGroupOptions,T as fromSafeEncodedContent,J as fromSafeGroupMember,R as fromSafeListConversationsOptions,B as fromSafeListMessagesOptions,Y as fromSafeMessageDisappearingSettings,U as fromSafePermissionPolicySet,x as toContentTypeId,D as toEncodedContent,te as toSafeApiStats,H as toSafeConsent,k as toSafeContentTypeId,O as toSafeConversation,ee as toSafeConversationDebugInfo,q as toSafeCreateDmOptions,W as toSafeCreateGroupOptions,_ as toSafeEncodedContent,z as toSafeGroupMember,Q as toSafeHmacKey,se as toSafeIdentityStats,$ as toSafeInboxState,K as toSafeInstallation,Z as toSafeKeyPackageStatus,L as toSafeListConversationsOptions,G as toSafeListMessagesOptions,C as toSafeMessage,X as toSafeMessageDisappearingSettings,E as toSafePermissionPolicySet};
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 c,CreateGroupOptions as d,CreateDMOptions as l,Consent as u,GroupMember as g,MessageDisappearingSettings as h,GroupPermissionsOptions as p,GroupMessageKind as m,DeliveryStatus as y,SignatureRequestType as v,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,SignatureRequestType,SortDirection}from"@xmtp/wasm-bindings";import{v4 as w}from"uuid";import{ContentTypeId as f}from"@xmtp/content-type-primitives";const M=e=>{console.error(e.message)};class b{#e;#t;#s=new Map;constructor(e,t){this.#e=e,this.#e.addEventListener("message",this.handleMessage),t&&this.#e.addEventListener("error",M),this.#t=t}sendMessage(e,t){const s=w();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",M),this.#e.terminate()}}class S{#i=!1;#n;#r;#a;#o;onReturn;onError;constructor(){this.#a=[],this.#i=!1}#c(){this.#a=[],this.#n=void 0,this.#r=void 0,this.#i=!0}get error(){return this.#o}get isDone(){return this.#i}callback=(e,t)=>{if(!this.#i)return e?(this.#o=e,void(this.#r&&(this.#r(e),this.#c(),this.onError?.(e)))):void(this.#n?(this.#n({done:!1,value:t}),this.#n=void 0,this.#r=void 0):this.#a.push(t))};next=()=>this.#o?(this.#c(),this.onError?.(this.#o),Promise.reject(this.#o)):this.#a.length>0?Promise.resolve({done:!1,value:this.#a.shift()}):new Promise(((e,t)=>{this.#n=e,this.#r=t}));return=e=>(this.#n?.({done:!0,value:e}),this.onReturn?.(),this.#c(),{done:!0,value:e});end=()=>this.return();[Symbol.asyncIterator](){return this}}const x=e=>new f({authorityId:e.authorityId,typeId:e.typeId,versionMajor:e.versionMajor,versionMinor:e.versionMinor}),A=e=>new n(e.authorityId,e.typeId,e.versionMajor,e.versionMinor),k=e=>({authorityId:e.authorityId,typeId:e.typeId,versionMajor:e.versionMajor,versionMinor:e.versionMinor}),D=e=>new f({authorityId:e.authorityId,typeId:e.typeId,versionMajor:e.versionMajor,versionMinor:e.versionMinor}),P=e=>({type:x(e.type),parameters:Object.fromEntries(e.parameters),fallback:e.fallback,compression:e.compression,content:e.content}),N=e=>new r(A(e.type),new Map(Object.entries(e.parameters)),e.fallback,e.compression,e.content),_=e=>({type:k(e.type),parameters:e.parameters,fallback:e.fallback,compression:e.compression,content:e.content}),T=e=>({type:D(e.type),parameters:e.parameters,fallback:e.fallback,compression:e.compression,content:e.content}),C=e=>({content:_(P(e.content)),convoId:e.convoId,deliveryStatus:e.deliveryStatus,id:e.id,kind:e.kind,senderInboxId:e.senderInboxId,sentAtNs:e.sentAtNs}),G=e=>({contentTypes:e.contentTypes,deliveryStatus:e.deliveryStatus,direction:e.direction,limit:e.limit,sentAfterNs:e.sentAfterNs,sentBeforeNs:e.sentBeforeNs}),B=e=>new a(e.sentBeforeNs,e.sentAfterNs,e.limit,e.deliveryStatus,e.direction,e.contentTypes),L=e=>({consentStates:e.consentStates,conversationType:e.conversationType,createdAfterNs:e.createdAfterNs,createdBeforeNs:e.createdBeforeNs,includeDuplicateDms:e.includeDuplicateDms,limit:e.limit}),R=e=>new o(e.consentStates,e.conversationType,e.createdAfterNs,e.createdBeforeNs,e.includeDuplicateDms??!1,e.limit),E=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}),U=e=>new c(e.addMemberPolicy,e.removeMemberPolicy,e.addAdminPolicy,e.removeAdminPolicy,e.updateGroupNamePolicy,e.updateGroupDescriptionPolicy,e.updateGroupImageUrlSquarePolicy,e.updateMessageDisappearingPolicy),W=e=>({customPermissionPolicySet:e.customPermissionPolicySet,description:e.groupDescription,imageUrlSquare:e.groupImageUrlSquare,messageDisappearingSettings:e.messageDisappearingSettings?X(e.messageDisappearingSettings):void 0,name:e.groupName,permissions:e.permissions}),j=e=>new d(e.permissions,e.name,e.imageUrlSquare,e.description,e.customPermissionPolicySet&&e.permissions===p.CustomPolicy?U(e.customPermissionPolicySet):void 0,e.messageDisappearingSettings?Y(e.messageDisappearingSettings):void 0),q=e=>({messageDisappearingSettings:e.messageDisappearingSettings?X(e.messageDisappearingSettings):void 0}),F=e=>new l(e.messageDisappearingSettings?Y(e.messageDisappearingSettings):void 0),O=async e=>{const t=e.id,s=e.name,i=e.imageUrl,n=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,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:c,admins:d,superAdmins:l,createdAtNs:u}},K=e=>({bytes:e.bytes,clientTimestampNs:e.clientTimestampNs,id:e.id}),$=e=>({accountIdentifiers:e.accountIdentifiers,inboxId:e.inboxId,installations:e.installations.map(K),recoveryIdentifier:e.recoveryIdentifier}),H=e=>({entity:e.entity,entityType:e.entityType,state:e.state}),V=e=>new u(e.entityType,e.state,e.entity),z=e=>({accountIdentifiers:e.accountIdentifiers,consentState:e.consentState,inboxId:e.inboxId,installationIds:e.installationIds,permissionLevel:e.permissionLevel}),J=e=>new g(e.inboxId,e.accountIdentifiers,e.installationIds,e.permissionLevel,e.consentState),Q=e=>({key:e.key,epoch:e.epoch}),X=e=>({fromNs:e.fromNs,inNs:e.inNs}),Y=e=>new h(e.fromNs,e.inNs),Z=e=>({lifetime:e.lifetime?{notBefore:e.lifetime.not_before,notAfter:e.lifetime.not_after}:void 0,validationError:e.validationError}),ee=e=>({epoch:e.epoch,maybeForked:e.maybeForked,forkDetails:e.forkDetails}),te=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}),se=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 ie{#d;content;contentType;conversationId;deliveryStatus;fallback;compression;id;kind;parameters;encodedContent;senderInboxId;sentAtNs;constructor(e,t){switch(this.#d=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=D(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.#d.decodeContent(t,this.contentType)}catch{this.content=void 0}}}class ne extends Error{constructor(){super("Client not initialized, use Client.create or Client.build to create a client")}}class re extends Error{constructor(){super("Signer unavailable, use Client.create to create a client with a signer")}}class ae extends Error{constructor(e){super(`Codec not found for "${e.toString()}" content type`)}}class oe extends Error{constructor(){super("Unable to create add account signature text, `allowInboxReassign` must be true")}}class ce extends Error{constructor(e){super(`Account already associated with inbox ${e}`)}}class de extends Error{constructor(e){let t="";switch(e){case v.AddWallet:t="add account";break;case v.CreateInbox:t="create inbox";break;case v.RevokeWallet:t="remove account";break;case v.RevokeInstallations:t="revoke installations";break;case v.ChangeRecoveryIdentifier:t="change recovery identifier"}super(`Failed to generate ${t} signature text`)}}class le extends Error{constructor(e){super(`Group "${e}" not found`)}}class ue extends Error{constructor(e){super(`Stream "${e}" not found`)}}class ge extends Error{constructor(e){super(`Invalid group membership change for message ${e}`)}}class he extends Error{constructor(){super("Content type is required when sending content other than text")}}class pe{#l;#d;#u;#g;#h;#p;constructor(e,t,s){this.#d=e,this.#g=t,this.#m(s)}#m(e){this.#h=e?.isActive??void 0,this.#l=e?.addedByInboxId??"",this.#p=e?.metadata??void 0,this.#u=e?.createdAtNs??void 0}get id(){return this.#g}get isActive(){return this.#h}get addedByInboxId(){return this.#l}get createdAtNs(){return this.#u}get createdAt(){return this.#u?(e=this.#u,new Date(Number(e/1000000n))):void 0;var e}get metadata(){return this.#p}async members(){return this.#d.sendMessage("conversation.members",{id:this.#g})}async sync(){const e=await this.#d.sendMessage("conversation.sync",{id:this.#g});return this.#m(e),e}async publishMessages(){return this.#d.sendMessage("conversation.publishMessages",{id:this.#g})}async sendOptimistic(e,t){if("string"!=typeof e&&!t)throw new he;const i="string"==typeof e?this.#d.encodeContent(e,t??s):this.#d.encodeContent(e,t);return this.#d.sendMessage("conversation.sendOptimistic",{id:this.#g,content:i})}async send(e,t){if("string"!=typeof e&&!t)throw new he;const i="string"==typeof e?this.#d.encodeContent(e,t??s):this.#d.encodeContent(e,t);return this.#d.sendMessage("conversation.send",{id:this.#g,content:i})}async messages(e){return(await this.#d.sendMessage("conversation.messages",{id:this.#g,options:e})).map((e=>new ie(this.#d,e)))}async consentState(){return this.#d.sendMessage("conversation.consentState",{id:this.#g})}async updateConsentState(e){return this.#d.sendMessage("conversation.updateConsentState",{id:this.#g,state:e})}async messageDisappearingSettings(){return this.#d.sendMessage("conversation.messageDisappearingSettings",{id:this.#g})}async updateMessageDisappearingSettings(e,t){return this.#d.sendMessage("conversation.updateMessageDisappearingSettings",{id:this.#g,fromNs:e,inNs:t})}async removeMessageDisappearingSettings(){return this.#d.sendMessage("conversation.removeMessageDisappearingSettings",{id:this.#g})}async isMessageDisappearingEnabled(){return this.#d.sendMessage("conversation.isMessageDisappearingEnabled",{id:this.#g})}async stream(e){const t=w(),s=new S,i=this.#d.handleStreamMessage(t,((t,i)=>{let n,r=t;if(i)try{n=new ie(this.#d,i)}catch(t){r=t}s.callback(r,n),e?.(r,n)}));return await this.#d.sendMessage("conversation.stream",{groupId:this.#g,streamId:t}),s.onReturn=()=>{this.#d.sendMessage("endStream",{streamId:t}),i()},s}async pausedForVersion(){return this.#d.sendMessage("conversation.pausedForVersion",{id:this.#g})}async getHmacKeys(){return this.#d.sendMessage("conversation.getHmacKeys",{id:this.#g})}async debugInfo(){return this.#d.sendMessage("conversation.debugInfo",{id:this.#g})}}class me extends pe{#d;#g;constructor(e,t,s){super(e,t,s),this.#d=e,this.#g=t}async peerInboxId(){return this.#d.sendMessage("dm.peerInboxId",{id:this.#g})}async getDuplicateDms(){return this.#d.sendMessage("dm.getDuplicateDms",{id:this.#g})}}class ye extends pe{#y=[];#d;#v;#g;#I;#w;#f=[];#m(e){this.#w=e?.name??"",this.#I=e?.imageUrl??"",this.#v=e?.description??"",this.#y=e?.admins??[],this.#f=e?.superAdmins??[]}constructor(e,t,s){super(e,t,s),this.#d=e,this.#g=t,this.#m(s)}async sync(){const e=await super.sync();return this.#m(e),e}get name(){return this.#w}async updateName(e){await this.#d.sendMessage("group.updateName",{id:this.#g,name:e}),this.#w=e}get imageUrl(){return this.#I}async updateImageUrl(e){await this.#d.sendMessage("group.updateImageUrl",{id:this.#g,imageUrl:e}),this.#I=e}get description(){return this.#v}async updateDescription(e){await this.#d.sendMessage("group.updateDescription",{id:this.#g,description:e}),this.#v=e}get admins(){return this.#y}get superAdmins(){return this.#f}async listAdmins(){const e=await this.#d.sendMessage("group.listAdmins",{id:this.#g});return this.#y=e,e}async listSuperAdmins(){const e=await this.#d.sendMessage("group.listSuperAdmins",{id:this.#g});return this.#f=e,e}async permissions(){return this.#d.sendMessage("group.permissions",{id:this.#g})}async updatePermission(e,t,s){return this.#d.sendMessage("group.updatePermission",{id:this.#g,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.#d.sendMessage("group.addMembersByIdentifiers",{id:this.#g,identifiers:e})}async addMembers(e){return this.#d.sendMessage("group.addMembers",{id:this.#g,inboxIds:e})}async removeMembersByIdentifiers(e){return this.#d.sendMessage("group.removeMembersByIdentifiers",{id:this.#g,identifiers:e})}async removeMembers(e){return this.#d.sendMessage("group.removeMembers",{id:this.#g,inboxIds:e})}async addAdmin(e){return this.#d.sendMessage("group.addAdmin",{id:this.#g,inboxId:e})}async removeAdmin(e){return this.#d.sendMessage("group.removeAdmin",{id:this.#g,inboxId:e})}async addSuperAdmin(e){return this.#d.sendMessage("group.addSuperAdmin",{id:this.#g,inboxId:e})}async removeSuperAdmin(e){return this.#d.sendMessage("group.removeSuperAdmin",{id:this.#g,inboxId:e})}}class ve{#d;constructor(e){this.#d=e}async sync(){return this.#d.sendMessage("conversations.sync",void 0)}async syncAll(e){return this.#d.sendMessage("conversations.syncAll",{consentStates:e})}async getConversationById(e){const t=await this.#d.sendMessage("conversations.getConversationById",{id:e});if(t)return"group"===t.metadata.conversationType?new ye(this.#d,t.id,t):new me(this.#d,t.id,t)}async getMessageById(e){const t=await this.#d.sendMessage("conversations.getMessageById",{id:e});return t?new ie(this.#d,t):void 0}async getDmByInboxId(e){const t=await this.#d.sendMessage("conversations.getDmByInboxId",{inboxId:e});return t?new me(this.#d,t.id,t):void 0}async list(e){return(await this.#d.sendMessage("conversations.list",{options:e})).map((e=>{switch(e.metadata.conversationType){case"dm":return new me(this.#d,e.id,e);case"group":return new ye(this.#d,e.id,e);default:return}})).filter((e=>void 0!==e))}async listGroups(e){return(await this.#d.sendMessage("conversations.listGroups",{options:e})).map((e=>new ye(this.#d,e.id,e)))}async listDms(e){return(await this.#d.sendMessage("conversations.listDms",{options:e})).map((e=>new me(this.#d,e.id,e)))}async newGroupOptimistic(e){const t=await this.#d.sendMessage("conversations.newGroupOptimistic",{options:e});return new ye(this.#d,t.id,t)}async newGroupWithIdentifiers(e,t){const s=await this.#d.sendMessage("conversations.newGroupWithIdentifiers",{identifiers:e,options:t});return new ye(this.#d,s.id,s)}async newGroup(e,t){const s=await this.#d.sendMessage("conversations.newGroup",{inboxIds:e,options:t});return new ye(this.#d,s.id,s)}async newDmWithIdentifier(e,t){const s=await this.#d.sendMessage("conversations.newDmWithIdentifier",{identifier:e,options:t});return new me(this.#d,s.id,s)}async newDm(e,t){const s=await this.#d.sendMessage("conversations.newDm",{inboxId:e,options:t});return new me(this.#d,s.id,s)}async getHmacKeys(){return this.#d.sendMessage("conversations.getHmacKeys",void 0)}async stream(e,t){const s=w(),i=new S,n=this.#d.handleStreamMessage(s,((t,s)=>{let n,r=t;if(s)try{n="group"===s.metadata.conversationType?new ye(this.#d,s.id,s):new me(this.#d,s.id,s)}catch(t){r=t}i.callback(r,n),e?.(r,n)}));return await this.#d.sendMessage("conversations.stream",{streamId:s,conversationType:t}),i.onReturn=()=>{this.#d.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=w(),n=new S,r=this.#d.handleStreamMessage(i,((t,s)=>{let i,r=t;if(s)try{i=new ie(this.#d,s)}catch(t){r=t}n.callback(r,i),e?.(r,i)}));return await this.#d.sendMessage("conversations.streamAllMessages",{streamId:i,conversationType:t,consentStates:s}),n.onReturn=()=>{this.#d.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 Ie{#d;constructor(e){this.#d=e}sync(){return this.#d.sendMessage("preferences.sync",void 0)}async inboxState(e){return this.#d.sendMessage("preferences.inboxState",{refreshFromNetwork:e??!1})}async inboxStateFromInboxIds(e,t){return this.#d.sendMessage("preferences.inboxStateFromInboxIds",{inboxIds:e,refreshFromNetwork:t??!1})}async getLatestInboxState(e){return this.#d.sendMessage("preferences.getLatestInboxState",{inboxId:e})}async setConsentStates(e){return this.#d.sendMessage("preferences.setConsentStates",{records:e})}async getConsentState(e,t){return this.#d.sendMessage("preferences.getConsentState",{entityType:e,entity:t})}async streamConsent(e){const t=w(),s=new S,i=this.#d.handleStreamMessage(t,((t,i)=>{s.callback(t,i??void 0),e?.(t,i??void 0)}));return await this.#d.sendMessage("preferences.streamConsent",{streamId:t}),s.onReturn=()=>{this.#d.sendMessage("endStream",{streamId:t}),i()},s}async streamPreferences(e){const t=w(),s=new S,i=this.#d.handleStreamMessage(t,((t,i)=>{s.callback(t,i??void 0),e?.(t,i??void 0)}));return await this.#d.sendMessage("preferences.streamPreferences",{streamId:t}),s.onReturn=()=>{this.#d.sendMessage("endStream",{streamId:t}),i()},s}}const 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,this.init(t)}async init(e){return this.sendMessage("utils.init",{enableLogging:e})}sendMessage(e,t){const s=w();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})}}class be extends b{#M;#b;#S;#x;#A;#k;#D=!1;#P;#N;#_;constructor(t){super(new Worker(new URL("./workers/client",import.meta.url),{type:"module"}),void 0!==t?.loggingLevel&&"off"!==t.loggingLevel),this.#_=t,this.#b=new ve(this),this.#P=new Ie(this);const s=[new e,new i,...t?.codecs??[]];this.#M=new Map(s.map((e=>[e.contentType.toString(),e])))}async init(e){const t=await this.sendMessage("client.init",{identifier:e,options:this.#_});this.#S=e,this.#x=t.inboxId,this.#A=t.installationId,this.#k=t.installationIdBytes,this.#D=!0}static async create(e,t){const s=new be(t);return s.#N=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.#N}get isReady(){return this.#D}get inboxId(){return this.#x}get accountIdentifier(){return this.#S}get installationId(){return this.#A}get installationIdBytes(){return this.#k}get conversations(){return this.#b}get preferences(){return this.#P}async unsafe_createInboxSignatureText(){return this.sendMessage("client.createInboxSignatureText",void 0)}async unsafe_addAccountSignatureText(e,t=!1){if(!t)throw new oe;return this.sendMessage("client.addAccountSignatureText",{newIdentifier:e})}async unsafe_removeAccountSignatureText(e){return this.sendMessage("client.removeAccountSignatureText",{identifier:e})}async unsafe_revokeAllOtherInstallationsSignatureText(){return this.sendMessage("client.revokeAllOtherInstallationsSignatureText",void 0)}async unsafe_revokeInstallationsSignatureText(e){return this.sendMessage("client.revokeInstallationsSignatureText",{installationIds:e})}async unsafe_changeRecoveryIdentifierSignatureText(e){return this.sendMessage("client.changeRecoveryIdentifierSignatureText",{identifier:e})}async unsafe_addSignature(e,t,s){const i=await s.signMessage(t);switch(s.type){case"SCW":await this.sendMessage("client.addScwSignature",{type:e,bytes:i,chainId:s.getChainId(),blockNumber:s.getBlockNumber?.()});break;case"EOA":await this.sendMessage("client.addEcdsaSignature",{type:e,bytes:i})}}async unsafe_applySignatures(){return this.sendMessage("client.applySignatures",void 0)}async register(){if(!this.#N)throw new re;const e=await this.unsafe_createInboxSignatureText();if(e)return await this.unsafe_addSignature(v.CreateInbox,e,this.#N),this.sendMessage("client.registerIdentity",void 0)}async unsafe_addAccount(e,t=!1){const s=await this.findInboxIdByIdentifier(await e.getIdentifier());if(s&&!t)throw new ce(s);const i=await this.unsafe_addAccountSignatureText(await e.getIdentifier(),!0);if(!i)throw new de(v.AddWallet);await this.unsafe_addSignature(v.AddWallet,i,e),await this.unsafe_applySignatures()}async removeAccount(e){if(!this.#N)throw new re;const t=await this.unsafe_removeAccountSignatureText(e);if(!t)throw new de(v.RevokeWallet);await this.unsafe_addSignature(v.RevokeWallet,t,this.#N),await this.unsafe_applySignatures()}async revokeAllOtherInstallations(){if(!this.#N)throw new re;const e=await this.unsafe_revokeAllOtherInstallationsSignatureText();if(!e)throw new de(v.RevokeInstallations);await this.unsafe_addSignature(v.RevokeInstallations,e,this.#N),await this.unsafe_applySignatures()}async revokeInstallations(e){if(!this.#N)throw new re;const t=await this.unsafe_revokeInstallationsSignatureText(e);if(!t)throw new de(v.RevokeInstallations);await this.unsafe_addSignature(v.RevokeInstallations,t,this.#N),await this.unsafe_applySignatures()}async changeRecoveryIdentifier(e){if(!this.#N)throw new re;const t=await this.unsafe_changeRecoveryIdentifierSignatureText(e);if(!t)throw new de(v.ChangeRecoveryIdentifier);await this.unsafe_addSignature(v.ChangeRecoveryIdentifier,t,this.#N),await this.unsafe_applySignatures()}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.#M.get(e.toString())}encodeContent(e,t){const s=this.codecFor(t);if(!s)throw new ae(t);const i=s.encode(e,this),n=s.fallback(e);return n&&(i.fallback=n),_(i)}decodeContent(e,s){const i=this.codecFor(s);if(!i)throw new ae(s);if(s.sameAs(t)&&e.kind!==m.MembershipChange)throw new ge(e.id);const n=T(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})}apiStatistics(){return this.sendMessage("client.apiStatistics",void 0)}apiIdentityStatistics(){return this.sendMessage("client.apiIdentityStatistics",void 0)}apiAggregateStatistics(){return this.sendMessage("client.apiAggregateStatistics",void 0)}clearAllStatistics(){return this.sendMessage("client.clearAllStatistics",void 0)}async uploadDebugArchive(e){return this.sendMessage("client.uploadDebugArchive",{serverUrl: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{ce as AccountAlreadyAssociatedError,Se as ApiUrls,be as Client,ne as ClientNotInitializedError,ae as CodecNotFoundError,pe as Conversation,ve as Conversations,ie as DecodedMessage,me as Dm,de as GenerateSignatureError,ye as Group,le as GroupNotFoundError,xe as HistorySyncUrls,oe as InboxReassignError,ge as InvalidGroupMembershipChangeError,he as MissingContentTypeError,re as SignerUnavailableError,ue as StreamNotFoundError,Me as Utils,A as fromContentTypeId,N as fromEncodedContent,V as fromSafeConsent,D as fromSafeContentTypeId,F as fromSafeCreateDmOptions,j as fromSafeCreateGroupOptions,T as fromSafeEncodedContent,J as fromSafeGroupMember,R as fromSafeListConversationsOptions,B as fromSafeListMessagesOptions,Y as fromSafeMessageDisappearingSettings,U as fromSafePermissionPolicySet,x as toContentTypeId,P as toEncodedContent,te as toSafeApiStats,H as toSafeConsent,k as toSafeContentTypeId,O as toSafeConversation,ee as toSafeConversationDebugInfo,q as toSafeCreateDmOptions,W as toSafeCreateGroupOptions,_ as toSafeEncodedContent,z as toSafeGroupMember,Q as toSafeHmacKey,se as toSafeIdentityStats,$ as toSafeInboxState,K as toSafeInstallation,Z as toSafeKeyPackageStatus,L as toSafeListConversationsOptions,G as toSafeListMessagesOptions,C as toSafeMessage,X as toSafeMessageDisappearingSettings,E as toSafePermissionPolicySet};
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/Preferences.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],"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","done","resolveNext","rejectNext","queue","onReturn","undefined","onError","endStream","isDone","value","push","next","length","shift","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","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","GenerateSignatureError","signatureType","SignatureRequestType","AddWallet","CreateInbox","RevokeWallet","RevokeInstallations","ChangeRecoveryIdentifier","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","err","pausedForVersion","getHmacKeys","Dm","peerInboxId","getDuplicateDms","Group","updateName","updateImageUrl","updateDescription","listAdmins","listSuperAdmins","updatePermission","permissionType","policy","metadataField","isAdmin","includes","isSuperAdmin","addMembersByIdentifiers","identifiers","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","Preferences","refreshFromNetwork","inboxStateFromInboxIds","getLatestInboxState","setConsentStates","records","getConsentState","streamConsent","streamPreferences","UtilsWorkerClass","init","Utils","Worker","URL","url","generateInboxId","getInboxIdForIdentifier","env","Client","codecs","conversations","installationId","installationIdBytes","isReady","preferences","signer","loggingLevel","GroupUpdatedCodec","TextCodec","codec","create","getIdentifier","disableAutoRegister","register","build","accountIdentifier","unsafe_createInboxSignatureText","unsafe_addAccountSignatureText","newIdentifier","allowInboxReassign","unsafe_removeAccountSignatureText","unsafe_revokeAllOtherInstallationsSignatureText","unsafe_revokeInstallationsSignatureText","unsafe_changeRecoveryIdentifierSignatureText","unsafe_addSignature","signatureText","signature","signMessage","chainId","getChainId","blockNumber","getBlockNumber","unsafe_applySignatures","unsafe_addAccount","newAccountSigner","existingInboxId","findInboxIdByIdentifier","removeAccount","revokeAllOtherInstallations","revokeInstallations","changeRecoveryIdentifier","isRegistered","canMessage","canMessageMap","utils","toLowerCase","codecFor","encoded","encode","sameAs","ContentTypeGroupUpdated","decode","signWithInstallationKey","verifySignedWithInstallationKey","signatureBytes","verifySignedWithPublicKey","publicKey","getKeyPackageStatusesForInstallationIds","apiStatistics","apiIdentityStatistics","apiAggregateStatistics","clearAllStatistics","uploadDebugArchive","serverUrl","ApiUrls","local","dev","production","HistorySyncUrls"],"mappings":"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"}
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/Preferences.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],"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","resolveNext","rejectNext","queue","onReturn","onError","done","undefined","value","push","next","length","shift","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","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","GenerateSignatureError","signatureType","SignatureRequestType","AddWallet","CreateInbox","RevokeWallet","RevokeInstallations","ChangeRecoveryIdentifier","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","identifiers","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","Preferences","refreshFromNetwork","inboxStateFromInboxIds","getLatestInboxState","setConsentStates","records","getConsentState","streamConsent","streamPreferences","UtilsWorkerClass","init","Utils","Worker","URL","url","generateInboxId","getInboxIdForIdentifier","env","Client","codecs","conversations","installationId","installationIdBytes","isReady","preferences","signer","loggingLevel","GroupUpdatedCodec","TextCodec","codec","create","getIdentifier","disableAutoRegister","register","build","accountIdentifier","unsafe_createInboxSignatureText","unsafe_addAccountSignatureText","newIdentifier","allowInboxReassign","unsafe_removeAccountSignatureText","unsafe_revokeAllOtherInstallationsSignatureText","unsafe_revokeInstallationsSignatureText","unsafe_changeRecoveryIdentifierSignatureText","unsafe_addSignature","signatureText","signature","signMessage","chainId","getChainId","blockNumber","getBlockNumber","unsafe_applySignatures","unsafe_addAccount","newAccountSigner","existingInboxId","findInboxIdByIdentifier","removeAccount","revokeAllOtherInstallations","revokeInstallations","changeRecoveryIdentifier","isRegistered","canMessage","canMessageMap","utils","toLowerCase","codecFor","encoded","encode","sameAs","ContentTypeGroupUpdated","decode","signWithInstallationKey","verifySignedWithInstallationKey","signatureBytes","verifySignedWithPublicKey","publicKey","getKeyPackageStatusesForInstallationIds","apiStatistics","apiIdentityStatistics","apiAggregateStatistics","clearAllStatistics","uploadDebugArchive","serverUrl","ApiUrls","local","dev","production","HistorySyncUrls"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xmtp/browser-sdk",
3
- "version": "2.2.0",
3
+ "version": "2.2.1",
4
4
  "description": "XMTP client SDK for browsers written in TypeScript",
5
5
  "keywords": [
6
6
  "xmtp",
@@ -11,27 +11,24 @@ export type StreamCallback<T> = (
11
11
  ) => void | Promise<void>;
12
12
 
13
13
  export class AsyncStream<T> {
14
- #done = false;
15
- #resolveNext: ResolveNext<T> | null;
16
- #rejectNext: ((error: Error) => void) | null;
14
+ #isDone = false;
15
+ #resolveNext: ResolveNext<T> | undefined;
16
+ #rejectNext: ((error: Error) => void) | undefined;
17
17
  #queue: (T | undefined)[];
18
- #error: Error | null;
19
- onReturn: (() => void) | undefined = undefined;
20
- onError: ((error: Error) => void) | undefined = undefined;
18
+ #error: Error | undefined;
19
+ onReturn: (() => void) | undefined;
20
+ onError: ((error: Error) => void) | undefined;
21
21
 
22
22
  constructor() {
23
23
  this.#queue = [];
24
- this.#resolveNext = null;
25
- this.#rejectNext = null;
26
- this.#error = null;
27
- this.#done = false;
24
+ this.#isDone = false;
28
25
  }
29
26
 
30
- #endStream() {
27
+ #done() {
31
28
  this.#queue = [];
32
- this.#resolveNext = null;
33
- this.#rejectNext = null;
34
- this.#done = true;
29
+ this.#resolveNext = undefined;
30
+ this.#rejectNext = undefined;
31
+ this.#isDone = true;
35
32
  }
36
33
 
37
34
  get error() {
@@ -39,30 +36,31 @@ export class AsyncStream<T> {
39
36
  }
40
37
 
41
38
  get isDone() {
42
- return this.#done;
39
+ return this.#isDone;
43
40
  }
44
41
 
45
42
  callback: StreamCallback<T> = (error, value) => {
43
+ if (this.#isDone) {
44
+ return;
45
+ }
46
+
46
47
  if (error) {
47
48
  this.#error = error;
48
49
  if (this.#rejectNext) {
49
50
  this.#rejectNext(error);
50
- this.#endStream();
51
+ this.#done();
51
52
  this.onError?.(error);
52
53
  }
53
54
  return;
54
55
  }
55
56
 
56
- if (this.#done) {
57
- return;
58
- }
59
-
60
57
  if (this.#resolveNext) {
61
58
  this.#resolveNext({
62
59
  done: false,
63
60
  value,
64
61
  });
65
- this.#resolveNext = null;
62
+ this.#resolveNext = undefined;
63
+ this.#rejectNext = undefined;
66
64
  } else {
67
65
  this.#queue.push(value);
68
66
  }
@@ -70,7 +68,7 @@ export class AsyncStream<T> {
70
68
 
71
69
  next = (): Promise<ResolveValue<T>> => {
72
70
  if (this.#error) {
73
- this.#endStream();
71
+ this.#done();
74
72
  this.onError?.(this.#error);
75
73
  return Promise.reject(this.#error);
76
74
  }
@@ -82,13 +80,6 @@ export class AsyncStream<T> {
82
80
  });
83
81
  }
84
82
 
85
- if (this.#done) {
86
- return Promise.resolve({
87
- done: true,
88
- value: undefined,
89
- });
90
- }
91
-
92
83
  return new Promise((resolve, reject) => {
93
84
  this.#resolveNext = resolve;
94
85
  this.#rejectNext = reject;
@@ -96,12 +87,16 @@ export class AsyncStream<T> {
96
87
  };
97
88
 
98
89
  return = (value?: T) => {
99
- this.#endStream();
100
- this.onReturn?.();
101
- return Promise.resolve({
90
+ this.#resolveNext?.({
102
91
  done: true,
103
92
  value,
104
93
  });
94
+ this.onReturn?.();
95
+ this.#done();
96
+ return {
97
+ done: true,
98
+ value,
99
+ };
105
100
  };
106
101
 
107
102
  end = () => this.return();