@xmtp/browser-sdk 0.0.22 → 0.0.23

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
@@ -1,5 +1,5 @@
1
1
  import * as _xmtp_wasm_bindings from '@xmtp/wasm-bindings';
2
- import { SignatureRequestType, ConsentState, ConsentEntityType, ConversationType, PermissionUpdateType, PermissionPolicy, MetadataField, Conversations as Conversations$1, Message, Conversation as Conversation$1, Consent, UserPreference, Client as Client$1, EncodedContent, MessageDisappearingSettings, ContentTypeId, DeliveryStatus, GroupMessageKind, ContentType, SortDirection, ListMessagesOptions, ListConversationsOptions, PermissionPolicySet, GroupPermissionsOptions, CreateGroupOptions, CreateDMOptions, Installation, InboxState, PermissionLevel, GroupMember, HmacKey } from '@xmtp/wasm-bindings';
2
+ import { SignatureRequestType, ConsentState, ConsentEntityType, ConversationType, PermissionUpdateType, PermissionPolicy, MetadataField, Conversations as Conversations$1, Message, Conversation as Conversation$1, Consent, UserPreference, Client as Client$1, EncodedContent, MessageDisappearingSettings, GroupPermissionsOptions, DeliveryStatus, GroupMessageKind, ContentType, SortDirection, PermissionLevel, ContentTypeId, ListMessagesOptions, ListConversationsOptions, PermissionPolicySet, CreateGroupOptions, CreateDMOptions, HmacKey, Installation, InboxState, GroupMember } from '@xmtp/wasm-bindings';
3
3
  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, UserPreference } from '@xmtp/wasm-bindings';
4
4
  import { ContentCodec, ContentTypeId as ContentTypeId$1, EncodedContent as EncodedContent$1 } from '@xmtp/content-type-primitives';
5
5
 
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 n}from"@xmtp/content-type-text";import{ContentTypeId as i,EncodedContent as a,ListMessagesOptions as r,ListConversationsOptions as o,PermissionPolicySet as d,CreateGroupOptions as c,GroupPermissionsOptions as l,CreateDMOptions as u,Consent as g,GroupMember as p,MessageDisappearingSettings as h,GroupMessageKind as m,DeliveryStatus as y,ConversationType as v,SignatureRequestType as w}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 M}from"uuid";import{ContentTypeId as I}from"@xmtp/content-type-primitives";const b=e=>{console.error(`Worker error on line ${e.lineno} in "${e.filename}"`),console.error(e.message)};class S{#e;#t;#s=new Map;constructor(e,t){this.#e=e,this.#e.addEventListener("message",this.handleMessage),this.#e.addEventListener("error",b),this.#t=t}sendMessage(e,t){const s=M();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(new Error(t.error)):s.resolve(t.result))};handleStreamMessage=(e,t)=>{const s=s=>{const n=s.data;n.streamId===e&&("error"in n?t(new Error(n.error),null):t(null,n.result))};return this.#e.addEventListener("message",s),()=>{this.#e.removeEventListener("message",s)}};close(){this.#e.removeEventListener("message",this.handleMessage),this.#e.removeEventListener("error",b),this.#e.terminate()}}class A{#n=!1;#i;#a;onReturn=void 0;constructor(){this.#a=[],this.#i=null,this.#n=!1}get isDone(){return this.#n}callback=(e,t)=>{if(e)throw e;this.#n||(this.#i?(this.#i({done:!1,value:t}),this.#i=null):this.#a.push(t))};next=()=>this.#a.length>0?Promise.resolve({done:!1,value:this.#a.shift()}):this.#n?Promise.resolve({done:!0,value:void 0}):new Promise((e=>{this.#i=e}));return=e=>(this.#n=!0,this.onReturn?.(),Promise.resolve({done:!0,value:e}));[Symbol.asyncIterator](){return this}}const x=e=>new I({authorityId:e.authorityId,typeId:e.typeId,versionMajor:e.versionMajor,versionMinor:e.versionMinor}),f=e=>new i(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 I({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}),G=e=>new a(f(e.type),new Map(Object.entries(e.parameters)),e.fallback,e.compression,e.content),N=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:N(D(e.content)),convoId:e.convoId,deliveryStatus:e.deliveryStatus,id:e.id,kind:e.kind,senderInboxId:e.senderInboxId,sentAtNs:e.sentAtNs}),B=e=>({contentTypes:e.contentTypes,deliveryStatus:e.deliveryStatus,direction:e.direction,limit:e.limit,sentAfterNs:e.sentAfterNs,sentBeforeNs:e.sentBeforeNs}),L=e=>new r(e.sentBeforeNs,e.sentAfterNs,e.limit,e.deliveryStatus,e.direction,e.contentTypes),E=e=>({consentStates:e.consentStates,createdAfterNs:e.createdAfterNs,createdBeforeNs:e.createdBeforeNs,includeDuplicateDms:e.includeDuplicateDms,limit:e.limit}),U=e=>new o(e.consentStates,e.createdAfterNs,e.createdBeforeNs,e.includeDuplicateDms??!1,e.limit),R=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}),_=e=>new d(e.addMemberPolicy,e.removeMemberPolicy,e.addAdminPolicy,e.removeAdminPolicy,e.updateGroupNamePolicy,e.updateGroupDescriptionPolicy,e.updateGroupImageUrlSquarePolicy,e.updateMessageDisappearingPolicy),q=e=>({customPermissionPolicySet:e.customPermissionPolicySet,description:e.groupDescription,imageUrlSquare:e.groupImageUrlSquare,messageDisappearingSettings:e.messageDisappearingSettings?X(e.messageDisappearingSettings):void 0,name:e.groupName,permissions:e.permissions}),O=e=>new c(e.permissions,e.name,e.imageUrlSquare,e.description,e.customPermissionPolicySet&&e.permissions===l.CustomPolicy?_(e.customPermissionPolicySet):void 0,e.messageDisappearingSettings?Y(e.messageDisappearingSettings):void 0),K=e=>({messageDisappearingSettings:e.messageDisappearingSettings?X(e.messageDisappearingSettings):void 0}),j=e=>new u(e.messageDisappearingSettings?Y(e.messageDisappearingSettings):void 0),W=async e=>{const t=e.id,s=e.name,n=e.imageUrl,i=e.description,a=e.permissions,r=e.isActive,o=e.addedByInboxId,d=await e.metadata(),c=e.admins,l=e.superAdmins,u=e.createdAtNs,g=a.policyType,p=a.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:r,addedByInboxId:o,metadata:d,admins:c,superAdmins:l,createdAtNs:u}},F=e=>({bytes:e.bytes,clientTimestampNs:e.clientTimestampNs,id:e.id}),$=e=>({accountAddresses:e.accountAddresses,inboxId:e.inboxId,installations:e.installations.map(F),recoveryAddress:e.recoveryAddress}),H=e=>({entity:e.entity,entityType:e.entityType,state:e.state}),V=e=>new g(e.entityType,e.state,e.entity),z=e=>({accountAddresses:e.accountAddresses,consentState:e.consentState,inboxId:e.inboxId,installationIds:e.installationIds,permissionLevel:e.permissionLevel}),J=e=>new p(e.inboxId,e.accountAddresses,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);class Z{#r;content;contentType;conversationId;deliveryStatus;fallback;compression;id;kind;parameters;encodedContent;senderInboxId;sentAtNs;constructor(e,t){switch(this.#r=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,this.content=this.#r.decodeContent(t,this.contentType)}}class ee{#r;#o;#d;#c;#l;#u;constructor(e,t,s){this.#r=e,this.#o=t,this.#g(s)}#g(e){this.#d=e?.isActive??void 0,this.#c=e?.addedByInboxId??"",this.#l=e?.metadata??void 0,this.#u=e?.createdAtNs??void 0}get id(){return this.#o}get isActive(){return this.#d}get addedByInboxId(){return this.#c}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.#l}async members(){return this.#r.sendMessage("getGroupMembers",{id:this.#o})}async sync(){const e=await this.#r.sendMessage("syncGroup",{id:this.#o});return this.#g(e),e}async publishMessages(){return this.#r.sendMessage("publishGroupMessages",{id:this.#o})}async sendOptimistic(e,t){if("string"!=typeof e&&!t)throw new Error("Content type is required when sending content other than text");const n="string"==typeof e?this.#r.encodeContent(e,t??s):this.#r.encodeContent(e,t);return this.#r.sendMessage("sendOptimisticGroupMessage",{id:this.#o,content:n})}async send(e,t){if("string"!=typeof e&&!t)throw new Error("Content type is required when sending content other than text");const n="string"==typeof e?this.#r.encodeContent(e,t??s):this.#r.encodeContent(e,t);return this.#r.sendMessage("sendGroupMessage",{id:this.#o,content:n})}async messages(e){return(await this.#r.sendMessage("getGroupMessages",{id:this.#o,options:e})).map((e=>new Z(this.#r,e)))}async consentState(){return this.#r.sendMessage("getGroupConsentState",{id:this.#o})}async updateConsentState(e){return this.#r.sendMessage("updateGroupConsentState",{id:this.#o,state:e})}async messageDisappearingSettings(){return this.#r.sendMessage("getGroupMessageDisappearingSettings",{id:this.#o})}async updateMessageDisappearingSettings(e,t){return this.#r.sendMessage("updateGroupMessageDisappearingSettings",{id:this.#o,fromNs:e,inNs:t})}async removeMessageDisappearingSettings(){return this.#r.sendMessage("removeGroupMessageDisappearingSettings",{id:this.#o})}async isMessageDisappearingEnabled(){return this.#r.sendMessage("isGroupMessageDisappearingEnabled",{id:this.#o})}async stream(e){const t=M(),s=new A,n=this.#r.handleStreamMessage(t,((t,n)=>{if(t)return s.callback(t,void 0),void e?.(t,void 0);const i=n?new Z(this.#r,n):void 0;s.callback(null,i),e?.(null,i)}));return await this.#r.sendMessage("streamGroupMessages",{groupId:this.#o,streamId:t}),s.onReturn=()=>{this.#r.sendMessage("endStream",{streamId:t}),n()},s}}class te extends ee{#r;#o;constructor(e,t,s){super(e,t,s),this.#r=e,this.#o=t}async peerInboxId(){return this.#r.sendMessage("getDmPeerInboxId",{id:this.#o})}}class se extends ee{#r;#o;#p;#h;#m;#y=[];#v=[];#g(e){this.#p=e?.name??"",this.#h=e?.imageUrl??"",this.#m=e?.description??"",this.#y=e?.admins??[],this.#v=e?.superAdmins??[]}constructor(e,t,s){super(e,t,s),this.#r=e,this.#o=t,this.#g(s)}async sync(){const e=await super.sync();return this.#g(e),e}get name(){return this.#p}async updateName(e){await this.#r.sendMessage("updateGroupName",{id:this.#o,name:e}),this.#p=e}get imageUrl(){return this.#h}async updateImageUrl(e){await this.#r.sendMessage("updateGroupImageUrlSquare",{id:this.#o,imageUrl:e}),this.#h=e}get description(){return this.#m}async updateDescription(e){await this.#r.sendMessage("updateGroupDescription",{id:this.#o,description:e}),this.#m=e}get admins(){return this.#y}get superAdmins(){return this.#v}async listAdmins(){const e=await this.#r.sendMessage("getGroupAdmins",{id:this.#o});return this.#y=e,e}async listSuperAdmins(){const e=await this.#r.sendMessage("getGroupSuperAdmins",{id:this.#o});return this.#v=e,e}async permissions(){return this.#r.sendMessage("getGroupPermissions",{id:this.#o})}async updatePermission(e,t,s){return this.#r.sendMessage("updateGroupPermissionPolicy",{id:this.#o,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 addMembers(e){return this.#r.sendMessage("addGroupMembers",{id:this.#o,accountAddresses:e})}async addMembersByInboxId(e){return this.#r.sendMessage("addGroupMembersByInboxId",{id:this.#o,inboxIds:e})}async removeMembers(e){return this.#r.sendMessage("removeGroupMembers",{id:this.#o,accountAddresses:e})}async removeMembersByInboxId(e){return this.#r.sendMessage("removeGroupMembersByInboxId",{id:this.#o,inboxIds:e})}async addAdmin(e){return this.#r.sendMessage("addGroupAdmin",{id:this.#o,inboxId:e})}async removeAdmin(e){return this.#r.sendMessage("removeGroupAdmin",{id:this.#o,inboxId:e})}async addSuperAdmin(e){return this.#r.sendMessage("addGroupSuperAdmin",{id:this.#o,inboxId:e})}async removeSuperAdmin(e){return this.#r.sendMessage("removeGroupSuperAdmin",{id:this.#o,inboxId:e})}}class ne{#r;constructor(e){this.#r=e}async sync(){return this.#r.sendMessage("syncConversations",void 0)}async syncAll(e){return this.#r.sendMessage("syncAllConversations",{consentStates:e})}async getConversationById(e){const t=await this.#r.sendMessage("getConversationById",{id:e});if(t)return"group"===t.metadata.conversationType?new se(this.#r,t.id,t):new te(this.#r,t.id,t)}async getMessageById(e){const t=await this.#r.sendMessage("getMessageById",{id:e});return t?new Z(this.#r,t):void 0}async getDmByInboxId(e){const t=await this.#r.sendMessage("getDmByInboxId",{inboxId:e});return t?new te(this.#r,t.id,t):void 0}async list(e){return(await this.#r.sendMessage("getConversations",{options:e})).map((e=>"group"===e.metadata.conversationType?new se(this.#r,e.id,e):new te(this.#r,e.id,e)))}async listGroups(e){return(await this.#r.sendMessage("getGroups",{options:e})).map((e=>new se(this.#r,e.id,e)))}async listDms(e){return(await this.#r.sendMessage("getDms",{options:e})).map((e=>new te(this.#r,e.id,e)))}async newGroup(e,t){const s=await this.#r.sendMessage("newGroup",{accountAddresses:e,options:t});return new se(this.#r,s.id,s)}async newGroupByInboxIds(e,t){const s=await this.#r.sendMessage("newGroupByInboxIds",{inboxIds:e,options:t});return new se(this.#r,s.id,s)}async newDm(e,t){const s=await this.#r.sendMessage("newDm",{accountAddress:e,options:t});return new te(this.#r,s.id,s)}async newDmByInboxId(e,t){const s=await this.#r.sendMessage("newDmByInboxId",{inboxId:e,options:t});return new te(this.#r,s.id,s)}async getHmacKeys(){return this.#r.sendMessage("getHmacKeys",void 0)}async stream(e,t){const s=M(),n=new A,i=this.#r.handleStreamMessage(s,((t,s)=>{if(t)return n.callback(t,void 0),void e?.(t,void 0);let i;s&&(i="group"===s.metadata.conversationType?new se(this.#r,s.id,s):new te(this.#r,s.id,s)),n.callback(null,i),e?.(null,i)}));return await this.#r.sendMessage("streamAllGroups",{streamId:s,conversationType:t}),n.onReturn=()=>{this.#r.sendMessage("endStream",{streamId:s}),i()},n}async streamGroups(e){return this.stream(e,v.Group)}async streamDms(e){return this.stream(e,v.Dm)}async streamAllMessages(e,t){const s=M(),n=new A,i=this.#r.handleStreamMessage(s,((t,s)=>{if(t)return n.callback(t,void 0),void e?.(t,void 0);const i=s?new Z(this.#r,s):void 0;n.callback(null,i),e?.(null,i)}));return await this.#r.sendMessage("streamAllMessages",{streamId:s,conversationType:t}),n.onReturn=()=>{this.#r.sendMessage("endStream",{streamId:s}),i()},n}async streamAllGroupMessages(e){return this.streamAllMessages(e,v.Group)}async streamAllDmMessages(e){return this.streamAllMessages(e,v.Dm)}async streamConsent(e){const t=M(),s=new A,n=this.#r.handleStreamMessage(t,((t,n)=>{s.callback(t,n??void 0),e?.(t,n??void 0)}));return await this.#r.sendMessage("streamConsent",{streamId:t}),s.onReturn=()=>{this.#r.sendMessage("endStream",{streamId:t}),n()},s}async streamPreferences(e){const t=M(),s=new A,n=this.#r.handleStreamMessage(t,((t,n)=>{s.callback(t,n??void 0),e?.(t,n??void 0)}));return await this.#r.sendMessage("streamPreferences",{streamId:t}),s.onReturn=()=>{this.#r.sendMessage("endStream",{streamId:t}),n()},s}}class ie extends S{#w;#M;#I;#b;#S;#A;#x;#f=!1;#k;options;constructor(t,s,i,a){super(new Worker(new URL("./workers/client",import.meta.url),{type:"module"}),void 0!==a?.loggingLevel&&"off"!==a.loggingLevel),this.#w=s,this.options=a,this.#b=i,this.#k=t,this.#I=new ne(this);const r=[new e,new n,...a?.codecs??[]];this.#M=new Map(r.map((e=>[e.contentType.toString(),e])))}get accountAddress(){return this.#w}async init(){const e=await this.sendMessage("init",{address:this.accountAddress,encryptionKey:this.#b,options:this.options});this.#S=e.inboxId,this.#A=e.installationId,this.#x=e.installationIdBytes,this.#f=!0}static async create(e,t,s){const n=await e.getAddress(),i=new ie(e,n,t,s);return await i.init(),s?.disableAutoRegister||await i.register(),i}get isReady(){return this.#f}get inboxId(){return this.#S}get installationId(){return this.#A}get installationIdBytes(){return this.#x}async unsafe_createInboxSignatureText(){return this.sendMessage("createInboxSignatureText",void 0)}async unsafe_addAccountSignatureText(e,t=!1){if(!t)throw new Error("Unable to create add account signature text, `allowInboxReassign` must be true");return this.sendMessage("addAccountSignatureText",{newAccountAddress:e})}async unsafe_removeAccountSignatureText(e){return this.sendMessage("removeAccountSignatureText",{accountAddress:e})}async unsafe_revokeAllOtherInstallationsSignatureText(){return this.sendMessage("revokeAllOtherInstallationsSignatureText",void 0)}async unsafe_revokeInstallationsSignatureText(e){return this.sendMessage("revokeInstallationsSignatureText",{installationIds:e})}async unsafe_addSignature(e,t,s){const n=await s.signMessage(t);"SCW"===s.walletType?await this.sendMessage("addScwSignature",{type:e,bytes:n,chainId:s.getChainId(),blockNumber:s.getBlockNumber?.()}):await this.sendMessage("addSignature",{type:e,bytes:n})}async unsafe_applySignatures(){return this.sendMessage("applySignatures",void 0)}async register(){const e=await this.unsafe_createInboxSignatureText();if(e)return await this.unsafe_addSignature(w.CreateInbox,e,this.#k),this.sendMessage("registerIdentity",void 0)}async unsafe_addAccount(e,t=!1){const s=await this.findInboxIdByAddress(await e.getAddress());if(s&&!t)throw new Error(`Signer address already associated with inbox ${s}`);const n=await this.unsafe_addAccountSignatureText(await e.getAddress(),!0);if(!n)throw new Error("Unable to generate add account signature text");await this.unsafe_addSignature(w.AddWallet,n,e),await this.unsafe_applySignatures()}async removeAccount(e){const t=await this.unsafe_removeAccountSignatureText(e);if(!t)throw new Error("Unable to generate remove account signature text");await this.unsafe_addSignature(w.RevokeWallet,t,this.#k),await this.unsafe_applySignatures()}async revokeAllOtherInstallations(){const e=await this.unsafe_revokeAllOtherInstallationsSignatureText();if(!e)throw new Error("Unable to generate revoke all other installations signature text");await this.unsafe_addSignature(w.RevokeInstallations,e,this.#k),await this.unsafe_applySignatures()}async revokeInstallations(e){const t=await this.unsafe_revokeInstallationsSignatureText(e);if(!t)throw new Error("Unable to generate revoke installations signature text");await this.unsafe_addSignature(w.RevokeInstallations,t,this.#k),await this.unsafe_applySignatures()}async isRegistered(){return this.sendMessage("isRegistered",void 0)}async canMessage(e){return this.sendMessage("canMessage",{accountAddresses:e})}static async canMessage(e,t){const s={walletType:"EOA",getAddress:()=>"0x0000000000000000000000000000000000000000",signMessage:()=>new Uint8Array};return(await ie.create(s,window.crypto.getRandomValues(new Uint8Array(32)),{disableAutoRegister:!0,env:t})).canMessage(e)}async findInboxIdByAddress(e){return this.sendMessage("findInboxIdByAddress",{address:e})}async inboxState(e){return this.sendMessage("inboxState",{refreshFromNetwork:e??!1})}async getLatestInboxState(e){return this.sendMessage("getLatestInboxState",{inboxId:e})}async setConsentStates(e){return this.sendMessage("setConsentStates",{records:e})}async getConsentState(e,t){return this.sendMessage("getConsentState",{entityType:e,entity:t})}get conversations(){return this.#I}codecFor(e){return this.#M.get(e.toString())}encodeContent(e,t){const s=this.codecFor(t);if(!s)throw new Error(`Codec not found for "${t.toString()}" content type`);const n=s.encode(e,this),i=s.fallback(e);return i&&(n.fallback=i),N(n)}decodeContent(e,s){const n=this.codecFor(s);if(!n)throw new Error(`Codec not found for "${s.toString()}" content type`);if(s.sameAs(t)&&e.kind!==m.MembershipChange)throw new Error("Error decoding group membership change");const i=T(e.content);return n.decode(i,this)}signWithInstallationKey(e){return this.sendMessage("signWithInstallationKey",{signatureText:e})}verifySignedWithInstallationKey(e,t){return this.sendMessage("verifySignedWithInstallationKey",{signatureText:e,signatureBytes:t})}verifySignedWithPublicKey(e,t,s){return this.sendMessage("verifySignedWithPublicKey",{signatureText:e,signatureBytes:t,publicKey:s})}}const ae=e=>{console.error(`Worker error on line ${e.lineno} in "${e.filename}"`),console.error(e.message)};class re{#e;#t;#s=new Map;constructor(e,t){this.#e=e,this.#e.addEventListener("message",this.handleMessage),this.#e.addEventListener("error",ae),this.#t=t}sendMessage(e,t){const s=M();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(new Error(t.error)):s.resolve(t.result))};close(){this.#e.removeEventListener("message",this.handleMessage),this.#e.removeEventListener("error",ae),this.#e.terminate()}}class oe extends re{#t;constructor(e){super(new Worker(new URL("./workers/utils",import.meta.url),{type:"module"}),e??!1),this.#t=e??!1}async generateInboxId(e){return this.sendMessage("generateInboxId",{address:e,enableLogging:this.#t})}async getInboxIdForAddress(e,t){return this.sendMessage("getInboxIdForAddress",{address:e,env:t,enableLogging:this.#t})}}const de={local:"http://localhost:5555",dev:"https://dev.xmtp.network",production:"https://production.xmtp.network"},ce={local:"http://localhost:5558",dev:"https://message-history.dev.ephemera.network",production:"https://message-history.production.ephemera.network"};export{de as ApiUrls,ie as Client,ee as Conversation,ne as Conversations,Z as DecodedMessage,te as Dm,se as Group,ce as HistorySyncUrls,oe as Utils,f as fromContentTypeId,G as fromEncodedContent,V as fromSafeConsent,P as fromSafeContentTypeId,j as fromSafeCreateDmOptions,O as fromSafeCreateGroupOptions,T as fromSafeEncodedContent,J as fromSafeGroupMember,U as fromSafeListConversationsOptions,L as fromSafeListMessagesOptions,Y as fromSafeMessageDisappearingSettings,_ as fromSafePermissionPolicySet,x as toContentTypeId,D as toEncodedContent,H as toSafeConsent,k as toSafeContentTypeId,W as toSafeConversation,K as toSafeCreateDmOptions,q as toSafeCreateGroupOptions,N as toSafeEncodedContent,z as toSafeGroupMember,Q as toSafeHmacKey,$ as toSafeInboxState,F as toSafeInstallation,E as toSafeListConversationsOptions,B as toSafeListMessagesOptions,C as toSafeMessage,X as toSafeMessageDisappearingSettings,R as toSafePermissionPolicySet};
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 a,ListMessagesOptions as r,ListConversationsOptions as o,PermissionPolicySet as d,CreateGroupOptions as c,CreateDMOptions as l,Consent as u,GroupMember as g,MessageDisappearingSettings as p,GroupPermissionsOptions as h,GroupMessageKind as m,DeliveryStatus as y,ConversationType as v,SignatureRequestType as w}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 M}from"uuid";import{ContentTypeId as I}from"@xmtp/content-type-primitives";const b=e=>{console.error(`Worker error on line ${e.lineno} in "${e.filename}"`),console.error(e.message)};class S{#e;#t;#s=new Map;constructor(e,t){this.#e=e,this.#e.addEventListener("message",this.handleMessage),this.#e.addEventListener("error",b),this.#t=t}sendMessage(e,t){const s=M();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(new Error(t.error)):s.resolve(t.result))};handleStreamMessage=(e,t)=>{const s=s=>{const n=s.data;n.streamId===e&&("error"in n?t(new Error(n.error),null):t(null,n.result))};return this.#e.addEventListener("message",s),()=>{this.#e.removeEventListener("message",s)}};close(){this.#e.removeEventListener("message",this.handleMessage),this.#e.removeEventListener("error",b),this.#e.terminate()}}class A{#n=!1;#i;#a;onReturn=void 0;constructor(){this.#a=[],this.#i=null,this.#n=!1}get isDone(){return this.#n}callback=(e,t)=>{if(e)throw e;this.#n||(this.#i?(this.#i({done:!1,value:t}),this.#i=null):this.#a.push(t))};next=()=>this.#a.length>0?Promise.resolve({done:!1,value:this.#a.shift()}):this.#n?Promise.resolve({done:!0,value:void 0}):new Promise((e=>{this.#i=e}));return=e=>(this.#n=!0,this.onReturn?.(),Promise.resolve({done:!0,value:e}));[Symbol.asyncIterator](){return this}}const x=e=>new I({authorityId:e.authorityId,typeId:e.typeId,versionMajor:e.versionMajor,versionMinor:e.versionMinor}),f=e=>new i(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 I({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}),G=e=>new a(f(e.type),new Map(Object.entries(e.parameters)),e.fallback,e.compression,e.content),N=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:N(D(e.content)),convoId:e.convoId,deliveryStatus:e.deliveryStatus,id:e.id,kind:e.kind,senderInboxId:e.senderInboxId,sentAtNs:e.sentAtNs}),B=e=>({contentTypes:e.contentTypes,deliveryStatus:e.deliveryStatus,direction:e.direction,limit:e.limit,sentAfterNs:e.sentAfterNs,sentBeforeNs:e.sentBeforeNs}),L=e=>new r(e.sentBeforeNs,e.sentAfterNs,e.limit,e.deliveryStatus,e.direction,e.contentTypes),E=e=>({consentStates:e.consentStates,createdAfterNs:e.createdAfterNs,createdBeforeNs:e.createdBeforeNs,includeDuplicateDms:e.includeDuplicateDms,limit:e.limit}),U=e=>new o(e.consentStates,e.createdAfterNs,e.createdBeforeNs,e.includeDuplicateDms??!1,e.limit),R=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}),_=e=>new d(e.addMemberPolicy,e.removeMemberPolicy,e.addAdminPolicy,e.removeAdminPolicy,e.updateGroupNamePolicy,e.updateGroupDescriptionPolicy,e.updateGroupImageUrlSquarePolicy,e.updateMessageDisappearingPolicy),q=e=>({customPermissionPolicySet:e.customPermissionPolicySet,description:e.groupDescription,imageUrlSquare:e.groupImageUrlSquare,messageDisappearingSettings:e.messageDisappearingSettings?X(e.messageDisappearingSettings):void 0,name:e.groupName,permissions:e.permissions}),O=e=>new c(e.permissions,e.name,e.imageUrlSquare,e.description,e.customPermissionPolicySet&&e.permissions===h.CustomPolicy?_(e.customPermissionPolicySet):void 0,e.messageDisappearingSettings?Y(e.messageDisappearingSettings):void 0),K=e=>({messageDisappearingSettings:e.messageDisappearingSettings?X(e.messageDisappearingSettings):void 0}),j=e=>new l(e.messageDisappearingSettings?Y(e.messageDisappearingSettings):void 0),W=async e=>{const t=e.id,s=e.name,n=e.imageUrl,i=e.description,a=e.permissions,r=e.isActive,o=e.addedByInboxId,d=await e.metadata(),c=e.admins,l=e.superAdmins,u=e.createdAtNs,g=a.policyType,p=a.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:r,addedByInboxId:o,metadata:d,admins:c,superAdmins:l,createdAtNs:u}},F=e=>({bytes:e.bytes,clientTimestampNs:e.clientTimestampNs,id:e.id}),$=e=>({accountAddresses:e.accountAddresses,inboxId:e.inboxId,installations:e.installations.map(F),recoveryAddress:e.recoveryAddress}),H=e=>({entity:e.entity,entityType:e.entityType,state:e.state}),V=e=>new u(e.entityType,e.state,e.entity),z=e=>({accountAddresses:e.accountAddresses,consentState:e.consentState,inboxId:e.inboxId,installationIds:e.installationIds,permissionLevel:e.permissionLevel}),J=e=>new g(e.inboxId,e.accountAddresses,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 p(e.fromNs,e.inNs);class Z{#r;content;contentType;conversationId;deliveryStatus;fallback;compression;id;kind;parameters;encodedContent;senderInboxId;sentAtNs;constructor(e,t){switch(this.#r=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,this.content=this.#r.decodeContent(t,this.contentType)}}class ee{#r;#o;#d;#c;#l;#u;constructor(e,t,s){this.#r=e,this.#o=t,this.#g(s)}#g(e){this.#d=e?.isActive??void 0,this.#c=e?.addedByInboxId??"",this.#l=e?.metadata??void 0,this.#u=e?.createdAtNs??void 0}get id(){return this.#o}get isActive(){return this.#d}get addedByInboxId(){return this.#c}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.#l}async members(){return this.#r.sendMessage("getGroupMembers",{id:this.#o})}async sync(){const e=await this.#r.sendMessage("syncGroup",{id:this.#o});return this.#g(e),e}async publishMessages(){return this.#r.sendMessage("publishGroupMessages",{id:this.#o})}async sendOptimistic(e,t){if("string"!=typeof e&&!t)throw new Error("Content type is required when sending content other than text");const n="string"==typeof e?this.#r.encodeContent(e,t??s):this.#r.encodeContent(e,t);return this.#r.sendMessage("sendOptimisticGroupMessage",{id:this.#o,content:n})}async send(e,t){if("string"!=typeof e&&!t)throw new Error("Content type is required when sending content other than text");const n="string"==typeof e?this.#r.encodeContent(e,t??s):this.#r.encodeContent(e,t);return this.#r.sendMessage("sendGroupMessage",{id:this.#o,content:n})}async messages(e){return(await this.#r.sendMessage("getGroupMessages",{id:this.#o,options:e})).map((e=>new Z(this.#r,e)))}async consentState(){return this.#r.sendMessage("getGroupConsentState",{id:this.#o})}async updateConsentState(e){return this.#r.sendMessage("updateGroupConsentState",{id:this.#o,state:e})}async messageDisappearingSettings(){return this.#r.sendMessage("getGroupMessageDisappearingSettings",{id:this.#o})}async updateMessageDisappearingSettings(e,t){return this.#r.sendMessage("updateGroupMessageDisappearingSettings",{id:this.#o,fromNs:e,inNs:t})}async removeMessageDisappearingSettings(){return this.#r.sendMessage("removeGroupMessageDisappearingSettings",{id:this.#o})}async isMessageDisappearingEnabled(){return this.#r.sendMessage("isGroupMessageDisappearingEnabled",{id:this.#o})}async stream(e){const t=M(),s=new A,n=this.#r.handleStreamMessage(t,((t,n)=>{if(t)return s.callback(t,void 0),void e?.(t,void 0);const i=n?new Z(this.#r,n):void 0;s.callback(null,i),e?.(null,i)}));return await this.#r.sendMessage("streamGroupMessages",{groupId:this.#o,streamId:t}),s.onReturn=()=>{this.#r.sendMessage("endStream",{streamId:t}),n()},s}}class te extends ee{#r;#o;constructor(e,t,s){super(e,t,s),this.#r=e,this.#o=t}async peerInboxId(){return this.#r.sendMessage("getDmPeerInboxId",{id:this.#o})}}class se extends ee{#r;#o;#p;#h;#m;#y=[];#v=[];#g(e){this.#p=e?.name??"",this.#h=e?.imageUrl??"",this.#m=e?.description??"",this.#y=e?.admins??[],this.#v=e?.superAdmins??[]}constructor(e,t,s){super(e,t,s),this.#r=e,this.#o=t,this.#g(s)}async sync(){const e=await super.sync();return this.#g(e),e}get name(){return this.#p}async updateName(e){await this.#r.sendMessage("updateGroupName",{id:this.#o,name:e}),this.#p=e}get imageUrl(){return this.#h}async updateImageUrl(e){await this.#r.sendMessage("updateGroupImageUrlSquare",{id:this.#o,imageUrl:e}),this.#h=e}get description(){return this.#m}async updateDescription(e){await this.#r.sendMessage("updateGroupDescription",{id:this.#o,description:e}),this.#m=e}get admins(){return this.#y}get superAdmins(){return this.#v}async listAdmins(){const e=await this.#r.sendMessage("getGroupAdmins",{id:this.#o});return this.#y=e,e}async listSuperAdmins(){const e=await this.#r.sendMessage("getGroupSuperAdmins",{id:this.#o});return this.#v=e,e}async permissions(){return this.#r.sendMessage("getGroupPermissions",{id:this.#o})}async updatePermission(e,t,s){return this.#r.sendMessage("updateGroupPermissionPolicy",{id:this.#o,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 addMembers(e){return this.#r.sendMessage("addGroupMembers",{id:this.#o,accountAddresses:e})}async addMembersByInboxId(e){return this.#r.sendMessage("addGroupMembersByInboxId",{id:this.#o,inboxIds:e})}async removeMembers(e){return this.#r.sendMessage("removeGroupMembers",{id:this.#o,accountAddresses:e})}async removeMembersByInboxId(e){return this.#r.sendMessage("removeGroupMembersByInboxId",{id:this.#o,inboxIds:e})}async addAdmin(e){return this.#r.sendMessage("addGroupAdmin",{id:this.#o,inboxId:e})}async removeAdmin(e){return this.#r.sendMessage("removeGroupAdmin",{id:this.#o,inboxId:e})}async addSuperAdmin(e){return this.#r.sendMessage("addGroupSuperAdmin",{id:this.#o,inboxId:e})}async removeSuperAdmin(e){return this.#r.sendMessage("removeGroupSuperAdmin",{id:this.#o,inboxId:e})}}class ne{#r;constructor(e){this.#r=e}async sync(){return this.#r.sendMessage("syncConversations",void 0)}async syncAll(e){return this.#r.sendMessage("syncAllConversations",{consentStates:e})}async getConversationById(e){const t=await this.#r.sendMessage("getConversationById",{id:e});if(t)return"group"===t.metadata.conversationType?new se(this.#r,t.id,t):new te(this.#r,t.id,t)}async getMessageById(e){const t=await this.#r.sendMessage("getMessageById",{id:e});return t?new Z(this.#r,t):void 0}async getDmByInboxId(e){const t=await this.#r.sendMessage("getDmByInboxId",{inboxId:e});return t?new te(this.#r,t.id,t):void 0}async list(e){return(await this.#r.sendMessage("getConversations",{options:e})).map((e=>"group"===e.metadata.conversationType?new se(this.#r,e.id,e):new te(this.#r,e.id,e)))}async listGroups(e){return(await this.#r.sendMessage("getGroups",{options:e})).map((e=>new se(this.#r,e.id,e)))}async listDms(e){return(await this.#r.sendMessage("getDms",{options:e})).map((e=>new te(this.#r,e.id,e)))}async newGroup(e,t){const s=await this.#r.sendMessage("newGroup",{accountAddresses:e,options:t});return new se(this.#r,s.id,s)}async newGroupByInboxIds(e,t){const s=await this.#r.sendMessage("newGroupByInboxIds",{inboxIds:e,options:t});return new se(this.#r,s.id,s)}async newDm(e,t){const s=await this.#r.sendMessage("newDm",{accountAddress:e,options:t});return new te(this.#r,s.id,s)}async newDmByInboxId(e,t){const s=await this.#r.sendMessage("newDmByInboxId",{inboxId:e,options:t});return new te(this.#r,s.id,s)}async getHmacKeys(){return this.#r.sendMessage("getHmacKeys",void 0)}async stream(e,t){const s=M(),n=new A,i=this.#r.handleStreamMessage(s,((t,s)=>{if(t)return n.callback(t,void 0),void e?.(t,void 0);let i;s&&(i="group"===s.metadata.conversationType?new se(this.#r,s.id,s):new te(this.#r,s.id,s)),n.callback(null,i),e?.(null,i)}));return await this.#r.sendMessage("streamAllGroups",{streamId:s,conversationType:t}),n.onReturn=()=>{this.#r.sendMessage("endStream",{streamId:s}),i()},n}async streamGroups(e){return this.stream(e,v.Group)}async streamDms(e){return this.stream(e,v.Dm)}async streamAllMessages(e,t){const s=M(),n=new A,i=this.#r.handleStreamMessage(s,((t,s)=>{if(t)return n.callback(t,void 0),void e?.(t,void 0);const i=s?new Z(this.#r,s):void 0;n.callback(null,i),e?.(null,i)}));return await this.#r.sendMessage("streamAllMessages",{streamId:s,conversationType:t}),n.onReturn=()=>{this.#r.sendMessage("endStream",{streamId:s}),i()},n}async streamAllGroupMessages(e){return this.streamAllMessages(e,v.Group)}async streamAllDmMessages(e){return this.streamAllMessages(e,v.Dm)}async streamConsent(e){const t=M(),s=new A,n=this.#r.handleStreamMessage(t,((t,n)=>{s.callback(t,n??void 0),e?.(t,n??void 0)}));return await this.#r.sendMessage("streamConsent",{streamId:t}),s.onReturn=()=>{this.#r.sendMessage("endStream",{streamId:t}),n()},s}async streamPreferences(e){const t=M(),s=new A,n=this.#r.handleStreamMessage(t,((t,n)=>{s.callback(t,n??void 0),e?.(t,n??void 0)}));return await this.#r.sendMessage("streamPreferences",{streamId:t}),s.onReturn=()=>{this.#r.sendMessage("endStream",{streamId:t}),n()},s}}class ie extends S{#w;#M;#I;#b;#S;#A;#x;#f=!1;#k;options;constructor(t,s,i,a){super(new Worker(new URL("./workers/client",import.meta.url),{type:"module"}),void 0!==a?.loggingLevel&&"off"!==a.loggingLevel),this.#w=s,this.options=a,this.#b=i,this.#k=t,this.#I=new ne(this);const r=[new e,new n,...a?.codecs??[]];this.#M=new Map(r.map((e=>[e.contentType.toString(),e])))}get accountAddress(){return this.#w}async init(){const e=await this.sendMessage("init",{address:this.accountAddress,encryptionKey:this.#b,options:this.options});this.#S=e.inboxId,this.#A=e.installationId,this.#x=e.installationIdBytes,this.#f=!0}static async create(e,t,s){const n=await e.getAddress(),i=new ie(e,n,t,s);return await i.init(),s?.disableAutoRegister||await i.register(),i}get isReady(){return this.#f}get inboxId(){return this.#S}get installationId(){return this.#A}get installationIdBytes(){return this.#x}async unsafe_createInboxSignatureText(){return this.sendMessage("createInboxSignatureText",void 0)}async unsafe_addAccountSignatureText(e,t=!1){if(!t)throw new Error("Unable to create add account signature text, `allowInboxReassign` must be true");return this.sendMessage("addAccountSignatureText",{newAccountAddress:e})}async unsafe_removeAccountSignatureText(e){return this.sendMessage("removeAccountSignatureText",{accountAddress:e})}async unsafe_revokeAllOtherInstallationsSignatureText(){return this.sendMessage("revokeAllOtherInstallationsSignatureText",void 0)}async unsafe_revokeInstallationsSignatureText(e){return this.sendMessage("revokeInstallationsSignatureText",{installationIds:e})}async unsafe_addSignature(e,t,s){const n=await s.signMessage(t);"SCW"===s.walletType?await this.sendMessage("addScwSignature",{type:e,bytes:n,chainId:s.getChainId(),blockNumber:s.getBlockNumber?.()}):await this.sendMessage("addSignature",{type:e,bytes:n})}async unsafe_applySignatures(){return this.sendMessage("applySignatures",void 0)}async register(){const e=await this.unsafe_createInboxSignatureText();if(e)return await this.unsafe_addSignature(w.CreateInbox,e,this.#k),this.sendMessage("registerIdentity",void 0)}async unsafe_addAccount(e,t=!1){const s=await this.findInboxIdByAddress(await e.getAddress());if(s&&!t)throw new Error(`Signer address already associated with inbox ${s}`);const n=await this.unsafe_addAccountSignatureText(await e.getAddress(),!0);if(!n)throw new Error("Unable to generate add account signature text");await this.unsafe_addSignature(w.AddWallet,n,e),await this.unsafe_applySignatures()}async removeAccount(e){const t=await this.unsafe_removeAccountSignatureText(e);if(!t)throw new Error("Unable to generate remove account signature text");await this.unsafe_addSignature(w.RevokeWallet,t,this.#k),await this.unsafe_applySignatures()}async revokeAllOtherInstallations(){const e=await this.unsafe_revokeAllOtherInstallationsSignatureText();if(!e)throw new Error("Unable to generate revoke all other installations signature text");await this.unsafe_addSignature(w.RevokeInstallations,e,this.#k),await this.unsafe_applySignatures()}async revokeInstallations(e){const t=await this.unsafe_revokeInstallationsSignatureText(e);if(!t)throw new Error("Unable to generate revoke installations signature text");await this.unsafe_addSignature(w.RevokeInstallations,t,this.#k),await this.unsafe_applySignatures()}async isRegistered(){return this.sendMessage("isRegistered",void 0)}async canMessage(e){return this.sendMessage("canMessage",{accountAddresses:e})}static async canMessage(e,t){const s={walletType:"EOA",getAddress:()=>"0x0000000000000000000000000000000000000000",signMessage:()=>new Uint8Array};return(await ie.create(s,window.crypto.getRandomValues(new Uint8Array(32)),{disableAutoRegister:!0,env:t})).canMessage(e)}async findInboxIdByAddress(e){return this.sendMessage("findInboxIdByAddress",{address:e})}async inboxState(e){return this.sendMessage("inboxState",{refreshFromNetwork:e??!1})}async getLatestInboxState(e){return this.sendMessage("getLatestInboxState",{inboxId:e})}async setConsentStates(e){return this.sendMessage("setConsentStates",{records:e})}async getConsentState(e,t){return this.sendMessage("getConsentState",{entityType:e,entity:t})}get conversations(){return this.#I}codecFor(e){return this.#M.get(e.toString())}encodeContent(e,t){const s=this.codecFor(t);if(!s)throw new Error(`Codec not found for "${t.toString()}" content type`);const n=s.encode(e,this),i=s.fallback(e);return i&&(n.fallback=i),N(n)}decodeContent(e,s){const n=this.codecFor(s);if(!n)throw new Error(`Codec not found for "${s.toString()}" content type`);if(s.sameAs(t)&&e.kind!==m.MembershipChange)throw new Error("Error decoding group membership change");const i=T(e.content);return n.decode(i,this)}signWithInstallationKey(e){return this.sendMessage("signWithInstallationKey",{signatureText:e})}verifySignedWithInstallationKey(e,t){return this.sendMessage("verifySignedWithInstallationKey",{signatureText:e,signatureBytes:t})}verifySignedWithPublicKey(e,t,s){return this.sendMessage("verifySignedWithPublicKey",{signatureText:e,signatureBytes:t,publicKey:s})}}const ae=e=>{console.error(`Worker error on line ${e.lineno} in "${e.filename}"`),console.error(e.message)};class re{#e;#t;#s=new Map;constructor(e,t){this.#e=e,this.#e.addEventListener("message",this.handleMessage),this.#e.addEventListener("error",ae),this.#t=t}sendMessage(e,t){const s=M();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(new Error(t.error)):s.resolve(t.result))};close(){this.#e.removeEventListener("message",this.handleMessage),this.#e.removeEventListener("error",ae),this.#e.terminate()}}class oe extends re{#t;constructor(e){super(new Worker(new URL("./workers/utils",import.meta.url),{type:"module"}),e??!1),this.#t=e??!1}async generateInboxId(e){return this.sendMessage("generateInboxId",{address:e,enableLogging:this.#t})}async getInboxIdForAddress(e,t){return this.sendMessage("getInboxIdForAddress",{address:e,env:t,enableLogging:this.#t})}}const de={local:"http://localhost:5555",dev:"https://dev.xmtp.network",production:"https://production.xmtp.network"},ce={local:"http://localhost:5558",dev:"https://message-history.dev.ephemera.network",production:"https://message-history.production.ephemera.network"};export{de as ApiUrls,ie as Client,ee as Conversation,ne as Conversations,Z as DecodedMessage,te as Dm,se as Group,ce as HistorySyncUrls,oe as Utils,f as fromContentTypeId,G as fromEncodedContent,V as fromSafeConsent,P as fromSafeContentTypeId,j as fromSafeCreateDmOptions,O as fromSafeCreateGroupOptions,T as fromSafeEncodedContent,J as fromSafeGroupMember,U as fromSafeListConversationsOptions,L as fromSafeListMessagesOptions,Y as fromSafeMessageDisappearingSettings,_ as fromSafePermissionPolicySet,x as toContentTypeId,D as toEncodedContent,H as toSafeConsent,k as toSafeContentTypeId,W as toSafeConversation,K as toSafeCreateDmOptions,q as toSafeCreateGroupOptions,N as toSafeEncodedContent,z as toSafeGroupMember,Q as toSafeHmacKey,$ as toSafeInboxState,F as toSafeInstallation,E as toSafeListConversationsOptions,B as toSafeListMessagesOptions,C as toSafeMessage,X as toSafeMessageDisappearingSettings,R as toSafePermissionPolicySet};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- import{ContentTypeId as e}from"@xmtp/content-type-primitives";import t,{EncodedContent as s,ContentTypeId as n,ListMessagesOptions as i,Consent as r,ListConversationsOptions as a,CreateGroupOptions as o,GroupPermissionsOptions as c,CreateDMOptions as d,MessageDisappearingSettings as u,PermissionPolicySet as p,getInboxIdForAddress as l,generateInboxId as m,createClient as g,LogOptions as y,ConversationType as v,verifySignedWithPublicKey as I}from"@xmtp/wasm-bindings";const b=e=>{return new s((t=e.type,new n(t.authorityId,t.typeId,t.versionMajor,t.versionMinor)),new Map(Object.entries(e.parameters)),e.fallback,e.compression,e.content);var t},h=e=>{return{type:(t=e.type,{authorityId:t.authorityId,typeId:t.typeId,versionMajor:t.versionMajor,versionMinor:t.versionMinor}),parameters:e.parameters,fallback:e.fallback,compression:e.compression,content:e.content};var t},w=t=>{return{type:(s=t.type,new e({authorityId:s.authorityId,typeId:s.typeId,versionMajor:s.versionMajor,versionMinor:s.versionMinor})),parameters:t.parameters,fallback:t.fallback,compression:t.compression,content:t.content};var s},S=t=>{return{content:h((s=t.content,{type:(n=s.type,new e({authorityId:n.authorityId,typeId:n.typeId,versionMajor:n.versionMajor,versionMinor:n.versionMinor})),parameters:Object.fromEntries(s.parameters),fallback:s.fallback,compression:s.compression,content:s.content})),convoId:t.convoId,deliveryStatus:t.deliveryStatus,id:t.id,kind:t.kind,senderInboxId:t.senderInboxId,sentAtNs:t.sentAtNs};var s,n},x=e=>new a(e.consentStates,e.createdAfterNs,e.createdBeforeNs,e.includeDuplicateDms??!1,e.limit),k=e=>{return new o(e.permissions,e.name,e.imageUrlSquare,e.description,e.customPermissionPolicySet&&e.permissions===c.CustomPolicy?(t=e.customPermissionPolicySet,new p(t.addMemberPolicy,t.removeMemberPolicy,t.addAdminPolicy,t.removeAdminPolicy,t.updateGroupNamePolicy,t.updateGroupDescriptionPolicy,t.updateGroupImageUrlSquarePolicy,t.updateMessageDisappearingPolicy)):void 0,e.messageDisappearingSettings?T(e.messageDisappearingSettings):void 0);var t},A=e=>new d(e.messageDisappearingSettings?T(e.messageDisappearingSettings):void 0),M=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,u=e.superAdmins,p=e.createdAtNs,l=r.policyType,m=r.policySet;return{id:t,name:s,imageUrl:n,description:i,permissions:{policyType:l,policySet:{addAdminPolicy:m.addAdminPolicy,addMemberPolicy:m.addMemberPolicy,removeAdminPolicy:m.removeAdminPolicy,removeMemberPolicy:m.removeMemberPolicy,updateGroupDescriptionPolicy:m.updateGroupDescriptionPolicy,updateGroupImageUrlSquarePolicy:m.updateGroupImageUrlSquarePolicy,updateGroupNamePolicy:m.updateGroupNamePolicy,updateMessageDisappearingPolicy:m.updateMessageDisappearingPolicy}},isActive:a,addedByInboxId:o,metadata:c,admins:d,superAdmins:u,createdAtNs:p}},G=e=>({bytes:e.bytes,clientTimestampNs:e.clientTimestampNs,id:e.id}),f=e=>({accountAddresses:e.accountAddresses,inboxId:e.inboxId,installations:e.installations.map(G),recoveryAddress:e.recoveryAddress}),D=e=>({entity:e.entity,entityType:e.entityType,state:e.state}),P=e=>new r(e.entityType,e.state,e.entity),B=e=>({key:e.key,epoch:e.epoch}),T=e=>new u(e.fromNs,e.inNs),N={local:"http://localhost:5555",dev:"https://dev.xmtp.network",production:"https://production.xmtp.network"},C={local:"http://localhost:5558",dev:"https://message-history.dev.ephemera.network",production:"https://message-history.production.ephemera.network"};class K{#e;#t;constructor(e,t){this.#e=e,this.#t=t}get id(){return this.#t.id()}get name(){return this.#t.groupName()}async updateName(e){return this.#t.updateGroupName(e)}get imageUrl(){return this.#t.groupImageUrlSquare()}async updateImageUrl(e){return this.#t.updateGroupImageUrlSquare(e)}get description(){return this.#t.groupDescription()}async updateDescription(e){return this.#t.updateGroupDescription(e)}get isActive(){return this.#t.isActive()}get addedByInboxId(){return this.#t.addedByInboxId()}get createdAtNs(){return this.#t.createdAtNs()}async metadata(){const e=await this.#t.groupMetadata();return{creatorInboxId:e.creatorInboxId(),conversationType:e.conversationType()}}async members(){return(await this.#t.listMembers()).map((e=>(e=>({accountAddresses:e.accountAddresses,consentState:e.consentState,inboxId:e.inboxId,installationIds:e.installationIds,permissionLevel:e.permissionLevel}))(e)))}get admins(){return this.#t.adminList()}get superAdmins(){return this.#t.superAdminList()}get permissions(){const e=this.#t.groupPermissions();return{policyType:e.policyType(),policySet:e.policySet()}}async updatePermission(e,t,s){return this.#t.updatePermissionPolicy(e,t,s)}isAdmin(e){return this.#t.isAdmin(e)}isSuperAdmin(e){return this.#t.isSuperAdmin(e)}async sync(){return this.#t.sync()}async addMembers(e){return this.#t.addMembers(e)}async addMembersByInboxId(e){return this.#t.addMembersByInboxId(e)}async removeMembers(e){return this.#t.removeMembers(e)}async removeMembersByInboxId(e){return this.#t.removeMembersByInboxId(e)}async addAdmin(e){return this.#t.addAdmin(e)}async removeAdmin(e){return this.#t.removeAdmin(e)}async addSuperAdmin(e){return this.#t.addSuperAdmin(e)}async removeSuperAdmin(e){return this.#t.removeSuperAdmin(e)}async publishMessages(){return this.#t.publishMessages()}sendOptimistic(e){return this.#t.sendOptimistic(e)}async send(e){return this.#t.send(e)}async messages(e){return this.#t.findMessages(e?(e=>new i(e.sentBeforeNs,e.sentAfterNs,e.limit,e.deliveryStatus,e.direction,e.contentTypes))(e):void 0)}get consentState(){return this.#t.consentState()}updateConsentState(e){this.#t.updateConsentState(e)}dmPeerInboxId(){return this.#t.dmPeerInboxId()}messageDisappearingSettings(){return this.#t.messageDisappearingSettings()}async updateMessageDisappearingSettings(e,t){const s=new u(e,t);return this.#t.updateMessageDisappearingSettings(s)}async removeMessageDisappearingSettings(){return this.#t.removeMessageDisappearingSettings()}isMessageDisappearingEnabled(){return this.#t.isMessageDisappearingEnabled()}stream(e){return this.#t.stream({on_message:t=>{e?.(null,t)},on_error:t=>{e?.(t,void 0)}})}}class L{#e;#s;constructor(e,t){this.#e=e,this.#s=t}async sync(){return this.#s.sync()}async syncAll(e){return this.#s.syncAllConversations(e)}getConversationById(e){try{const t=this.#s.findGroupById(e);return new K(this.#e,t)}catch{return}}getMessageById(e){try{return this.#s.findMessageById(e)}catch{return}}getDmByInboxId(e){try{const t=this.#s.findDmByTargetInboxId(e);return new K(this.#e,t)}catch{return}}list(e){return this.#s.list(e?x(e):void 0).map((e=>new K(this.#e,e.conversation)))}listGroups(e){return this.#s.listGroups(e?x(e):void 0).map((e=>new K(this.#e,e.conversation)))}listDms(e){return this.#s.listDms(e?x(e):void 0).map((e=>new K(this.#e,e.conversation)))}async newGroup(e,t){const s=await this.#s.createGroup(e,t?k(t):void 0);return new K(this.#e,s)}async newGroupByInboxIds(e,t){const s=await this.#s.createGroupByInboxIds(e,t?k(t):void 0);return new K(this.#e,s)}async newDm(e,t){const s=await this.#s.createDm(e,t?A(t):void 0);return new K(this.#e,s)}async newDmByInboxId(e,t){const s=await this.#s.createDmByInboxId(e,t?A(t):void 0);return new K(this.#e,s)}getHmacKeys(){return this.#s.getHmacKeys()}stream(e,t){return this.#s.stream({on_conversation:t=>{e?.(null,t)},on_error:t=>{e?.(t,void 0)}},t)}streamGroups(e){return this.#s.stream(e,v.Group)}streamDms(e){return this.#s.stream(e,v.Dm)}streamAllMessages(e,t){return this.#s.streamAllMessages({on_message:t=>{e?.(null,t)},on_error:t=>{e?.(t,void 0)}},t)}streamConsent(e){return this.#s.streamConsent({on_consent_update:t=>{e?.(null,t)},on_error:t=>{e?.(t,void 0)}})}streamPreferences(e){return this.#s.streamPreferences({on_user_preference_update:t=>{e?.(null,t)},on_error:t=>{e?.(t,void 0)}})}}class U{#e;#s;#n;constructor(e){this.#e=e,this.#n=e.accountAddress,this.#s=new L(this,e.conversations())}static async create(e,s,n){const i=await(async(e,s,n)=>{await t();const i=n?.apiUrl||N[n?.env||"dev"],r=n?.dbPath||`xmtp-${n?.env||"dev"}-${e}.db3`,a=await l(i,e)||m(e),o=n&&(void 0!==n.loggingLevel||n.structuredLogging||n.performanceLogging);return g(i,a,e,r,s,n?.historySyncUrl||C[n?.env||"dev"],o?new y(n.structuredLogging??!1,n.performanceLogging??!1,n.loggingLevel):void 0)})(e,s,n);return new U(i)}get accountAddress(){return this.#n}get inboxId(){return this.#e.inboxId}get installationId(){return this.#e.installationId}get installationIdBytes(){return this.#e.installationIdBytes}get isRegistered(){return this.#e.isRegistered}createInboxSignatureText(){try{return this.#e.createInboxSignatureText()}catch{return}}async addAccountSignatureText(e){try{return await this.#e.addWalletSignatureText(e)}catch{return}}async removeAccountSignatureText(e){try{return await this.#e.revokeWalletSignatureText(e)}catch{return}}async revokeAllAOtherInstallationsSignatureText(){try{return await this.#e.revokeAllOtherInstallationsSignatureText()}catch{return}}async revokeInstallationsSignatureText(e){try{return await this.#e.revokeInstallationsSignatureText(e)}catch{return}}async addSignature(e,t){return this.#e.addSignature(e,t)}async addScwSignature(e,t,s,n){return this.#e.addScwSignature(e,t,s,n)}async applySignatures(){return this.#e.applySignatureRequests()}async canMessage(e){return this.#e.canMessage(e)}async registerIdentity(){return this.#e.registerIdentity()}async findInboxIdByAddress(e){return this.#e.findInboxIdByAddress(e)}async inboxState(e){return this.#e.inboxState(e)}async getLatestInboxState(e){return this.#e.getLatestInboxState(e)}async setConsentStates(e){return this.#e.setConsentStates(e.map(P))}async getConsentState(e,t){return this.#e.getConsentState(e,t)}get conversations(){return this.#s}signWithInstallationKey(e){return this.#e.signWithInstallationKey(e)}verifySignedWithInstallationKey(e,t){try{return this.#e.verifySignedWithInstallationKey(e,t),!0}catch{return!1}}verifySignedWithPublicKey(e,t,s){try{return I(e,t,s),!0}catch{return!1}}}let W,_=!1;const O=new Map,j=e=>{self.postMessage(e)},E=e=>{self.postMessage(e)},q=e=>{self.postMessage(e)};self.onmessage=async e=>{const{action:t,id:s,data:n}=e.data;_&&console.log("client worker received event data",e.data);try{if("init"===t&&!W)return W=await U.create(n.address,n.encryptionKey,n.options),_=void 0!==n.options?.loggingLevel&&"off"!==n.options.loggingLevel,void j({id:s,action:t,result:{inboxId:W.inboxId,installationId:W.installationId,installationIdBytes:W.installationIdBytes}});if(!W)throw new Error("Client not initialized");const e=W,i=t=>{const s=e.conversations.getConversationById(t);if(!s)throw new Error(`Group "${t}" not found`);return s};switch(t){case"endStream":{const e=O.get(n.streamId);if(!e)throw new Error(`Stream "${n.streamId}" not found`);e.end(),O.delete(n.streamId),j({id:s,action:t,result:void 0});break}case"createInboxSignatureText":{const n=e.createInboxSignatureText();j({id:s,action:t,result:n});break}case"addAccountSignatureText":{const i=await e.addAccountSignatureText(n.newAccountAddress);j({id:s,action:t,result:i});break}case"removeAccountSignatureText":{const i=await e.removeAccountSignatureText(n.accountAddress);j({id:s,action:t,result:i});break}case"revokeAllOtherInstallationsSignatureText":{const n=await e.revokeAllAOtherInstallationsSignatureText();j({id:s,action:t,result:n});break}case"revokeInstallationsSignatureText":{const i=await e.revokeInstallationsSignatureText(n.installationIds);j({id:s,action:t,result:i});break}case"addSignature":await e.addSignature(n.type,n.bytes),j({id:s,action:t,result:void 0});break;case"addScwSignature":await e.addScwSignature(n.type,n.bytes,n.chainId,n.blockNumber),j({id:s,action:t,result:void 0});break;case"applySignatures":await e.applySignatures(),j({id:s,action:t,result:void 0});break;case"registerIdentity":await e.registerIdentity(),j({id:s,action:t,result:void 0});break;case"isRegistered":{const n=e.isRegistered;j({id:s,action:t,result:n});break}case"canMessage":{const i=await e.canMessage(n.accountAddresses);j({id:s,action:t,result:i});break}case"inboxState":{const i=await e.inboxState(n.refreshFromNetwork),r=f(i);j({id:s,action:t,result:r});break}case"getLatestInboxState":{const i=await e.getLatestInboxState(n.inboxId),r=f(i);j({id:s,action:t,result:r});break}case"setConsentStates":await e.setConsentStates(n.records),j({id:s,action:t,result:void 0});break;case"getConsentState":{const i=await e.getConsentState(n.entityType,n.entity);j({id:s,action:t,result:i});break}case"findInboxIdByAddress":{const i=await e.findInboxIdByAddress(n.address);j({id:s,action:t,result:i});break}case"signWithInstallationKey":{const i=e.signWithInstallationKey(n.signatureText);j({id:s,action:t,result:i});break}case"verifySignedWithInstallationKey":{const i=e.verifySignedWithInstallationKey(n.signatureText,n.signatureBytes);j({id:s,action:t,result:i});break}case"verifySignedWithPublicKey":{const i=e.verifySignedWithPublicKey(n.signatureText,n.signatureBytes,n.publicKey);j({id:s,action:t,result:i});break}case"streamAllGroups":{const i=async(t,s)=>{t?q({type:"group",streamId:n.streamId,error:t.message}):E({type:"group",streamId:n.streamId,result:s?await M(new K(e,s)):void 0})},r=e.conversations.stream(i,n.conversationType);O.set(n.streamId,r),j({id:s,action:t,result:void 0});break}case"streamAllMessages":{const i=(e,t)=>{e?q({type:"message",streamId:n.streamId,error:e.message}):E({type:"message",streamId:n.streamId,result:t?S(t):void 0})},r=e.conversations.streamAllMessages(i,n.conversationType);O.set(n.streamId,r),j({id:s,action:t,result:void 0});break}case"streamConsent":{const i=(e,t)=>{e?q({type:"consent",streamId:n.streamId,error:e.message}):E({type:"consent",streamId:n.streamId,result:t?.map(D)??[]})},r=e.conversations.streamConsent(i);O.set(n.streamId,r),j({id:s,action:t,result:void 0});break}case"streamPreferences":{const i=(e,t)=>{e?q({type:"preferences",streamId:n.streamId,error:e.message}):E({type:"preferences",streamId:n.streamId,result:t??void 0})},r=e.conversations.streamPreferences(i);O.set(n.streamId,r),j({id:s,action:t,result:void 0});break}case"getConversations":{const i=e.conversations.list(n.options),r=await Promise.all(i.map((e=>M(e))));j({id:s,action:t,result:r});break}case"getGroups":{const i=e.conversations.listGroups(n.options),r=await Promise.all(i.map((e=>M(e))));j({id:s,action:t,result:r});break}case"getDms":{const i=e.conversations.listDms(n.options),r=await Promise.all(i.map((e=>M(e))));j({id:s,action:t,result:r});break}case"newGroup":{const i=await e.conversations.newGroup(n.accountAddresses,n.options),r=await M(i);j({id:s,action:t,result:r});break}case"newGroupByInboxIds":{const i=await e.conversations.newGroupByInboxIds(n.inboxIds,n.options),r=await M(i);j({id:s,action:t,result:r});break}case"newDm":{const i=await e.conversations.newDm(n.accountAddress,n.options),r=await M(i);j({id:s,action:t,result:r});break}case"newDmByInboxId":{const i=await e.conversations.newDmByInboxId(n.inboxId,n.options),r=await M(i);j({id:s,action:t,result:r});break}case"syncConversations":await e.conversations.sync(),j({id:s,action:t,result:void 0});break;case"syncAllConversations":await e.conversations.syncAll(n.consentStates),j({id:s,action:t,result:void 0});break;case"getConversationById":{const i=e.conversations.getConversationById(n.id),r=i?await M(i):void 0;j({id:s,action:t,result:r});break}case"getMessageById":{const i=e.conversations.getMessageById(n.id),r=i?S(i):void 0;j({id:s,action:t,result:r});break}case"getDmByInboxId":{const i=e.conversations.getDmByInboxId(n.inboxId),r=i?await M(i):void 0;j({id:s,action:t,result:r});break}case"getHmacKeys":{const n=e.conversations.getHmacKeys(),i=Object.fromEntries(Array.from(n.entries()).map((([e,t])=>[e,t.map(B)])));j({id:s,action:t,result:i});break}case"syncGroup":{const e=i(n.id);await e.sync();const r=await M(e);j({id:s,action:t,result:r});break}case"updateGroupName":{const e=i(n.id);await e.updateName(n.name),j({id:s,action:t,result:void 0});break}case"updateGroupDescription":{const e=i(n.id);await e.updateDescription(n.description),j({id:s,action:t,result:void 0});break}case"updateGroupImageUrlSquare":{const e=i(n.id);await e.updateImageUrl(n.imageUrl),j({id:s,action:t,result:void 0});break}case"sendGroupMessage":{const e=i(n.id),r=await e.send(b(w(n.content)));j({id:s,action:t,result:r});break}case"sendOptimisticGroupMessage":{const e=i(n.id).sendOptimistic(b(w(n.content)));j({id:s,action:t,result:e});break}case"publishGroupMessages":{const e=i(n.id);await e.publishMessages(),j({id:s,action:t,result:void 0});break}case"getGroupMessages":{const e=i(n.id),r=(await e.messages(n.options)).map((e=>S(e)));j({id:s,action:t,result:r});break}case"getGroupMembers":{const e=i(n.id),r=await e.members();j({id:s,action:t,result:r});break}case"getGroupAdmins":{const e=i(n.id).admins;j({id:s,action:t,result:e});break}case"getGroupSuperAdmins":{const e=i(n.id).superAdmins;j({id:s,action:t,result:e});break}case"getGroupConsentState":{const e=i(n.id).consentState;j({id:s,action:t,result:e});break}case"updateGroupConsentState":i(n.id).updateConsentState(n.state),j({id:s,action:t,result:void 0});break;case"addGroupAdmin":{const e=i(n.id);await e.addAdmin(n.inboxId),j({id:s,action:t,result:void 0});break}case"removeGroupAdmin":{const e=i(n.id);await e.removeAdmin(n.inboxId),j({id:s,action:t,result:void 0});break}case"addGroupSuperAdmin":{const e=i(n.id);await e.addSuperAdmin(n.inboxId),j({id:s,action:t,result:void 0});break}case"removeGroupSuperAdmin":{const e=i(n.id);await e.removeSuperAdmin(n.inboxId),j({id:s,action:t,result:void 0});break}case"addGroupMembers":{const e=i(n.id);await e.addMembers(n.accountAddresses),j({id:s,action:t,result:void 0});break}case"removeGroupMembers":{const e=i(n.id);await e.removeMembers(n.accountAddresses),j({id:s,action:t,result:void 0});break}case"addGroupMembersByInboxId":{const e=i(n.id);await e.addMembersByInboxId(n.inboxIds),j({id:s,action:t,result:void 0});break}case"removeGroupMembersByInboxId":{const e=i(n.id);await e.removeMembersByInboxId(n.inboxIds),j({id:s,action:t,result:void 0});break}case"isGroupAdmin":{const e=i(n.id).isAdmin(n.inboxId);j({id:s,action:t,result:e});break}case"isGroupSuperAdmin":{const e=i(n.id).isSuperAdmin(n.inboxId);j({id:s,action:t,result:e});break}case"getDmPeerInboxId":{const e=i(n.id).dmPeerInboxId();j({id:s,action:t,result:e});break}case"updateGroupPermissionPolicy":{const e=i(n.id);await e.updatePermission(n.permissionType,n.policy,n.metadataField),j({id:s,action:t,result:void 0});break}case"getGroupPermissions":{const e=i(n.id),r=(await M(e)).permissions;j({id:s,action:t,result:r});break}case"getGroupMessageDisappearingSettings":{const e=i(n.id).messageDisappearingSettings(),r=e?(e=>({fromNs:e.fromNs,inNs:e.inNs}))(e):void 0;j({id:s,action:t,result:r});break}case"updateGroupMessageDisappearingSettings":{const e=i(n.id);await e.updateMessageDisappearingSettings(n.fromNs,n.inNs),j({id:s,action:t,result:void 0});break}case"removeGroupMessageDisappearingSettings":{const e=i(n.id);await e.removeMessageDisappearingSettings(),j({id:s,action:t,result:void 0});break}case"isGroupMessageDisappearingEnabled":{const e=i(n.id).isMessageDisappearingEnabled();j({id:s,action:t,result:e});break}case"streamGroupMessages":{const e=i(n.groupId),r=(e,t)=>{e?q({type:"message",streamId:n.streamId,error:e.message}):E({type:"message",streamId:n.streamId,result:t?S(t):void 0})},a=e.stream(r);O.set(n.streamId,a),j({id:s,action:t,result:void 0});break}}}catch(e){(e=>{self.postMessage(e)})({id:s,action:t,error:e.message})}};
1
+ import{ContentTypeId as e}from"@xmtp/content-type-primitives";import t,{EncodedContent as s,Consent as n,ContentTypeId as i,ListMessagesOptions as r,ListConversationsOptions as a,CreateGroupOptions as o,CreateDMOptions as c,PermissionPolicySet as d,GroupPermissionsOptions as u,MessageDisappearingSettings as p,getInboxIdForAddress as l,generateInboxId as m,createClient as g,LogOptions as y,ConversationType as v,verifySignedWithPublicKey as I}from"@xmtp/wasm-bindings";const b=e=>{return new s((t=e.type,new i(t.authorityId,t.typeId,t.versionMajor,t.versionMinor)),new Map(Object.entries(e.parameters)),e.fallback,e.compression,e.content);var t},h=e=>{return{type:(t=e.type,{authorityId:t.authorityId,typeId:t.typeId,versionMajor:t.versionMajor,versionMinor:t.versionMinor}),parameters:e.parameters,fallback:e.fallback,compression:e.compression,content:e.content};var t},w=t=>{return{type:(s=t.type,new e({authorityId:s.authorityId,typeId:s.typeId,versionMajor:s.versionMajor,versionMinor:s.versionMinor})),parameters:t.parameters,fallback:t.fallback,compression:t.compression,content:t.content};var s},S=t=>{return{content:h((s=t.content,{type:(n=s.type,new e({authorityId:n.authorityId,typeId:n.typeId,versionMajor:n.versionMajor,versionMinor:n.versionMinor})),parameters:Object.fromEntries(s.parameters),fallback:s.fallback,compression:s.compression,content:s.content})),convoId:t.convoId,deliveryStatus:t.deliveryStatus,id:t.id,kind:t.kind,senderInboxId:t.senderInboxId,sentAtNs:t.sentAtNs};var s,n},x=e=>new a(e.consentStates,e.createdAfterNs,e.createdBeforeNs,e.includeDuplicateDms??!1,e.limit),k=e=>{return new o(e.permissions,e.name,e.imageUrlSquare,e.description,e.customPermissionPolicySet&&e.permissions===u.CustomPolicy?(t=e.customPermissionPolicySet,new d(t.addMemberPolicy,t.removeMemberPolicy,t.addAdminPolicy,t.removeAdminPolicy,t.updateGroupNamePolicy,t.updateGroupDescriptionPolicy,t.updateGroupImageUrlSquarePolicy,t.updateMessageDisappearingPolicy)):void 0,e.messageDisappearingSettings?T(e.messageDisappearingSettings):void 0);var t},A=e=>new c(e.messageDisappearingSettings?T(e.messageDisappearingSettings):void 0),M=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,u=e.superAdmins,p=e.createdAtNs,l=r.policyType,m=r.policySet;return{id:t,name:s,imageUrl:n,description:i,permissions:{policyType:l,policySet:{addAdminPolicy:m.addAdminPolicy,addMemberPolicy:m.addMemberPolicy,removeAdminPolicy:m.removeAdminPolicy,removeMemberPolicy:m.removeMemberPolicy,updateGroupDescriptionPolicy:m.updateGroupDescriptionPolicy,updateGroupImageUrlSquarePolicy:m.updateGroupImageUrlSquarePolicy,updateGroupNamePolicy:m.updateGroupNamePolicy,updateMessageDisappearingPolicy:m.updateMessageDisappearingPolicy}},isActive:a,addedByInboxId:o,metadata:c,admins:d,superAdmins:u,createdAtNs:p}},G=e=>({bytes:e.bytes,clientTimestampNs:e.clientTimestampNs,id:e.id}),f=e=>({accountAddresses:e.accountAddresses,inboxId:e.inboxId,installations:e.installations.map(G),recoveryAddress:e.recoveryAddress}),D=e=>({entity:e.entity,entityType:e.entityType,state:e.state}),P=e=>new n(e.entityType,e.state,e.entity),B=e=>({key:e.key,epoch:e.epoch}),T=e=>new p(e.fromNs,e.inNs),N={local:"http://localhost:5555",dev:"https://dev.xmtp.network",production:"https://production.xmtp.network"},C={local:"http://localhost:5558",dev:"https://message-history.dev.ephemera.network",production:"https://message-history.production.ephemera.network"};class K{#e;#t;constructor(e,t){this.#e=e,this.#t=t}get id(){return this.#t.id()}get name(){return this.#t.groupName()}async updateName(e){return this.#t.updateGroupName(e)}get imageUrl(){return this.#t.groupImageUrlSquare()}async updateImageUrl(e){return this.#t.updateGroupImageUrlSquare(e)}get description(){return this.#t.groupDescription()}async updateDescription(e){return this.#t.updateGroupDescription(e)}get isActive(){return this.#t.isActive()}get addedByInboxId(){return this.#t.addedByInboxId()}get createdAtNs(){return this.#t.createdAtNs()}async metadata(){const e=await this.#t.groupMetadata();return{creatorInboxId:e.creatorInboxId(),conversationType:e.conversationType()}}async members(){return(await this.#t.listMembers()).map((e=>(e=>({accountAddresses:e.accountAddresses,consentState:e.consentState,inboxId:e.inboxId,installationIds:e.installationIds,permissionLevel:e.permissionLevel}))(e)))}get admins(){return this.#t.adminList()}get superAdmins(){return this.#t.superAdminList()}get permissions(){const e=this.#t.groupPermissions();return{policyType:e.policyType(),policySet:e.policySet()}}async updatePermission(e,t,s){return this.#t.updatePermissionPolicy(e,t,s)}isAdmin(e){return this.#t.isAdmin(e)}isSuperAdmin(e){return this.#t.isSuperAdmin(e)}async sync(){return this.#t.sync()}async addMembers(e){return this.#t.addMembers(e)}async addMembersByInboxId(e){return this.#t.addMembersByInboxId(e)}async removeMembers(e){return this.#t.removeMembers(e)}async removeMembersByInboxId(e){return this.#t.removeMembersByInboxId(e)}async addAdmin(e){return this.#t.addAdmin(e)}async removeAdmin(e){return this.#t.removeAdmin(e)}async addSuperAdmin(e){return this.#t.addSuperAdmin(e)}async removeSuperAdmin(e){return this.#t.removeSuperAdmin(e)}async publishMessages(){return this.#t.publishMessages()}sendOptimistic(e){return this.#t.sendOptimistic(e)}async send(e){return this.#t.send(e)}async messages(e){return this.#t.findMessages(e?(e=>new r(e.sentBeforeNs,e.sentAfterNs,e.limit,e.deliveryStatus,e.direction,e.contentTypes))(e):void 0)}get consentState(){return this.#t.consentState()}updateConsentState(e){this.#t.updateConsentState(e)}dmPeerInboxId(){return this.#t.dmPeerInboxId()}messageDisappearingSettings(){return this.#t.messageDisappearingSettings()}async updateMessageDisappearingSettings(e,t){const s=new p(e,t);return this.#t.updateMessageDisappearingSettings(s)}async removeMessageDisappearingSettings(){return this.#t.removeMessageDisappearingSettings()}isMessageDisappearingEnabled(){return this.#t.isMessageDisappearingEnabled()}stream(e){return this.#t.stream({on_message:t=>{e?.(null,t)},on_error:t=>{e?.(t,void 0)}})}}class L{#e;#s;constructor(e,t){this.#e=e,this.#s=t}async sync(){return this.#s.sync()}async syncAll(e){return this.#s.syncAllConversations(e)}getConversationById(e){try{const t=this.#s.findGroupById(e);return new K(this.#e,t)}catch{return}}getMessageById(e){try{return this.#s.findMessageById(e)}catch{return}}getDmByInboxId(e){try{const t=this.#s.findDmByTargetInboxId(e);return new K(this.#e,t)}catch{return}}list(e){return this.#s.list(e?x(e):void 0).map((e=>new K(this.#e,e.conversation)))}listGroups(e){return this.#s.listGroups(e?x(e):void 0).map((e=>new K(this.#e,e.conversation)))}listDms(e){return this.#s.listDms(e?x(e):void 0).map((e=>new K(this.#e,e.conversation)))}async newGroup(e,t){const s=await this.#s.createGroup(e,t?k(t):void 0);return new K(this.#e,s)}async newGroupByInboxIds(e,t){const s=await this.#s.createGroupByInboxIds(e,t?k(t):void 0);return new K(this.#e,s)}async newDm(e,t){const s=await this.#s.createDm(e,t?A(t):void 0);return new K(this.#e,s)}async newDmByInboxId(e,t){const s=await this.#s.createDmByInboxId(e,t?A(t):void 0);return new K(this.#e,s)}getHmacKeys(){return this.#s.getHmacKeys()}stream(e,t){return this.#s.stream({on_conversation:t=>{e?.(null,t)},on_error:t=>{e?.(t,void 0)}},t)}streamGroups(e){return this.#s.stream(e,v.Group)}streamDms(e){return this.#s.stream(e,v.Dm)}streamAllMessages(e,t){return this.#s.streamAllMessages({on_message:t=>{e?.(null,t)},on_error:t=>{e?.(t,void 0)}},t)}streamConsent(e){return this.#s.streamConsent({on_consent_update:t=>{e?.(null,t)},on_error:t=>{e?.(t,void 0)}})}streamPreferences(e){return this.#s.streamPreferences({on_user_preference_update:t=>{e?.(null,t)},on_error:t=>{e?.(t,void 0)}})}}class U{#e;#s;#n;constructor(e){this.#e=e,this.#n=e.accountAddress,this.#s=new L(this,e.conversations())}static async create(e,s,n){const i=await(async(e,s,n)=>{await t();const i=n?.apiUrl||N[n?.env||"dev"],r=n?.dbPath||`xmtp-${n?.env||"dev"}-${e}.db3`,a=await l(i,e)||m(e),o=n&&(void 0!==n.loggingLevel||n.structuredLogging||n.performanceLogging);return g(i,a,e,r,s,n?.historySyncUrl||C[n?.env||"dev"],o?new y(n.structuredLogging??!1,n.performanceLogging??!1,n.loggingLevel):void 0)})(e,s,n);return new U(i)}get accountAddress(){return this.#n}get inboxId(){return this.#e.inboxId}get installationId(){return this.#e.installationId}get installationIdBytes(){return this.#e.installationIdBytes}get isRegistered(){return this.#e.isRegistered}createInboxSignatureText(){try{return this.#e.createInboxSignatureText()}catch{return}}async addAccountSignatureText(e){try{return await this.#e.addWalletSignatureText(e)}catch{return}}async removeAccountSignatureText(e){try{return await this.#e.revokeWalletSignatureText(e)}catch{return}}async revokeAllAOtherInstallationsSignatureText(){try{return await this.#e.revokeAllOtherInstallationsSignatureText()}catch{return}}async revokeInstallationsSignatureText(e){try{return await this.#e.revokeInstallationsSignatureText(e)}catch{return}}async addSignature(e,t){return this.#e.addSignature(e,t)}async addScwSignature(e,t,s,n){return this.#e.addScwSignature(e,t,s,n)}async applySignatures(){return this.#e.applySignatureRequests()}async canMessage(e){return this.#e.canMessage(e)}async registerIdentity(){return this.#e.registerIdentity()}async findInboxIdByAddress(e){return this.#e.findInboxIdByAddress(e)}async inboxState(e){return this.#e.inboxState(e)}async getLatestInboxState(e){return this.#e.getLatestInboxState(e)}async setConsentStates(e){return this.#e.setConsentStates(e.map(P))}async getConsentState(e,t){return this.#e.getConsentState(e,t)}get conversations(){return this.#s}signWithInstallationKey(e){return this.#e.signWithInstallationKey(e)}verifySignedWithInstallationKey(e,t){try{return this.#e.verifySignedWithInstallationKey(e,t),!0}catch{return!1}}verifySignedWithPublicKey(e,t,s){try{return I(e,t,s),!0}catch{return!1}}}let W,_=!1;const O=new Map,j=e=>{self.postMessage(e)},E=e=>{self.postMessage(e)},q=e=>{self.postMessage(e)};self.onmessage=async e=>{const{action:t,id:s,data:n}=e.data;_&&console.log("client worker received event data",e.data);try{if("init"===t&&!W)return W=await U.create(n.address,n.encryptionKey,n.options),_=void 0!==n.options?.loggingLevel&&"off"!==n.options.loggingLevel,void j({id:s,action:t,result:{inboxId:W.inboxId,installationId:W.installationId,installationIdBytes:W.installationIdBytes}});if(!W)throw new Error("Client not initialized");const e=W,i=t=>{const s=e.conversations.getConversationById(t);if(!s)throw new Error(`Group "${t}" not found`);return s};switch(t){case"endStream":{const e=O.get(n.streamId);if(!e)throw new Error(`Stream "${n.streamId}" not found`);e.end(),O.delete(n.streamId),j({id:s,action:t,result:void 0});break}case"createInboxSignatureText":{const n=e.createInboxSignatureText();j({id:s,action:t,result:n});break}case"addAccountSignatureText":{const i=await e.addAccountSignatureText(n.newAccountAddress);j({id:s,action:t,result:i});break}case"removeAccountSignatureText":{const i=await e.removeAccountSignatureText(n.accountAddress);j({id:s,action:t,result:i});break}case"revokeAllOtherInstallationsSignatureText":{const n=await e.revokeAllAOtherInstallationsSignatureText();j({id:s,action:t,result:n});break}case"revokeInstallationsSignatureText":{const i=await e.revokeInstallationsSignatureText(n.installationIds);j({id:s,action:t,result:i});break}case"addSignature":await e.addSignature(n.type,n.bytes),j({id:s,action:t,result:void 0});break;case"addScwSignature":await e.addScwSignature(n.type,n.bytes,n.chainId,n.blockNumber),j({id:s,action:t,result:void 0});break;case"applySignatures":await e.applySignatures(),j({id:s,action:t,result:void 0});break;case"registerIdentity":await e.registerIdentity(),j({id:s,action:t,result:void 0});break;case"isRegistered":{const n=e.isRegistered;j({id:s,action:t,result:n});break}case"canMessage":{const i=await e.canMessage(n.accountAddresses);j({id:s,action:t,result:i});break}case"inboxState":{const i=await e.inboxState(n.refreshFromNetwork),r=f(i);j({id:s,action:t,result:r});break}case"getLatestInboxState":{const i=await e.getLatestInboxState(n.inboxId),r=f(i);j({id:s,action:t,result:r});break}case"setConsentStates":await e.setConsentStates(n.records),j({id:s,action:t,result:void 0});break;case"getConsentState":{const i=await e.getConsentState(n.entityType,n.entity);j({id:s,action:t,result:i});break}case"findInboxIdByAddress":{const i=await e.findInboxIdByAddress(n.address);j({id:s,action:t,result:i});break}case"signWithInstallationKey":{const i=e.signWithInstallationKey(n.signatureText);j({id:s,action:t,result:i});break}case"verifySignedWithInstallationKey":{const i=e.verifySignedWithInstallationKey(n.signatureText,n.signatureBytes);j({id:s,action:t,result:i});break}case"verifySignedWithPublicKey":{const i=e.verifySignedWithPublicKey(n.signatureText,n.signatureBytes,n.publicKey);j({id:s,action:t,result:i});break}case"streamAllGroups":{const i=async(t,s)=>{t?q({type:"group",streamId:n.streamId,error:t.message}):E({type:"group",streamId:n.streamId,result:s?await M(new K(e,s)):void 0})},r=e.conversations.stream(i,n.conversationType);O.set(n.streamId,r),j({id:s,action:t,result:void 0});break}case"streamAllMessages":{const i=(e,t)=>{e?q({type:"message",streamId:n.streamId,error:e.message}):E({type:"message",streamId:n.streamId,result:t?S(t):void 0})},r=e.conversations.streamAllMessages(i,n.conversationType);O.set(n.streamId,r),j({id:s,action:t,result:void 0});break}case"streamConsent":{const i=(e,t)=>{e?q({type:"consent",streamId:n.streamId,error:e.message}):E({type:"consent",streamId:n.streamId,result:t?.map(D)??[]})},r=e.conversations.streamConsent(i);O.set(n.streamId,r),j({id:s,action:t,result:void 0});break}case"streamPreferences":{const i=(e,t)=>{e?q({type:"preferences",streamId:n.streamId,error:e.message}):E({type:"preferences",streamId:n.streamId,result:t??void 0})},r=e.conversations.streamPreferences(i);O.set(n.streamId,r),j({id:s,action:t,result:void 0});break}case"getConversations":{const i=e.conversations.list(n.options),r=await Promise.all(i.map((e=>M(e))));j({id:s,action:t,result:r});break}case"getGroups":{const i=e.conversations.listGroups(n.options),r=await Promise.all(i.map((e=>M(e))));j({id:s,action:t,result:r});break}case"getDms":{const i=e.conversations.listDms(n.options),r=await Promise.all(i.map((e=>M(e))));j({id:s,action:t,result:r});break}case"newGroup":{const i=await e.conversations.newGroup(n.accountAddresses,n.options),r=await M(i);j({id:s,action:t,result:r});break}case"newGroupByInboxIds":{const i=await e.conversations.newGroupByInboxIds(n.inboxIds,n.options),r=await M(i);j({id:s,action:t,result:r});break}case"newDm":{const i=await e.conversations.newDm(n.accountAddress,n.options),r=await M(i);j({id:s,action:t,result:r});break}case"newDmByInboxId":{const i=await e.conversations.newDmByInboxId(n.inboxId,n.options),r=await M(i);j({id:s,action:t,result:r});break}case"syncConversations":await e.conversations.sync(),j({id:s,action:t,result:void 0});break;case"syncAllConversations":await e.conversations.syncAll(n.consentStates),j({id:s,action:t,result:void 0});break;case"getConversationById":{const i=e.conversations.getConversationById(n.id),r=i?await M(i):void 0;j({id:s,action:t,result:r});break}case"getMessageById":{const i=e.conversations.getMessageById(n.id),r=i?S(i):void 0;j({id:s,action:t,result:r});break}case"getDmByInboxId":{const i=e.conversations.getDmByInboxId(n.inboxId),r=i?await M(i):void 0;j({id:s,action:t,result:r});break}case"getHmacKeys":{const n=e.conversations.getHmacKeys(),i=Object.fromEntries(Array.from(n.entries()).map((([e,t])=>[e,t.map(B)])));j({id:s,action:t,result:i});break}case"syncGroup":{const e=i(n.id);await e.sync();const r=await M(e);j({id:s,action:t,result:r});break}case"updateGroupName":{const e=i(n.id);await e.updateName(n.name),j({id:s,action:t,result:void 0});break}case"updateGroupDescription":{const e=i(n.id);await e.updateDescription(n.description),j({id:s,action:t,result:void 0});break}case"updateGroupImageUrlSquare":{const e=i(n.id);await e.updateImageUrl(n.imageUrl),j({id:s,action:t,result:void 0});break}case"sendGroupMessage":{const e=i(n.id),r=await e.send(b(w(n.content)));j({id:s,action:t,result:r});break}case"sendOptimisticGroupMessage":{const e=i(n.id).sendOptimistic(b(w(n.content)));j({id:s,action:t,result:e});break}case"publishGroupMessages":{const e=i(n.id);await e.publishMessages(),j({id:s,action:t,result:void 0});break}case"getGroupMessages":{const e=i(n.id),r=(await e.messages(n.options)).map((e=>S(e)));j({id:s,action:t,result:r});break}case"getGroupMembers":{const e=i(n.id),r=await e.members();j({id:s,action:t,result:r});break}case"getGroupAdmins":{const e=i(n.id).admins;j({id:s,action:t,result:e});break}case"getGroupSuperAdmins":{const e=i(n.id).superAdmins;j({id:s,action:t,result:e});break}case"getGroupConsentState":{const e=i(n.id).consentState;j({id:s,action:t,result:e});break}case"updateGroupConsentState":i(n.id).updateConsentState(n.state),j({id:s,action:t,result:void 0});break;case"addGroupAdmin":{const e=i(n.id);await e.addAdmin(n.inboxId),j({id:s,action:t,result:void 0});break}case"removeGroupAdmin":{const e=i(n.id);await e.removeAdmin(n.inboxId),j({id:s,action:t,result:void 0});break}case"addGroupSuperAdmin":{const e=i(n.id);await e.addSuperAdmin(n.inboxId),j({id:s,action:t,result:void 0});break}case"removeGroupSuperAdmin":{const e=i(n.id);await e.removeSuperAdmin(n.inboxId),j({id:s,action:t,result:void 0});break}case"addGroupMembers":{const e=i(n.id);await e.addMembers(n.accountAddresses),j({id:s,action:t,result:void 0});break}case"removeGroupMembers":{const e=i(n.id);await e.removeMembers(n.accountAddresses),j({id:s,action:t,result:void 0});break}case"addGroupMembersByInboxId":{const e=i(n.id);await e.addMembersByInboxId(n.inboxIds),j({id:s,action:t,result:void 0});break}case"removeGroupMembersByInboxId":{const e=i(n.id);await e.removeMembersByInboxId(n.inboxIds),j({id:s,action:t,result:void 0});break}case"isGroupAdmin":{const e=i(n.id).isAdmin(n.inboxId);j({id:s,action:t,result:e});break}case"isGroupSuperAdmin":{const e=i(n.id).isSuperAdmin(n.inboxId);j({id:s,action:t,result:e});break}case"getDmPeerInboxId":{const e=i(n.id).dmPeerInboxId();j({id:s,action:t,result:e});break}case"updateGroupPermissionPolicy":{const e=i(n.id);await e.updatePermission(n.permissionType,n.policy,n.metadataField),j({id:s,action:t,result:void 0});break}case"getGroupPermissions":{const e=i(n.id),r=(await M(e)).permissions;j({id:s,action:t,result:r});break}case"getGroupMessageDisappearingSettings":{const e=i(n.id).messageDisappearingSettings(),r=e?(e=>({fromNs:e.fromNs,inNs:e.inNs}))(e):void 0;j({id:s,action:t,result:r});break}case"updateGroupMessageDisappearingSettings":{const e=i(n.id);await e.updateMessageDisappearingSettings(n.fromNs,n.inNs),j({id:s,action:t,result:void 0});break}case"removeGroupMessageDisappearingSettings":{const e=i(n.id);await e.removeMessageDisappearingSettings(),j({id:s,action:t,result:void 0});break}case"isGroupMessageDisappearingEnabled":{const e=i(n.id).isMessageDisappearingEnabled();j({id:s,action:t,result:e});break}case"streamGroupMessages":{const e=i(n.groupId),r=(e,t)=>{e?q({type:"message",streamId:n.streamId,error:e.message}):E({type:"message",streamId:n.streamId,result:t?S(t):void 0})},a=e.stream(r);O.set(n.streamId,a),j({id:s,action:t,result:void 0});break}}}catch(e){(e=>{self.postMessage(e)})({id:s,action:t,error:e.message})}};
2
2
  //# sourceMappingURL=client.js.map
@@ -1,2 +1,2 @@
1
- import e,{generateInboxId as t,getInboxIdForAddress as a}from"@xmtp/wasm-bindings";const s={local:"http://localhost:5555",dev:"https://dev.xmtp.network",production:"https://production.xmtp.network"},o=e=>{self.postMessage(e)},n=async a=>(await e(),t(a)),d=async(t,o)=>{await e();return a(o?s[o]:s.dev,t)};self.onmessage=async e=>{const{action:t,id:a,data:s}=e.data;s.enableLogging&&console.log("utils worker received event data",e.data);try{switch(t){case"generateInboxId":o({id:a,action:t,result:await n(s.address)});break;case"getInboxIdForAddress":o({id:a,action:t,result:await d(s.address,s.env)})}}catch(e){(e=>{self.postMessage(e)})({id:a,action:t,error:e.message})}};export{n as generateInboxId,d as getInboxIdForAddress};
1
+ import e,{getInboxIdForAddress as t,generateInboxId as a}from"@xmtp/wasm-bindings";const s={local:"http://localhost:5555",dev:"https://dev.xmtp.network",production:"https://production.xmtp.network"},o=e=>{self.postMessage(e)},n=async t=>(await e(),a(t)),d=async(a,o)=>{await e();return t(o?s[o]:s.dev,a)};self.onmessage=async e=>{const{action:t,id:a,data:s}=e.data;s.enableLogging&&console.log("utils worker received event data",e.data);try{switch(t){case"generateInboxId":o({id:a,action:t,result:await n(s.address)});break;case"getInboxIdForAddress":o({id:a,action:t,result:await d(s.address,s.env)})}}catch(e){(e=>{self.postMessage(e)})({id:a,action:t,error:e.message})}};export{n as generateInboxId,d as getInboxIdForAddress};
2
2
  //# sourceMappingURL=utils.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xmtp/browser-sdk",
3
- "version": "0.0.22",
3
+ "version": "0.0.23",
4
4
  "description": "XMTP client SDK for browsers written in TypeScript",
5
5
  "keywords": [
6
6
  "xmtp",
@@ -64,7 +64,7 @@
64
64
  "@xmtp/content-type-primitives": "^2.0.0",
65
65
  "@xmtp/content-type-text": "^2.0.0",
66
66
  "@xmtp/proto": "^3.72.3",
67
- "@xmtp/wasm-bindings": "^0.0.19",
67
+ "@xmtp/wasm-bindings": "^0.0.21",
68
68
  "uuid": "^11.0.3"
69
69
  },
70
70
  "devDependencies": {
@@ -77,7 +77,7 @@
77
77
  "@vitest/coverage-v8": "^2.0.3",
78
78
  "@web/rollup-plugin-copy": "^0.5.1",
79
79
  "playwright": "^1.49.1",
80
- "rollup": "^4.30.1",
80
+ "rollup": "^4.34.9",
81
81
  "rollup-plugin-dts": "^6.1.1",
82
82
  "rollup-plugin-filesize": "^10.0.0",
83
83
  "rollup-plugin-tsconfig-paths": "^1.5.2",