@xmtp/browser-sdk 3.1.2 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- import e,{EncodedContent as t,ContentTypeId as s,ListMessagesOptions as i,ListConversationsOptions as n,CreateGroupOptions as r,CreateDMOptions as a,Consent as o,PermissionPolicySet as c,GroupPermissionsOptions as d,MessageDisappearingSettings as u,getInboxIdForIdentifier as l,generateInboxId as g,createClient as p,LogOptions as m,ConversationType as y,verifySignedWithPublicKey as I}from"@xmtp/wasm-bindings";import{ContentTypeId as v}from"@xmtp/content-type-primitives";const b=e=>{return new t((i=e.type,new s(i.authorityId,i.typeId,i.versionMajor,i.versionMinor)),new Map(Object.entries(e.parameters)),e.fallback,e.compression,e.content);var i},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=e=>{return{type:(t=e.type,new v({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},f=e=>{return{content:h((t=e.content,{type:(s=t.type,new v({authorityId:s.authorityId,typeId:s.typeId,versionMajor:s.versionMajor,versionMinor:s.versionMinor})),parameters:Object.fromEntries(t.parameters),fallback:t.fallback,compression:t.compression,content:t.content})),convoId:e.convoId,deliveryStatus:e.deliveryStatus,id:e.id,kind:e.kind,senderInboxId:e.senderInboxId,sentAtNs:e.sentAtNs};var t,s},S=e=>new n(e.consentStates,e.conversationType,e.createdAfterNs,e.createdBeforeNs,e.includeDuplicateDms??!1,e.limit),k=e=>{return new r(e.permissions,e.name,e.imageUrlSquare,e.description,e.customPermissionPolicySet&&e.permissions===d.CustomPolicy?(t=e.customPermissionPolicySet,new c(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},x=e=>new a(e.messageDisappearingSettings?T(e.messageDisappearingSettings):void 0),A=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,u=e.superAdmins,l=e.createdAtNs,g=r.policyType,p=r.policySet;return{id:t,name:s,imageUrl:i,description:n,permissions:{policyType:g,policySet:{addAdminPolicy:p.addAdminPolicy,addMemberPolicy:p.addMemberPolicy,removeAdminPolicy:p.removeAdminPolicy,removeMemberPolicy:p.removeMemberPolicy,updateGroupDescriptionPolicy:p.updateGroupDescriptionPolicy,updateGroupImageUrlSquarePolicy:p.updateGroupImageUrlSquarePolicy,updateGroupNamePolicy:p.updateGroupNamePolicy,updateMessageDisappearingPolicy:p.updateMessageDisappearingPolicy}},isActive:a,addedByInboxId:o,metadata:c,admins:d,superAdmins:u,createdAtNs:l}},M=e=>({bytes:e.bytes,clientTimestampNs:e.clientTimestampNs,id:e.id}),q=e=>({identifiers:e.accountIdentifiers,inboxId:e.inboxId,installations:e.installations.map(M),recoveryIdentifier:e.recoveryIdentifier}),R=e=>({entity:e.entity,entityType:e.entityType,state:e.state}),D=e=>new o(e.entityType,e.state,e.entity),P=e=>({key:e.key,epoch:e.epoch}),T=e=>new u(e.fromNs,e.inNs),B=e=>({lifetime:e.lifetime?{notBefore:e.lifetime.not_before,notAfter:e.lifetime.not_after}:void 0,validationError:e.validationError});class _ extends Error{constructor(){super("Client not initialized, use Client.create or Client.build to create a client")}}class G extends Error{constructor(e){super(`Group "${e}" not found`)}}class N extends Error{constructor(e){super(`Stream "${e}" not found`)}}const C={local:"http://localhost:5555",dev:"https://dev.xmtp.network",production:"https://production.xmtp.network"},K={local:"http://localhost:5558",dev:"https://message-history.dev.ephemera.network",production:"https://message-history.production.ephemera.network"};class W{#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=>({accountIdentifiers:e.accountIdentifiers,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 addMembersByIdentifiers(e){return this.#t.addMembers(e)}async addMembers(e){return this.#t.addMembersByInboxId(e)}async removeMembersByIdentifiers(e){return this.#t.removeMembers(e)}async removeMembers(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)}})}pausedForVersion(){return this.#t.pausedForVersion()}getHmacKeys(){return this.#t.getHmacKeys()}async debugInfo(){return await this.#t.getDebugInfo()}async getDuplicateDms(){return(await this.#t.findDuplicateDms()).map((e=>new W(this.#e,e)))}}class E{#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 W(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 W(this.#e,t)}catch{return}}list(e){return this.#s.list(e?S(e):void 0).map((e=>new W(this.#e,e.conversation)))}listGroups(e){return this.#s.list(S({...e??{},conversationType:y.Group})).map((e=>new W(this.#e,e.conversation)))}listDms(e){return this.#s.list(S({...e??{},conversationType:y.Dm})).map((e=>new W(this.#e,e.conversation)))}newGroupOptimistic(e){const t=this.#s.createGroupOptimistic(e?k(e):void 0);return new W(this.#e,t)}async newGroupWithIdentifiers(e,t){const s=await this.#s.createGroup(e,t?k(t):void 0);return new W(this.#e,s)}async newGroup(e,t){const s=await this.#s.createGroupByInboxIds(e,t?k(t):void 0);return new W(this.#e,s)}async newDmWithIdentifier(e,t){const s=await this.#s.createDm(e,t?x(t):void 0);return new W(this.#e,s)}async newDm(e,t){const s=await this.#s.createDmByInboxId(e,t?x(t):void 0);return new W(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,y.Group)}streamDms(e){return this.#s.stream(e,y.Dm)}streamAllMessages(e,t,s){return this.#s.streamAllMessages({on_message:t=>{e?.(null,t)},on_error:t=>{e?.(t,void 0)}},t,s)}}class U{#e;#i;constructor(e,t){this.#e=e,this.#i=t}apiStatistics(){return this.#e.apiStatistics()}apiIdentityStatistics(){return this.#e.apiIdentityStatistics()}apiAggregateStatistics(){return this.#e.apiAggregateStatistics()}clearAllStatistics(){this.#e.clearAllStatistics()}uploadDebugArchive(e){const t=this.#i?.env||"dev",s=this.#i?.historySyncUrl||K[t];return this.#e.uploadDebugArchive(e||s)}}class F{#e;#s;constructor(e,t){this.#e=e,this.#s=t}sync(){return this.#e.syncPreferences()}async inboxState(e){return this.#e.inboxState(e)}async inboxStateFromInboxIds(e,t){return this.#e.inboxStateFromInboxIds(e,t??!1)}async getLatestInboxState(e){return this.#e.getLatestInboxState(e)}async setConsentStates(e){return this.#e.setConsentStates(e.map(D))}async getConsentState(e,t){return this.#e.getConsentState(e,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 O{#e;#s;#n;#r;constructor(e,t){this.#e=e;const s=e.conversations();this.#s=new E(this,s),this.#n=new U(e,t),this.#r=new F(e,s)}static async create(e,t){const s=await(async(e,t)=>{const s=t?.env||"dev",i=t?.apiUrl||C[s],n=await l(i,e)||g(e),r=void 0===t?.dbPath?`xmtp-${s}-${n}.db3`:t.dbPath,a=t&&(void 0!==t.loggingLevel||t.structuredLogging||t.performanceLogging),o=void 0===t?.historySyncUrl?K[s]:t.historySyncUrl,c=t?.disableDeviceSync?"disabled":"enabled";return p(i,n,e,r,t?.dbEncryptionKey,o,c,a?new m(t.structuredLogging??!1,t.performanceLogging??!1,t.loggingLevel):void 0)})(e,t);return new O(s,t)}get accountIdentifier(){return this.#e.accountIdentifier}get inboxId(){return this.#e.inboxId}get installationId(){return this.#e.installationId}get installationIdBytes(){return this.#e.installationIdBytes}get isRegistered(){return this.#e.isRegistered}get conversations(){return this.#s}get debugInformation(){return this.#n}get preferences(){return this.#r}async canMessage(e){return this.#e.canMessage(e)}async addSignature(e,t){switch(t.type){case"SCW":await e.addScwSignature(t.identifier,t.signature,t.chainId,t.blockNumber);break;case"EOA":await e.addEcdsaSignature(t.signature)}}async applySignatureRequest(e){return this.#e.applySignatureRequest(e)}async processSignatureRequest(e,t){await this.addSignature(t,e),await this.applySignatureRequest(t)}createInboxSignatureRequest(){return this.#e.createInboxSignatureRequest()}async addAccountSignatureRequest(e){return this.#e.addWalletSignatureRequest(e)}async removeAccountSignatureRequest(e){return this.#e.revokeWalletSignatureRequest(e)}async revokeAllOtherInstallationsSignatureRequest(){return this.#e.revokeAllOtherInstallationsSignatureRequest()}async revokeInstallationsSignatureRequest(e){return this.#e.revokeInstallationsSignatureRequest(e)}async changeRecoveryIdentifierSignatureRequest(e){return this.#e.changeRecoveryIdentifierSignatureRequest(e)}async registerIdentity(e,t){await this.addSignature(t,e),await this.#e.registerIdentity(t)}async findInboxIdByIdentifier(e){return this.#e.findInboxIdByIdentifier(e)}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}}async getKeyPackageStatusesForInstallationIds(e){return this.#e.getKeyPackageStatusesForInstallationIds(e)}}let L,j=!1;const H=new Map,V=new Map,$=e=>{self.postMessage(e)},z=e=>{self.postMessage(e)},J=e=>{self.postMessage(e)};self.onmessage=async t=>{const{action:s,id:i,data:n}=t.data;j&&console.log("client worker received event data",t.data),await e();try{if("client.init"===s&&!L)return L=await O.create(n.identifier,n.options),j=void 0!==n.options?.loggingLevel&&"off"!==n.options.loggingLevel,void $({id:i,action:s,result:{inboxId:L.inboxId,installationId:L.installationId,installationIdBytes:L.installationIdBytes}});if(!L)throw new _;const e=L,t=t=>{const s=e.conversations.getConversationById(t);if(!s)throw new G(t);return s};switch(s){case"endStream":{const e=H.get(n.streamId);if(!e)throw new N(n.streamId);e.end(),H.delete(n.streamId),$({id:i,action:s,result:void 0});break}case"client.applySignatureRequest":{const t=V.get(n.signatureRequestId);if(!t)throw new Error("Signature request not found");await e.processSignatureRequest(n.signer,t),V.delete(n.signatureRequestId),$({id:i,action:s,result:void 0});break}case"client.createInboxSignatureText":{const t={signatureText:void 0,signatureRequestId:void 0};try{const s=e.createInboxSignatureRequest();s&&(t.signatureText=await s.signatureText(),t.signatureRequestId=n.signatureRequestId,V.set(n.signatureRequestId,s))}finally{$({id:i,action:s,result:t})}break}case"client.addAccountSignatureText":{const t=await e.addAccountSignatureRequest(n.newIdentifier),r={signatureText:await t.signatureText(),signatureRequestId:n.signatureRequestId};V.set(n.signatureRequestId,t),$({id:i,action:s,result:r});break}case"client.removeAccountSignatureText":{const t=await e.removeAccountSignatureRequest(n.identifier),r={signatureText:await t.signatureText(),signatureRequestId:n.signatureRequestId};V.set(n.signatureRequestId,t),$({id:i,action:s,result:r});break}case"client.revokeAllOtherInstallationsSignatureText":{const t=await e.revokeAllOtherInstallationsSignatureRequest(),r={signatureText:await t.signatureText(),signatureRequestId:n.signatureRequestId};V.set(n.signatureRequestId,t),$({id:i,action:s,result:r});break}case"client.revokeInstallationsSignatureText":{const t=await e.revokeInstallationsSignatureRequest(n.installationIds),r={signatureText:await t.signatureText(),signatureRequestId:n.signatureRequestId};V.set(n.signatureRequestId,t),$({id:i,action:s,result:r});break}case"client.changeRecoveryIdentifierSignatureText":{const t=await e.changeRecoveryIdentifierSignatureRequest(n.identifier),r={signatureText:await t.signatureText(),signatureRequestId:n.signatureRequestId};V.set(n.signatureRequestId,t),$({id:i,action:s,result:r});break}case"client.registerIdentity":{const t=V.get(n.signatureRequestId);if(!t)throw new Error("Signature request not found");await e.registerIdentity(n.signer,t),V.delete(n.signatureRequestId),$({id:i,action:s,result:void 0});break}case"client.addAccount":{const t=V.get(n.signatureRequestId);if(!t)throw new Error("Signature request not found");await e.processSignatureRequest(n.signer,t),V.delete(n.signatureRequestId),$({id:i,action:s,result:void 0});break}case"client.removeAccount":{const t=V.get(n.signatureRequestId);if(!t)throw new Error("Signature request not found");await e.processSignatureRequest(n.signer,t),V.delete(n.signatureRequestId),$({id:i,action:s,result:void 0});break}case"client.revokeAllOtherInstallations":{const t=V.get(n.signatureRequestId);if(!t)throw new Error("Signature request not found");await e.processSignatureRequest(n.signer,t),V.delete(n.signatureRequestId),$({id:i,action:s,result:void 0});break}case"client.revokeInstallations":{const t=V.get(n.signatureRequestId);if(!t)throw new Error("Signature request not found");await e.processSignatureRequest(n.signer,t),V.delete(n.signatureRequestId),$({id:i,action:s,result:void 0});break}case"client.changeRecoveryIdentifier":{const t=V.get(n.signatureRequestId);if(!t)throw new Error("Signature request not found");await e.processSignatureRequest(n.signer,t),V.delete(n.signatureRequestId),$({id:i,action:s,result:void 0});break}case"client.isRegistered":{const t=e.isRegistered;$({id:i,action:s,result:t});break}case"client.canMessage":{const t=await e.canMessage(n.identifiers);$({id:i,action:s,result:t});break}case"client.findInboxIdByIdentifier":{const t=await e.findInboxIdByIdentifier(n.identifier);$({id:i,action:s,result:t});break}case"client.signWithInstallationKey":{const t=e.signWithInstallationKey(n.signatureText);$({id:i,action:s,result:t});break}case"client.verifySignedWithInstallationKey":{const t=e.verifySignedWithInstallationKey(n.signatureText,n.signatureBytes);$({id:i,action:s,result:t});break}case"client.verifySignedWithPublicKey":{const t=e.verifySignedWithPublicKey(n.signatureText,n.signatureBytes,n.publicKey);$({id:i,action:s,result:t});break}case"client.getKeyPackageStatusesForInstallationIds":{const t=await e.getKeyPackageStatusesForInstallationIds(n.installationIds),r=new Map(Array.from(t.entries()).map((([e,t])=>[e,B(t)])));$({id:i,action:s,result:r});break}case"debugInformation.apiStatistics":{const t=e.debugInformation.apiStatistics(),n={uploadKeyPackage:(r=t).upload_key_package,fetchKeyPackage:r.fetch_key_package,sendGroupMessages:r.send_group_messages,sendWelcomeMessages:r.send_welcome_messages,queryGroupMessages:r.query_group_messages,queryWelcomeMessages:r.query_welcome_messages,subscribeMessages:r.subscribe_messages,subscribeWelcomes:r.subscribe_welcomes};$({id:i,action:s,result:n});break}case"debugInformation.apiIdentityStatistics":{const t=(e=>({getIdentityUpdatesV2:e.get_identity_updates_v2,getInboxIds:e.get_inbox_ids,publishIdentityUpdate:e.publish_identity_update,verifySmartContractWalletSignature:e.verify_smart_contract_wallet_signature}))(e.debugInformation.apiIdentityStatistics());$({id:i,action:s,result:t});break}case"debugInformation.apiAggregateStatistics":{const t=e.debugInformation.apiAggregateStatistics();$({id:i,action:s,result:t});break}case"debugInformation.clearAllStatistics":e.debugInformation.clearAllStatistics(),$({id:i,action:s,result:void 0});break;case"debugInformation.uploadDebugArchive":{const t=await e.debugInformation.uploadDebugArchive(n.serverUrl);$({id:i,action:s,result:t});break}case"preferences.inboxState":{const t=await e.preferences.inboxState(n.refreshFromNetwork),r=q(t);$({id:i,action:s,result:r});break}case"preferences.inboxStateFromInboxIds":{const t=(await e.preferences.inboxStateFromInboxIds(n.inboxIds,n.refreshFromNetwork)).map(q);$({id:i,action:s,result:t});break}case"preferences.getLatestInboxState":{const t=await e.preferences.getLatestInboxState(n.inboxId),r=q(t);$({id:i,action:s,result:r});break}case"preferences.setConsentStates":await e.preferences.setConsentStates(n.records),$({id:i,action:s,result:void 0});break;case"preferences.getConsentState":{const t=await e.preferences.getConsentState(n.entityType,n.entity);$({id:i,action:s,result:t});break}case"preferences.sync":{const t=await e.preferences.sync();$({id:i,action:s,result:t});break}case"preferences.streamConsent":{const t=(e,t)=>{e?J({action:"stream.consent",streamId:n.streamId,error:e}):z({action:"stream.consent",streamId:n.streamId,result:t?.map(R)??[]})},r=e.preferences.streamConsent(t);H.set(n.streamId,r),$({id:i,action:s,result:void 0});break}case"preferences.streamPreferences":{const t=(e,t)=>{e?J({action:"stream.preferences",streamId:n.streamId,error:e}):z({action:"stream.preferences",streamId:n.streamId,result:t??void 0})},r=e.preferences.streamPreferences(t);H.set(n.streamId,r),$({id:i,action:s,result:void 0});break}case"conversations.stream":{const t=async(t,s)=>{t?J({action:"stream.conversation",streamId:n.streamId,error:t}):z({action:"stream.conversation",streamId:n.streamId,result:s?await A(new W(e,s)):void 0})},r=e.conversations.stream(t,n.conversationType);H.set(n.streamId,r),$({id:i,action:s,result:void 0});break}case"conversations.streamAllMessages":{const t=(e,t)=>{e?J({action:"stream.message",streamId:n.streamId,error:e}):z({action:"stream.message",streamId:n.streamId,result:t?f(t):void 0})},r=e.conversations.streamAllMessages(t,n.conversationType,n.consentStates);H.set(n.streamId,r),$({id:i,action:s,result:void 0});break}case"conversations.list":{const t=e.conversations.list(n.options),r=await Promise.all(t.map((e=>A(e))));$({id:i,action:s,result:r});break}case"conversations.listGroups":{const t=e.conversations.listGroups(n.options),r=await Promise.all(t.map((e=>A(e))));$({id:i,action:s,result:r});break}case"conversations.listDms":{const t=e.conversations.listDms(n.options),r=await Promise.all(t.map((e=>A(e))));$({id:i,action:s,result:r});break}case"conversations.newGroupOptimistic":{const t=e.conversations.newGroupOptimistic(n.options),r=await A(t);$({id:i,action:s,result:r});break}case"conversations.newGroupWithIdentifiers":{const t=await e.conversations.newGroupWithIdentifiers(n.identifiers,n.options),r=await A(t);$({id:i,action:s,result:r});break}case"conversations.newGroup":{const t=await e.conversations.newGroup(n.inboxIds,n.options),r=await A(t);$({id:i,action:s,result:r});break}case"conversations.newDmWithIdentifier":{const t=await e.conversations.newDmWithIdentifier(n.identifier,n.options),r=await A(t);$({id:i,action:s,result:r});break}case"conversations.newDm":{const t=await e.conversations.newDm(n.inboxId,n.options),r=await A(t);$({id:i,action:s,result:r});break}case"conversations.sync":await e.conversations.sync(),$({id:i,action:s,result:void 0});break;case"conversations.syncAll":await e.conversations.syncAll(n.consentStates),$({id:i,action:s,result:void 0});break;case"conversations.getConversationById":{const t=e.conversations.getConversationById(n.id),r=t?await A(t):void 0;$({id:i,action:s,result:r});break}case"conversations.getMessageById":{const t=e.conversations.getMessageById(n.id),r=t?f(t):void 0;$({id:i,action:s,result:r});break}case"conversations.getDmByInboxId":{const t=e.conversations.getDmByInboxId(n.inboxId),r=t?await A(t):void 0;$({id:i,action:s,result:r});break}case"conversations.getHmacKeys":{const t=e.conversations.getHmacKeys(),n=Object.fromEntries(Array.from(t.entries()).map((([e,t])=>[e,t.map(P)])));$({id:i,action:s,result:n});break}case"conversation.sync":{const e=t(n.id);await e.sync();const r=await A(e);$({id:i,action:s,result:r});break}case"conversation.consentState":{const e=t(n.id).consentState;$({id:i,action:s,result:e});break}case"conversation.updateConsentState":t(n.id).updateConsentState(n.state),$({id:i,action:s,result:void 0});break;case"group.updateName":{const e=t(n.id);await e.updateName(n.name),$({id:i,action:s,result:void 0});break}case"group.updateDescription":{const e=t(n.id);await e.updateDescription(n.description),$({id:i,action:s,result:void 0});break}case"group.updateImageUrl":{const e=t(n.id);await e.updateImageUrl(n.imageUrl),$({id:i,action:s,result:void 0});break}case"conversation.send":{const e=t(n.id),r=await e.send(b(w(n.content)));$({id:i,action:s,result:r});break}case"conversation.sendOptimistic":{const e=t(n.id).sendOptimistic(b(w(n.content)));$({id:i,action:s,result:e});break}case"conversation.publishMessages":{const e=t(n.id);await e.publishMessages(),$({id:i,action:s,result:void 0});break}case"conversation.messages":{const e=t(n.id),r=(await e.messages(n.options)).map((e=>f(e)));$({id:i,action:s,result:r});break}case"conversation.members":{const e=t(n.id),r=await e.members();$({id:i,action:s,result:r});break}case"group.listAdmins":{const e=t(n.id).admins;$({id:i,action:s,result:e});break}case"group.listSuperAdmins":{const e=t(n.id).superAdmins;$({id:i,action:s,result:e});break}case"group.addAdmin":{const e=t(n.id);await e.addAdmin(n.inboxId),$({id:i,action:s,result:void 0});break}case"group.removeAdmin":{const e=t(n.id);await e.removeAdmin(n.inboxId),$({id:i,action:s,result:void 0});break}case"group.addSuperAdmin":{const e=t(n.id);await e.addSuperAdmin(n.inboxId),$({id:i,action:s,result:void 0});break}case"group.removeSuperAdmin":{const e=t(n.id);await e.removeSuperAdmin(n.inboxId),$({id:i,action:s,result:void 0});break}case"group.addMembersByIdentifiers":{const e=t(n.id);await e.addMembersByIdentifiers(n.identifiers),$({id:i,action:s,result:void 0});break}case"group.removeMembersByIdentifiers":{const e=t(n.id);await e.removeMembersByIdentifiers(n.identifiers),$({id:i,action:s,result:void 0});break}case"group.addMembers":{const e=t(n.id);await e.addMembers(n.inboxIds),$({id:i,action:s,result:void 0});break}case"group.removeMembers":{const e=t(n.id);await e.removeMembers(n.inboxIds),$({id:i,action:s,result:void 0});break}case"group.isAdmin":{const e=t(n.id).isAdmin(n.inboxId);$({id:i,action:s,result:e});break}case"group.isSuperAdmin":{const e=t(n.id).isSuperAdmin(n.inboxId);$({id:i,action:s,result:e});break}case"dm.peerInboxId":{const e=t(n.id).dmPeerInboxId();$({id:i,action:s,result:e});break}case"group.updatePermission":{const e=t(n.id);await e.updatePermission(n.permissionType,n.policy,n.metadataField),$({id:i,action:s,result:void 0});break}case"group.permissions":{const e=t(n.id),r=(await A(e)).permissions;$({id:i,action:s,result:r});break}case"conversation.messageDisappearingSettings":{const e=t(n.id).messageDisappearingSettings(),r=e?(e=>({fromNs:e.fromNs,inNs:e.inNs}))(e):void 0;$({id:i,action:s,result:r});break}case"conversation.updateMessageDisappearingSettings":{const e=t(n.id);await e.updateMessageDisappearingSettings(n.fromNs,n.inNs),$({id:i,action:s,result:void 0});break}case"conversation.removeMessageDisappearingSettings":{const e=t(n.id);await e.removeMessageDisappearingSettings(),$({id:i,action:s,result:void 0});break}case"conversation.isMessageDisappearingEnabled":{const e=t(n.id).isMessageDisappearingEnabled();$({id:i,action:s,result:e});break}case"conversation.stream":{const e=t(n.groupId),r=(e,t)=>{e?J({action:"stream.message",streamId:n.streamId,error:e}):z({action:"stream.message",streamId:n.streamId,result:t?f(t):void 0})},a=e.stream(r);H.set(n.streamId,a),$({id:i,action:s,result:void 0});break}case"conversation.pausedForVersion":{const e=t(n.id).pausedForVersion();$({id:i,action:s,result:e});break}case"conversation.getHmacKeys":{const e=t(n.id).getHmacKeys();$({id:i,action:s,result:e});break}case"dm.getDuplicateDms":{const e=t(n.id),r=await e.getDuplicateDms(),a=await Promise.all(r.map((e=>A(e))));$({id:i,action:s,result:a});break}case"conversation.debugInfo":{const e=t(n.id),r=(e=>({epoch:e.epoch,maybeForked:e.maybeForked,forkDetails:e.forkDetails}))(await e.debugInfo());$({id:i,action:s,result:r});break}}}catch(e){(e=>{self.postMessage(e)})({id:i,action:s,error:e})}var r};
1
+ import e,{EncodedContent as t,ContentTypeId as s,ListMessagesOptions as i,ListConversationsOptions as n,CreateGroupOptions as r,CreateDMOptions as a,Consent as o,PermissionPolicySet as c,GroupPermissionsOptions as d,MessageDisappearingSettings as u,getInboxIdForIdentifier as l,generateInboxId as g,createClient as p,LogOptions as m,ConversationType as I,verifySignedWithPublicKey as y}from"@xmtp/wasm-bindings";import{ContentTypeId as v}from"@xmtp/content-type-primitives";const b=e=>{return new t((i=e.type,new s(i.authorityId,i.typeId,i.versionMajor,i.versionMinor)),new Map(Object.entries(e.parameters)),e.fallback,e.compression,e.content);var i},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},f=e=>{return{type:(t=e.type,new v({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=e=>{return{content:h((t=e.content,{type:(s=t.type,new v({authorityId:s.authorityId,typeId:s.typeId,versionMajor:s.versionMajor,versionMinor:s.versionMinor})),parameters:Object.fromEntries(t.parameters),fallback:t.fallback,compression:t.compression,content:t.content})),convoId:e.convoId,deliveryStatus:e.deliveryStatus,id:e.id,kind:e.kind,senderInboxId:e.senderInboxId,sentAtNs:e.sentAtNs};var t,s},S=e=>new n(e.consentStates,e.conversationType,e.createdAfterNs,e.createdBeforeNs,e.includeDuplicateDms??!1,e.limit),k=e=>{return new r(e.permissions,e.name,e.imageUrlSquare,e.description,e.customPermissionPolicySet&&e.permissions===d.CustomPolicy?(t=e.customPermissionPolicySet,new c(t.addMemberPolicy,t.removeMemberPolicy,t.addAdminPolicy,t.removeAdminPolicy,t.updateGroupNamePolicy,t.updateGroupDescriptionPolicy,t.updateGroupImageUrlSquarePolicy,t.updateMessageDisappearingPolicy)):void 0,e.messageDisappearingSettings?_(e.messageDisappearingSettings):void 0);var t},x=e=>new a(e.messageDisappearingSettings?_(e.messageDisappearingSettings):void 0),A=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,u=e.superAdmins,l=e.createdAtNs,g=r.policyType,p=r.policySet;return{id:t,name:s,imageUrl:i,description:n,permissions:{policyType:g,policySet:{addAdminPolicy:p.addAdminPolicy,addMemberPolicy:p.addMemberPolicy,removeAdminPolicy:p.removeAdminPolicy,removeMemberPolicy:p.removeMemberPolicy,updateGroupDescriptionPolicy:p.updateGroupDescriptionPolicy,updateGroupImageUrlSquarePolicy:p.updateGroupImageUrlSquarePolicy,updateGroupNamePolicy:p.updateGroupNamePolicy,updateMessageDisappearingPolicy:p.updateMessageDisappearingPolicy}},isActive:a,addedByInboxId:o,metadata:c,admins:d,superAdmins:u,createdAtNs:l}},M=e=>({bytes:e.bytes,clientTimestampNs:e.clientTimestampNs,id:e.id}),q=e=>({identifiers:e.accountIdentifiers,inboxId:e.inboxId,installations:e.installations.map(M),recoveryIdentifier:e.recoveryIdentifier}),R=e=>({entity:e.entity,entityType:e.entityType,state:e.state}),D=e=>new o(e.entityType,e.state,e.entity),P=e=>({key:e.key,epoch:e.epoch}),_=e=>new u(e.fromNs,e.inNs),T=e=>({lifetime:e.lifetime?{notBefore:e.lifetime.not_before,notAfter:e.lifetime.not_after}:void 0,validationError:e.validationError});class B extends Error{constructor(){super("Client not initialized, use Client.create or Client.build to create a client")}}class G extends Error{constructor(e){super(`Group "${e}" not found`)}}class N extends Error{constructor(e){super(`Stream "${e}" not found`)}}const C={local:"http://localhost:5555",dev:"https://dev.xmtp.network",production:"https://production.xmtp.network"},K={local:"http://localhost:5558",dev:"https://message-history.dev.ephemera.network",production:"https://message-history.production.ephemera.network"};class W{#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=>({accountIdentifiers:e.accountIdentifiers,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 addMembersByIdentifiers(e){return this.#t.addMembers(e)}async addMembers(e){return this.#t.addMembersByInboxId(e)}async removeMembersByIdentifiers(e){return this.#t.removeMembers(e)}async removeMembers(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,t){return this.#t.stream({on_message:t=>{e(null,t)},on_error:t=>{e(t,void 0)},on_close:()=>{t()}})}pausedForVersion(){return this.#t.pausedForVersion()}getHmacKeys(){return this.#t.getHmacKeys()}async debugInfo(){return await this.#t.getDebugInfo()}async getDuplicateDms(){return(await this.#t.findDuplicateDms()).map((e=>new W(this.#e,e)))}}class E{#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 W(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 W(this.#e,t)}catch{return}}list(e){return this.#s.list(e?S(e):void 0).map((e=>new W(this.#e,e.conversation)))}listGroups(e){return this.#s.list(S({...e??{},conversationType:I.Group})).map((e=>new W(this.#e,e.conversation)))}listDms(e){return this.#s.list(S({...e??{},conversationType:I.Dm})).map((e=>new W(this.#e,e.conversation)))}newGroupOptimistic(e){const t=this.#s.createGroupOptimistic(e?k(e):void 0);return new W(this.#e,t)}async newGroupWithIdentifiers(e,t){const s=await this.#s.createGroup(e,t?k(t):void 0);return new W(this.#e,s)}async newGroup(e,t){const s=await this.#s.createGroupByInboxIds(e,t?k(t):void 0);return new W(this.#e,s)}async newDmWithIdentifier(e,t){const s=await this.#s.createDm(e,t?x(t):void 0);return new W(this.#e,s)}async newDm(e,t){const s=await this.#s.createDmByInboxId(e,t?x(t):void 0);return new W(this.#e,s)}getHmacKeys(){return this.#s.getHmacKeys()}stream(e,t,s){return this.#s.stream({on_conversation:t=>{e(null,t)},on_error:t=>{e(t,void 0)},on_close:()=>{t()}},s)}streamGroups(e,t){return this.stream(e,t,I.Group)}streamDms(e,t){return this.stream(e,t,I.Dm)}streamAllMessages(e,t,s,i){return this.#s.streamAllMessages({on_message:t=>{e(null,t)},on_error:t=>{e(t,void 0)},on_close:()=>{t()}},s,i)}}class U{#e;#i;constructor(e,t){this.#e=e,this.#i=t}apiStatistics(){return this.#e.apiStatistics()}apiIdentityStatistics(){return this.#e.apiIdentityStatistics()}apiAggregateStatistics(){return this.#e.apiAggregateStatistics()}clearAllStatistics(){this.#e.clearAllStatistics()}uploadDebugArchive(e){const t=this.#i?.env||"dev",s=this.#i?.historySyncUrl||K[t];return this.#e.uploadDebugArchive(e||s)}}class F{#e;#s;constructor(e,t){this.#e=e,this.#s=t}sync(){return this.#e.syncPreferences()}async inboxState(e){return this.#e.inboxState(e)}async inboxStateFromInboxIds(e,t){return this.#e.inboxStateFromInboxIds(e,t??!1)}async getLatestInboxState(e){return this.#e.getLatestInboxState(e)}async setConsentStates(e){return this.#e.setConsentStates(e.map(D))}async getConsentState(e,t){return this.#e.getConsentState(e,t)}streamConsent(e,t){return this.#s.streamConsent({on_consent_update:t=>{e(null,t)},on_error:t=>{e(t,void 0)},on_close:()=>{t()}})}streamPreferences(e,t){return this.#s.streamPreferences({on_user_preference_update:t=>{e(null,t)},on_error:t=>{e(t,void 0)},on_close:()=>{t()}})}}class O{#e;#s;#n;#r;constructor(e,t){this.#e=e;const s=e.conversations();this.#s=new E(this,s),this.#n=new U(e,t),this.#r=new F(e,s)}static async create(e,t){const s=await(async(e,t)=>{const s=t?.env||"dev",i=t?.apiUrl||C[s],n=await l(i,e)||g(e),r=void 0===t?.dbPath?`xmtp-${s}-${n}.db3`:t.dbPath,a=t&&(void 0!==t.loggingLevel||t.structuredLogging||t.performanceLogging),o=void 0===t?.historySyncUrl?K[s]:t.historySyncUrl,c=t?.disableDeviceSync?"disabled":"enabled";return p(i,n,e,r,t?.dbEncryptionKey,o,c,a?new m(t.structuredLogging??!1,t.performanceLogging??!1,t.loggingLevel):void 0)})(e,t);return new O(s,t)}get accountIdentifier(){return this.#e.accountIdentifier}get inboxId(){return this.#e.inboxId}get installationId(){return this.#e.installationId}get installationIdBytes(){return this.#e.installationIdBytes}get isRegistered(){return this.#e.isRegistered}get conversations(){return this.#s}get debugInformation(){return this.#n}get preferences(){return this.#r}async canMessage(e){return this.#e.canMessage(e)}async addSignature(e,t){switch(t.type){case"SCW":await e.addScwSignature(t.identifier,t.signature,t.chainId,t.blockNumber);break;case"EOA":await e.addEcdsaSignature(t.signature)}}async applySignatureRequest(e){return this.#e.applySignatureRequest(e)}async processSignatureRequest(e,t){await this.addSignature(t,e),await this.applySignatureRequest(t)}createInboxSignatureRequest(){return this.#e.createInboxSignatureRequest()}async addAccountSignatureRequest(e){return this.#e.addWalletSignatureRequest(e)}async removeAccountSignatureRequest(e){return this.#e.revokeWalletSignatureRequest(e)}async revokeAllOtherInstallationsSignatureRequest(){return this.#e.revokeAllOtherInstallationsSignatureRequest()}async revokeInstallationsSignatureRequest(e){return this.#e.revokeInstallationsSignatureRequest(e)}async changeRecoveryIdentifierSignatureRequest(e){return this.#e.changeRecoveryIdentifierSignatureRequest(e)}async registerIdentity(e,t){await this.addSignature(t,e),await this.#e.registerIdentity(t)}async findInboxIdByIdentifier(e){return this.#e.findInboxIdByIdentifier(e)}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 y(e,t,s),!0}catch{return!1}}async getKeyPackageStatusesForInstallationIds(e){return this.#e.getKeyPackageStatusesForInstallationIds(e)}}let L,j=!1;const H=new Map,V=new Map,$=e=>{self.postMessage(e)},z=e=>{self.postMessage(e)},J=e=>{self.postMessage(e)};self.onmessage=async t=>{const{action:s,id:i,data:n}=t.data;j&&console.log("client worker received event data",t.data),await e();try{if("client.init"===s&&!L)return L=await O.create(n.identifier,n.options),j=void 0!==n.options?.loggingLevel&&"off"!==n.options.loggingLevel,void $({id:i,action:s,result:{inboxId:L.inboxId,installationId:L.installationId,installationIdBytes:L.installationIdBytes}});if(!L)throw new B;const e=L,t=t=>{const s=e.conversations.getConversationById(t);if(!s)throw new G(t);return s};switch(s){case"endStream":{const e=H.get(n.streamId);if(!e)throw new N(n.streamId);e.end(),H.delete(n.streamId),$({id:i,action:s,result:void 0});break}case"client.applySignatureRequest":{const t=V.get(n.signatureRequestId);if(!t)throw new Error("Signature request not found");await e.processSignatureRequest(n.signer,t),V.delete(n.signatureRequestId),$({id:i,action:s,result:void 0});break}case"client.createInboxSignatureText":{const t={signatureText:void 0,signatureRequestId:void 0};try{const s=e.createInboxSignatureRequest();s&&(t.signatureText=await s.signatureText(),t.signatureRequestId=n.signatureRequestId,V.set(n.signatureRequestId,s))}finally{$({id:i,action:s,result:t})}break}case"client.addAccountSignatureText":{const t=await e.addAccountSignatureRequest(n.newIdentifier),r={signatureText:await t.signatureText(),signatureRequestId:n.signatureRequestId};V.set(n.signatureRequestId,t),$({id:i,action:s,result:r});break}case"client.removeAccountSignatureText":{const t=await e.removeAccountSignatureRequest(n.identifier),r={signatureText:await t.signatureText(),signatureRequestId:n.signatureRequestId};V.set(n.signatureRequestId,t),$({id:i,action:s,result:r});break}case"client.revokeAllOtherInstallationsSignatureText":{const t=await e.revokeAllOtherInstallationsSignatureRequest(),r={signatureText:await t.signatureText(),signatureRequestId:n.signatureRequestId};V.set(n.signatureRequestId,t),$({id:i,action:s,result:r});break}case"client.revokeInstallationsSignatureText":{const t=await e.revokeInstallationsSignatureRequest(n.installationIds),r={signatureText:await t.signatureText(),signatureRequestId:n.signatureRequestId};V.set(n.signatureRequestId,t),$({id:i,action:s,result:r});break}case"client.changeRecoveryIdentifierSignatureText":{const t=await e.changeRecoveryIdentifierSignatureRequest(n.identifier),r={signatureText:await t.signatureText(),signatureRequestId:n.signatureRequestId};V.set(n.signatureRequestId,t),$({id:i,action:s,result:r});break}case"client.registerIdentity":{const t=V.get(n.signatureRequestId);if(!t)throw new Error("Signature request not found");await e.registerIdentity(n.signer,t),V.delete(n.signatureRequestId),$({id:i,action:s,result:void 0});break}case"client.addAccount":{const t=V.get(n.signatureRequestId);if(!t)throw new Error("Signature request not found");await e.processSignatureRequest(n.signer,t),V.delete(n.signatureRequestId),$({id:i,action:s,result:void 0});break}case"client.removeAccount":{const t=V.get(n.signatureRequestId);if(!t)throw new Error("Signature request not found");await e.processSignatureRequest(n.signer,t),V.delete(n.signatureRequestId),$({id:i,action:s,result:void 0});break}case"client.revokeAllOtherInstallations":{const t=V.get(n.signatureRequestId);if(!t)throw new Error("Signature request not found");await e.processSignatureRequest(n.signer,t),V.delete(n.signatureRequestId),$({id:i,action:s,result:void 0});break}case"client.revokeInstallations":{const t=V.get(n.signatureRequestId);if(!t)throw new Error("Signature request not found");await e.processSignatureRequest(n.signer,t),V.delete(n.signatureRequestId),$({id:i,action:s,result:void 0});break}case"client.changeRecoveryIdentifier":{const t=V.get(n.signatureRequestId);if(!t)throw new Error("Signature request not found");await e.processSignatureRequest(n.signer,t),V.delete(n.signatureRequestId),$({id:i,action:s,result:void 0});break}case"client.isRegistered":{const t=e.isRegistered;$({id:i,action:s,result:t});break}case"client.canMessage":{const t=await e.canMessage(n.identifiers);$({id:i,action:s,result:t});break}case"client.findInboxIdByIdentifier":{const t=await e.findInboxIdByIdentifier(n.identifier);$({id:i,action:s,result:t});break}case"client.signWithInstallationKey":{const t=e.signWithInstallationKey(n.signatureText);$({id:i,action:s,result:t});break}case"client.verifySignedWithInstallationKey":{const t=e.verifySignedWithInstallationKey(n.signatureText,n.signatureBytes);$({id:i,action:s,result:t});break}case"client.verifySignedWithPublicKey":{const t=e.verifySignedWithPublicKey(n.signatureText,n.signatureBytes,n.publicKey);$({id:i,action:s,result:t});break}case"client.getKeyPackageStatusesForInstallationIds":{const t=await e.getKeyPackageStatusesForInstallationIds(n.installationIds),r=new Map(Array.from(t.entries()).map((([e,t])=>[e,T(t)])));$({id:i,action:s,result:r});break}case"debugInformation.apiStatistics":{const t=e.debugInformation.apiStatistics(),n={uploadKeyPackage:(r=t).upload_key_package,fetchKeyPackage:r.fetch_key_package,sendGroupMessages:r.send_group_messages,sendWelcomeMessages:r.send_welcome_messages,queryGroupMessages:r.query_group_messages,queryWelcomeMessages:r.query_welcome_messages,subscribeMessages:r.subscribe_messages,subscribeWelcomes:r.subscribe_welcomes};$({id:i,action:s,result:n});break}case"debugInformation.apiIdentityStatistics":{const t=(e=>({getIdentityUpdatesV2:e.get_identity_updates_v2,getInboxIds:e.get_inbox_ids,publishIdentityUpdate:e.publish_identity_update,verifySmartContractWalletSignature:e.verify_smart_contract_wallet_signature}))(e.debugInformation.apiIdentityStatistics());$({id:i,action:s,result:t});break}case"debugInformation.apiAggregateStatistics":{const t=e.debugInformation.apiAggregateStatistics();$({id:i,action:s,result:t});break}case"debugInformation.clearAllStatistics":e.debugInformation.clearAllStatistics(),$({id:i,action:s,result:void 0});break;case"debugInformation.uploadDebugArchive":{const t=await e.debugInformation.uploadDebugArchive(n.serverUrl);$({id:i,action:s,result:t});break}case"preferences.inboxState":{const t=await e.preferences.inboxState(n.refreshFromNetwork),r=q(t);$({id:i,action:s,result:r});break}case"preferences.inboxStateFromInboxIds":{const t=(await e.preferences.inboxStateFromInboxIds(n.inboxIds,n.refreshFromNetwork)).map(q);$({id:i,action:s,result:t});break}case"preferences.getLatestInboxState":{const t=await e.preferences.getLatestInboxState(n.inboxId),r=q(t);$({id:i,action:s,result:r});break}case"preferences.setConsentStates":await e.preferences.setConsentStates(n.records),$({id:i,action:s,result:void 0});break;case"preferences.getConsentState":{const t=await e.preferences.getConsentState(n.entityType,n.entity);$({id:i,action:s,result:t});break}case"preferences.sync":{const t=await e.preferences.sync();$({id:i,action:s,result:t});break}case"preferences.streamConsent":{const t=(e,t)=>{e?J({action:"stream.consent",streamId:n.streamId,error:e}):z({action:"stream.consent",streamId:n.streamId,result:t?.map(R)??[]})},r=e.preferences.streamConsent(t,(()=>{H.delete(n.streamId),z({action:"stream.fail",streamId:n.streamId,result:void 0})}));H.set(n.streamId,r),$({id:i,action:s,result:void 0});break}case"preferences.streamPreferences":{const t=(e,t)=>{e?J({action:"stream.preferences",streamId:n.streamId,error:e}):z({action:"stream.preferences",streamId:n.streamId,result:t??void 0})},r=e.preferences.streamPreferences(t,(()=>{H.delete(n.streamId),z({action:"stream.fail",streamId:n.streamId,result:void 0})}));H.set(n.streamId,r),$({id:i,action:s,result:void 0});break}case"conversations.stream":{const t=(t,s)=>{t?J({action:"stream.conversation",streamId:n.streamId,error:t}):s?A(new W(e,s)).then((e=>{z({action:"stream.conversation",streamId:n.streamId,result:e})})).catch((e=>{J({action:"stream.conversation",streamId:n.streamId,error:e})})):z({action:"stream.conversation",streamId:n.streamId,result:void 0})},r=e.conversations.stream(t,(()=>{H.delete(n.streamId),z({action:"stream.fail",streamId:n.streamId,result:void 0})}),n.conversationType);H.set(n.streamId,r),$({id:i,action:s,result:void 0});break}case"conversations.streamAllMessages":{const t=(e,t)=>{e?J({action:"stream.message",streamId:n.streamId,error:e}):z({action:"stream.message",streamId:n.streamId,result:t?w(t):void 0})},r=e.conversations.streamAllMessages(t,(()=>{H.delete(n.streamId),z({action:"stream.fail",streamId:n.streamId,result:void 0})}),n.conversationType,n.consentStates);H.set(n.streamId,r),$({id:i,action:s,result:void 0});break}case"conversations.list":{const t=e.conversations.list(n.options),r=await Promise.all(t.map((e=>A(e))));$({id:i,action:s,result:r});break}case"conversations.listGroups":{const t=e.conversations.listGroups(n.options),r=await Promise.all(t.map((e=>A(e))));$({id:i,action:s,result:r});break}case"conversations.listDms":{const t=e.conversations.listDms(n.options),r=await Promise.all(t.map((e=>A(e))));$({id:i,action:s,result:r});break}case"conversations.newGroupOptimistic":{const t=e.conversations.newGroupOptimistic(n.options),r=await A(t);$({id:i,action:s,result:r});break}case"conversations.newGroupWithIdentifiers":{const t=await e.conversations.newGroupWithIdentifiers(n.identifiers,n.options),r=await A(t);$({id:i,action:s,result:r});break}case"conversations.newGroup":{const t=await e.conversations.newGroup(n.inboxIds,n.options),r=await A(t);$({id:i,action:s,result:r});break}case"conversations.newDmWithIdentifier":{const t=await e.conversations.newDmWithIdentifier(n.identifier,n.options),r=await A(t);$({id:i,action:s,result:r});break}case"conversations.newDm":{const t=await e.conversations.newDm(n.inboxId,n.options),r=await A(t);$({id:i,action:s,result:r});break}case"conversations.sync":await e.conversations.sync(),$({id:i,action:s,result:void 0});break;case"conversations.syncAll":await e.conversations.syncAll(n.consentStates),$({id:i,action:s,result:void 0});break;case"conversations.getConversationById":{const t=e.conversations.getConversationById(n.id),r=t?await A(t):void 0;$({id:i,action:s,result:r});break}case"conversations.getMessageById":{const t=e.conversations.getMessageById(n.id),r=t?w(t):void 0;$({id:i,action:s,result:r});break}case"conversations.getDmByInboxId":{const t=e.conversations.getDmByInboxId(n.inboxId),r=t?await A(t):void 0;$({id:i,action:s,result:r});break}case"conversations.getHmacKeys":{const t=e.conversations.getHmacKeys(),n=Object.fromEntries(Array.from(t.entries()).map((([e,t])=>[e,t.map(P)])));$({id:i,action:s,result:n});break}case"conversation.sync":{const e=t(n.id);await e.sync();const r=await A(e);$({id:i,action:s,result:r});break}case"conversation.consentState":{const e=t(n.id).consentState;$({id:i,action:s,result:e});break}case"conversation.updateConsentState":t(n.id).updateConsentState(n.state),$({id:i,action:s,result:void 0});break;case"group.updateName":{const e=t(n.id);await e.updateName(n.name),$({id:i,action:s,result:void 0});break}case"group.updateDescription":{const e=t(n.id);await e.updateDescription(n.description),$({id:i,action:s,result:void 0});break}case"group.updateImageUrl":{const e=t(n.id);await e.updateImageUrl(n.imageUrl),$({id:i,action:s,result:void 0});break}case"conversation.send":{const e=t(n.id),r=await e.send(b(f(n.content)));$({id:i,action:s,result:r});break}case"conversation.sendOptimistic":{const e=t(n.id).sendOptimistic(b(f(n.content)));$({id:i,action:s,result:e});break}case"conversation.publishMessages":{const e=t(n.id);await e.publishMessages(),$({id:i,action:s,result:void 0});break}case"conversation.messages":{const e=t(n.id),r=(await e.messages(n.options)).map((e=>w(e)));$({id:i,action:s,result:r});break}case"conversation.members":{const e=t(n.id),r=await e.members();$({id:i,action:s,result:r});break}case"group.listAdmins":{const e=t(n.id).admins;$({id:i,action:s,result:e});break}case"group.listSuperAdmins":{const e=t(n.id).superAdmins;$({id:i,action:s,result:e});break}case"group.addAdmin":{const e=t(n.id);await e.addAdmin(n.inboxId),$({id:i,action:s,result:void 0});break}case"group.removeAdmin":{const e=t(n.id);await e.removeAdmin(n.inboxId),$({id:i,action:s,result:void 0});break}case"group.addSuperAdmin":{const e=t(n.id);await e.addSuperAdmin(n.inboxId),$({id:i,action:s,result:void 0});break}case"group.removeSuperAdmin":{const e=t(n.id);await e.removeSuperAdmin(n.inboxId),$({id:i,action:s,result:void 0});break}case"group.addMembersByIdentifiers":{const e=t(n.id);await e.addMembersByIdentifiers(n.identifiers),$({id:i,action:s,result:void 0});break}case"group.removeMembersByIdentifiers":{const e=t(n.id);await e.removeMembersByIdentifiers(n.identifiers),$({id:i,action:s,result:void 0});break}case"group.addMembers":{const e=t(n.id);await e.addMembers(n.inboxIds),$({id:i,action:s,result:void 0});break}case"group.removeMembers":{const e=t(n.id);await e.removeMembers(n.inboxIds),$({id:i,action:s,result:void 0});break}case"group.isAdmin":{const e=t(n.id).isAdmin(n.inboxId);$({id:i,action:s,result:e});break}case"group.isSuperAdmin":{const e=t(n.id).isSuperAdmin(n.inboxId);$({id:i,action:s,result:e});break}case"dm.peerInboxId":{const e=t(n.id).dmPeerInboxId();$({id:i,action:s,result:e});break}case"group.updatePermission":{const e=t(n.id);await e.updatePermission(n.permissionType,n.policy,n.metadataField),$({id:i,action:s,result:void 0});break}case"group.permissions":{const e=t(n.id),r=(await A(e)).permissions;$({id:i,action:s,result:r});break}case"conversation.messageDisappearingSettings":{const e=t(n.id).messageDisappearingSettings(),r=e?(e=>({fromNs:e.fromNs,inNs:e.inNs}))(e):void 0;$({id:i,action:s,result:r});break}case"conversation.updateMessageDisappearingSettings":{const e=t(n.id);await e.updateMessageDisappearingSettings(n.fromNs,n.inNs),$({id:i,action:s,result:void 0});break}case"conversation.removeMessageDisappearingSettings":{const e=t(n.id);await e.removeMessageDisappearingSettings(),$({id:i,action:s,result:void 0});break}case"conversation.isMessageDisappearingEnabled":{const e=t(n.id).isMessageDisappearingEnabled();$({id:i,action:s,result:e});break}case"conversation.stream":{const e=t(n.groupId),r=(e,t)=>{e?J({action:"stream.message",streamId:n.streamId,error:e}):z({action:"stream.message",streamId:n.streamId,result:t?w(t):void 0})},a=e.stream(r,(()=>{H.delete(n.streamId),z({action:"stream.fail",streamId:n.streamId,result:void 0})}));H.set(n.streamId,a),$({id:i,action:s,result:void 0});break}case"conversation.pausedForVersion":{const e=t(n.id).pausedForVersion();$({id:i,action:s,result:e});break}case"conversation.getHmacKeys":{const e=t(n.id).getHmacKeys();$({id:i,action:s,result:e});break}case"dm.getDuplicateDms":{const e=t(n.id),r=await e.getDuplicateDms(),a=await Promise.all(r.map((e=>A(e))));$({id:i,action:s,result:a});break}case"conversation.debugInfo":{const e=t(n.id),r=(e=>({epoch:e.epoch,maybeForked:e.maybeForked,forkDetails:e.forkDetails}))(await e.debugInfo());$({id:i,action:s,result:r});break}}}catch(e){(e=>{self.postMessage(e)})({id:i,action:s,error:e})}var r};
2
2
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sources":["../../src/utils/conversions.ts","../../src/utils/errors.ts","../../src/constants.ts","../../src/WorkerConversation.ts","../../src/WorkerConversations.ts","../../src/WorkerDebugInformation.ts","../../src/WorkerPreferences.ts","../../src/WorkerClient.ts","../../src/utils/createClient.ts","../../src/workers/client.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null],"names":["fromEncodedContent","content","WasmEncodedContent","contentTypeId","type","WasmContentTypeId","authorityId","typeId","versionMajor","versionMinor","Map","Object","entries","parameters","fallback","compression","toSafeEncodedContent","fromSafeEncodedContent","ContentTypeId","toSafeMessage","message","fromEntries","convoId","deliveryStatus","id","kind","senderInboxId","sentAtNs","fromSafeListConversationsOptions","options","ListConversationsOptions","consentStates","conversationType","createdAfterNs","createdBeforeNs","includeDuplicateDms","limit","fromSafeCreateGroupOptions","CreateGroupOptions","permissions","name","imageUrlSquare","description","customPermissionPolicySet","GroupPermissionsOptions","CustomPolicy","policySet","PermissionPolicySet","addMemberPolicy","removeMemberPolicy","addAdminPolicy","removeAdminPolicy","updateGroupNamePolicy","updateGroupDescriptionPolicy","updateGroupImageUrlSquarePolicy","updateMessageDisappearingPolicy","undefined","messageDisappearingSettings","fromSafeMessageDisappearingSettings","fromSafeCreateDmOptions","CreateDMOptions","toSafeConversation","async","conversation","imageUrl","isActive","addedByInboxId","metadata","admins","superAdmins","createdAtNs","policyType","toSafeInstallation","installation","bytes","clientTimestampNs","toSafeInboxState","inboxState","identifiers","accountIdentifiers","inboxId","installations","map","recoveryIdentifier","toSafeConsent","consent","entity","entityType","state","fromSafeConsent","Consent","toSafeHmacKey","hmacKey","key","epoch","settings","MessageDisappearingSettings","fromNs","inNs","toSafeKeyPackageStatus","status","lifetime","notBefore","not_before","notAfter","not_after","validationError","ClientNotInitializedError","Error","constructor","super","GroupNotFoundError","groupId","StreamNotFoundError","streamId","ApiUrls","local","dev","production","HistorySyncUrls","WorkerConversation","client","group","this","groupName","updateName","updateGroupName","groupImageUrlSquare","updateImageUrl","updateGroupImageUrlSquare","groupDescription","updateDescription","updateGroupDescription","groupMetadata","creatorInboxId","members","listMembers","member","consentState","installationIds","permissionLevel","toSafeGroupMember","adminList","superAdminList","groupPermissions","updatePermission","permissionType","policy","metadataField","updatePermissionPolicy","isAdmin","isSuperAdmin","sync","addMembersByIdentifiers","addMembers","inboxIds","addMembersByInboxId","removeMembersByIdentifiers","removeMembers","removeMembersByInboxId","addAdmin","removeAdmin","addSuperAdmin","removeSuperAdmin","publishMessages","sendOptimistic","encodedContent","send","messages","findMessages","ListMessagesOptions","sentBeforeNs","sentAfterNs","direction","contentTypes","fromSafeListMessagesOptions","updateConsentState","dmPeerInboxId","updateMessageDisappearingSettings","removeMessageDisappearingSettings","isMessageDisappearingEnabled","stream","callback","on_message","on_error","error","pausedForVersion","getHmacKeys","debugInfo","getDebugInfo","getDuplicateDms","findDuplicateDms","dm","WorkerConversations","conversations","syncAll","syncAllConversations","getConversationById","findGroupById","getMessageById","findMessageById","getDmByInboxId","findDmByTargetInboxId","list","item","listGroups","ConversationType","Group","listDms","Dm","newGroupOptimistic","createGroupOptimistic","newGroupWithIdentifiers","createGroup","newGroup","createGroupByInboxIds","newDmWithIdentifier","identifier","createDm","newDm","createDmByInboxId","on_conversation","streamGroups","streamDms","streamAllMessages","WorkerDebugInformation","apiStatistics","apiIdentityStatistics","apiAggregateStatistics","clearAllStatistics","uploadDebugArchive","serverUrl","env","historySyncUrl","WorkerPreferences","syncPreferences","refreshFromNetwork","inboxStateFromInboxIds","getLatestInboxState","setConsentStates","records","getConsentState","streamConsent","on_consent_update","streamPreferences","on_user_preference_update","preferences","WorkerClient","debugInformation","create","host","apiUrl","getInboxIdForIdentifier","generateInboxId","dbPath","isLogging","loggingLevel","structuredLogging","performanceLogging","deviceSyncWorkerMode","disableDeviceSync","createWasmClient","dbEncryptionKey","LogOptions","createClient","accountIdentifier","installationId","installationIdBytes","isRegistered","canMessage","addSignature","signatureRequest","signer","addScwSignature","signature","chainId","blockNumber","addEcdsaSignature","applySignatureRequest","processSignatureRequest","createInboxSignatureRequest","addAccountSignatureRequest","newAccountIdentifier","addWalletSignatureRequest","removeAccountSignatureRequest","revokeWalletSignatureRequest","revokeAllOtherInstallationsSignatureRequest","revokeInstallationsSignatureRequest","changeRecoveryIdentifierSignatureRequest","registerIdentity","findInboxIdByIdentifier","signWithInstallationKey","signatureText","verifySignedWithInstallationKey","signatureBytes","verifySignedWithPublicKey","publicKey","getKeyPackageStatusesForInstallationIds","maybeClient","enableLogging","streamClosers","signatureRequests","postMessage","data","self","postStreamMessage","postStreamMessageError","onmessage","event","action","console","log","init","result","getGroup","streamCloser","get","end","delete","signatureRequestId","set","newIdentifier","safeResult","Array","from","apiStats","uploadKeyPackage","stats","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","getIdentityUpdatesV2","get_identity_updates_v2","getInboxIds","get_inbox_ids","publishIdentityUpdate","publish_identity_update","verifySmartContractWalletSignature","verify_smart_contract_wallet_signature","toSafeIdentityStats","streamCallback","value","Promise","all","hmacKeys","toSafeMessageDisappearingSettings","dms","maybeForked","forkDetails","toSafeConversationDebugInfo","e","postMessageError"],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sources":["../../src/utils/conversions.ts","../../src/utils/errors.ts","../../src/constants.ts","../../src/WorkerConversation.ts","../../src/WorkerConversations.ts","../../src/WorkerDebugInformation.ts","../../src/WorkerPreferences.ts","../../src/WorkerClient.ts","../../src/utils/createClient.ts","../../src/workers/client.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null],"names":["fromEncodedContent","content","WasmEncodedContent","contentTypeId","type","WasmContentTypeId","authorityId","typeId","versionMajor","versionMinor","Map","Object","entries","parameters","fallback","compression","toSafeEncodedContent","fromSafeEncodedContent","ContentTypeId","toSafeMessage","message","fromEntries","convoId","deliveryStatus","id","kind","senderInboxId","sentAtNs","fromSafeListConversationsOptions","options","ListConversationsOptions","consentStates","conversationType","createdAfterNs","createdBeforeNs","includeDuplicateDms","limit","fromSafeCreateGroupOptions","CreateGroupOptions","permissions","name","imageUrlSquare","description","customPermissionPolicySet","GroupPermissionsOptions","CustomPolicy","policySet","PermissionPolicySet","addMemberPolicy","removeMemberPolicy","addAdminPolicy","removeAdminPolicy","updateGroupNamePolicy","updateGroupDescriptionPolicy","updateGroupImageUrlSquarePolicy","updateMessageDisappearingPolicy","undefined","messageDisappearingSettings","fromSafeMessageDisappearingSettings","fromSafeCreateDmOptions","CreateDMOptions","toSafeConversation","async","conversation","imageUrl","isActive","addedByInboxId","metadata","admins","superAdmins","createdAtNs","policyType","toSafeInstallation","installation","bytes","clientTimestampNs","toSafeInboxState","inboxState","identifiers","accountIdentifiers","inboxId","installations","map","recoveryIdentifier","toSafeConsent","consent","entity","entityType","state","fromSafeConsent","Consent","toSafeHmacKey","hmacKey","key","epoch","settings","MessageDisappearingSettings","fromNs","inNs","toSafeKeyPackageStatus","status","lifetime","notBefore","not_before","notAfter","not_after","validationError","ClientNotInitializedError","Error","constructor","super","GroupNotFoundError","groupId","StreamNotFoundError","streamId","ApiUrls","local","dev","production","HistorySyncUrls","WorkerConversation","client","group","this","groupName","updateName","updateGroupName","groupImageUrlSquare","updateImageUrl","updateGroupImageUrlSquare","groupDescription","updateDescription","updateGroupDescription","groupMetadata","creatorInboxId","members","listMembers","member","consentState","installationIds","permissionLevel","toSafeGroupMember","adminList","superAdminList","groupPermissions","updatePermission","permissionType","policy","metadataField","updatePermissionPolicy","isAdmin","isSuperAdmin","sync","addMembersByIdentifiers","addMembers","inboxIds","addMembersByInboxId","removeMembersByIdentifiers","removeMembers","removeMembersByInboxId","addAdmin","removeAdmin","addSuperAdmin","removeSuperAdmin","publishMessages","sendOptimistic","encodedContent","send","messages","findMessages","ListMessagesOptions","sentBeforeNs","sentAfterNs","direction","contentTypes","fromSafeListMessagesOptions","updateConsentState","dmPeerInboxId","updateMessageDisappearingSettings","removeMessageDisappearingSettings","isMessageDisappearingEnabled","stream","callback","onFail","on_message","on_error","error","on_close","pausedForVersion","getHmacKeys","debugInfo","getDebugInfo","getDuplicateDms","findDuplicateDms","dm","WorkerConversations","conversations","syncAll","syncAllConversations","getConversationById","findGroupById","getMessageById","findMessageById","getDmByInboxId","findDmByTargetInboxId","list","item","listGroups","ConversationType","Group","listDms","Dm","newGroupOptimistic","createGroupOptimistic","newGroupWithIdentifiers","createGroup","newGroup","createGroupByInboxIds","newDmWithIdentifier","identifier","createDm","newDm","createDmByInboxId","on_conversation","streamGroups","streamDms","streamAllMessages","WorkerDebugInformation","apiStatistics","apiIdentityStatistics","apiAggregateStatistics","clearAllStatistics","uploadDebugArchive","serverUrl","env","historySyncUrl","WorkerPreferences","syncPreferences","refreshFromNetwork","inboxStateFromInboxIds","getLatestInboxState","setConsentStates","records","getConsentState","streamConsent","on_consent_update","streamPreferences","on_user_preference_update","preferences","WorkerClient","debugInformation","create","host","apiUrl","getInboxIdForIdentifier","generateInboxId","dbPath","isLogging","loggingLevel","structuredLogging","performanceLogging","deviceSyncWorkerMode","disableDeviceSync","createWasmClient","dbEncryptionKey","LogOptions","createClient","accountIdentifier","installationId","installationIdBytes","isRegistered","canMessage","addSignature","signatureRequest","signer","addScwSignature","signature","chainId","blockNumber","addEcdsaSignature","applySignatureRequest","processSignatureRequest","createInboxSignatureRequest","addAccountSignatureRequest","newAccountIdentifier","addWalletSignatureRequest","removeAccountSignatureRequest","revokeWalletSignatureRequest","revokeAllOtherInstallationsSignatureRequest","revokeInstallationsSignatureRequest","changeRecoveryIdentifierSignatureRequest","registerIdentity","findInboxIdByIdentifier","signWithInstallationKey","signatureText","verifySignedWithInstallationKey","signatureBytes","verifySignedWithPublicKey","publicKey","getKeyPackageStatusesForInstallationIds","maybeClient","enableLogging","streamClosers","signatureRequests","postMessage","data","self","postStreamMessage","postStreamMessageError","onmessage","event","action","console","log","init","result","getGroup","streamCloser","get","end","delete","signatureRequestId","set","newIdentifier","safeResult","Array","from","apiStats","uploadKeyPackage","stats","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","getIdentityUpdatesV2","get_identity_updates_v2","getInboxIds","get_inbox_ids","publishIdentityUpdate","publish_identity_update","verifySmartContractWalletSignature","verify_smart_contract_wallet_signature","toSafeIdentityStats","streamCallback","value","then","catch","Promise","all","hmacKeys","toSafeMessageDisappearingSettings","dms","maybeForked","forkDetails","toSafeConversationDebugInfo","e","postMessageError"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xmtp/browser-sdk",
3
- "version": "3.1.2",
3
+ "version": "4.0.0",
4
4
  "description": "XMTP client SDK for browsers written in TypeScript",
5
5
  "keywords": [
6
6
  "xmtp",
@@ -63,7 +63,7 @@
63
63
  "@xmtp/content-type-group-updated": "^2.0.2",
64
64
  "@xmtp/content-type-primitives": "^2.0.2",
65
65
  "@xmtp/content-type-text": "^2.0.2",
66
- "@xmtp/wasm-bindings": "1.3.3",
66
+ "@xmtp/wasm-bindings": "1.3.4",
67
67
  "uuid": "^11.1.0"
68
68
  },
69
69
  "devDependencies": {
@@ -1,130 +1,101 @@
1
1
  type ResolveValue<T> = {
2
- value: T | undefined;
2
+ value: T;
3
3
  done: boolean;
4
4
  };
5
5
 
6
6
  type ResolveNext<T> = (resolveValue: ResolveValue<T>) => void;
7
7
 
8
- type PendingPromise<T> = {
9
- resolve: ResolveNext<T>;
10
- reject: (error: Error) => void;
11
- };
12
-
13
- export type StreamCallback<T> = (
14
- err: Error | null,
15
- value: T | undefined,
16
- ) => void | Promise<void>;
17
-
8
+ /**
9
+ * AsyncStream provides an async iterable interface for streaming data.
10
+ *
11
+ * This class implements a producer-consumer pattern where:
12
+ * - Producers can push values using the `push()` method
13
+ * - Consumers can iterate over values asynchronously using `for await` loops or `next()`
14
+ * - Values are queued internally when no consumers are waiting
15
+ * - Consumers are resolved immediately when values are available
16
+ * - The stream can be terminated using `done()`, `return()`, or `end()`
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * const stream = new AsyncStream<string>();
21
+ *
22
+ * stream.push("hello");
23
+ * stream.push("world");
24
+ *
25
+ * for await (const value of stream) {
26
+ * console.log(value); // "hello", "world"
27
+ * }
28
+ * ```
29
+ */
18
30
  export class AsyncStream<T> {
19
- #isDone = false;
20
- #pendingPromises: PendingPromise<T>[] = [];
21
- #queue: (T | undefined | Error)[];
22
- #error: Error | undefined;
23
- #onDone: (() => void) | undefined;
24
- #onReturn: (() => void) | undefined;
25
- #onError: ((error: Error) => void) | undefined;
31
+ isDone = false;
32
+ #pendingResolves: ResolveNext<T | undefined>[] = [];
33
+ #queue: T[];
34
+ onDone: (() => void) | undefined;
35
+ onReturn: (() => void) | undefined;
26
36
 
27
37
  constructor() {
28
38
  this.#queue = [];
29
- this.#isDone = false;
39
+ this.isDone = false;
30
40
  }
31
41
 
32
- #flush(value?: T) {
33
- while (this.#pendingPromises.length > 0) {
34
- const nextPendingPromise = this.#pendingPromises.shift();
35
- if (nextPendingPromise) {
36
- nextPendingPromise.resolve({ done: true, value });
42
+ flush() {
43
+ while (this.#pendingResolves.length > 0) {
44
+ const nextResolve = this.#pendingResolves.shift();
45
+ if (nextResolve) {
46
+ nextResolve({ done: true, value: undefined });
37
47
  }
38
48
  }
39
49
  }
40
50
 
41
- #done(value?: T) {
42
- this.#flush(value);
51
+ done() {
52
+ this.flush();
43
53
  this.#queue = [];
44
- this.#pendingPromises = [];
45
- this.#isDone = true;
46
- this.#onDone?.();
47
- if (this.#error) {
48
- this.#onError?.(this.#error);
49
- }
50
- }
51
-
52
- get error() {
53
- return this.#error;
54
- }
55
-
56
- get isDone() {
57
- return this.#isDone;
54
+ this.#pendingResolves = [];
55
+ this.isDone = true;
56
+ this.onDone?.();
58
57
  }
59
58
 
60
- set onReturn(callback: () => void) {
61
- this.#onReturn = callback;
62
- }
63
-
64
- set onError(callback: (error: Error) => void) {
65
- this.#onError = callback;
66
- }
67
-
68
- set onDone(callback: () => void) {
69
- this.#onDone = callback;
70
- }
71
-
72
- callback: StreamCallback<T> = (error, value) => {
73
- if (this.#isDone) {
59
+ push = (value: T) => {
60
+ if (this.isDone) {
74
61
  return;
75
62
  }
76
63
 
77
- const nextPendingPromise = this.#pendingPromises.shift();
78
- if (nextPendingPromise) {
79
- const { resolve, reject } = nextPendingPromise;
80
- if (error) {
81
- this.#error = error;
82
- reject(error);
83
- this.#done();
84
- } else {
85
- resolve({
86
- done: false,
87
- value,
88
- });
89
- }
64
+ const nextResolve = this.#pendingResolves.shift();
65
+ if (nextResolve) {
66
+ nextResolve({
67
+ done: false,
68
+ value,
69
+ });
90
70
  } else {
91
- this.#queue.push(error ?? value);
71
+ this.#queue.push(value);
92
72
  }
93
73
  };
94
74
 
95
- next = (): Promise<ResolveValue<T>> => {
96
- if (this.#isDone) {
97
- return Promise.resolve({
98
- done: true,
99
- value: undefined,
100
- });
75
+ next = (): Promise<ResolveValue<T | undefined>> => {
76
+ if (this.isDone) {
77
+ return Promise.resolve({ done: true, value: undefined });
101
78
  }
102
79
 
103
80
  if (this.#queue.length > 0) {
104
- const value = this.#queue.shift();
105
- if (value instanceof Error) {
106
- this.#error = value;
107
- this.#done();
108
- return Promise.reject(value);
109
- }
110
81
  return Promise.resolve({
111
82
  done: false,
112
- value,
83
+ value: this.#queue.shift(),
113
84
  });
114
85
  }
115
86
 
116
- return new Promise((resolve, reject) => {
117
- this.#pendingPromises.push({ resolve, reject });
87
+ return new Promise((resolve) => {
88
+ this.#pendingResolves.push(resolve);
118
89
  });
119
90
  };
120
91
 
121
- return = (value?: T): Promise<ResolveValue<T>> => {
122
- this.#onReturn?.();
123
- this.#done(value);
92
+ return = (): Promise<ResolveValue<T | undefined>> => {
93
+ this.onReturn?.();
94
+ this.done();
124
95
 
125
96
  return Promise.resolve({
126
97
  done: true,
127
- value,
98
+ value: undefined,
128
99
  });
129
100
  };
130
101
 
@@ -134,3 +105,85 @@ export class AsyncStream<T> {
134
105
  return this;
135
106
  }
136
107
  }
108
+
109
+ export interface AsyncStreamProxy<T> extends AsyncIterable<T> {
110
+ next(): Promise<ResolveValue<T>>;
111
+ return(): Promise<ResolveValue<undefined>>;
112
+ end(): Promise<ResolveValue<undefined>>;
113
+ isDone: boolean;
114
+ }
115
+
116
+ const usableProperties = [
117
+ "end",
118
+ "isDone",
119
+ "next",
120
+ "return",
121
+ Symbol.asyncIterator,
122
+ ];
123
+ const isUsableProperty = <T>(
124
+ prop: string | symbol,
125
+ ): prop is keyof AsyncStreamProxy<T> => {
126
+ return usableProperties.includes(prop);
127
+ };
128
+
129
+ /**
130
+ * Creates a read-only proxy for AsyncStream instances that restricts access to consumer-only methods.
131
+ *
132
+ * This proxy only exposes the following properties and methods:
133
+ * - `next()`: Get the next value from the stream
134
+ * - `end()`: Terminate the stream and stop iteration
135
+ * - `return()`: Same as end(), terminates the stream
136
+ * - `isDone`: Boolean indicating if the stream has been terminated
137
+ * - `Symbol.asyncIterator`: Enables `for await` loop iteration
138
+ *
139
+ * Producer methods like `push()`, `done()`, and `flush()` are hidden to prevent
140
+ * consumers from accidentally modifying the stream state.
141
+ *
142
+ * @param stream - The AsyncStream instance to create a proxy for
143
+ * @returns A read-only proxy that implements AsyncStreamProxy<T>
144
+ *
145
+ * @example
146
+ * ```typescript
147
+ * const stream = new AsyncStream<string>();
148
+ * const proxy = createAsyncStreamProxy(stream);
149
+ *
150
+ * stream.push("hello");
151
+ * stream.push("world");
152
+ *
153
+ * for await (const value of proxy) {
154
+ * console.log(value); // "hello", "world"
155
+ * }
156
+ * ```
157
+ */
158
+ export function createAsyncStreamProxy<T>(stream: AsyncStream<T>) {
159
+ return new Proxy(stream, {
160
+ get(target, prop, receiver) {
161
+ if (isUsableProperty(prop)) {
162
+ return Reflect.get(target, prop, receiver);
163
+ }
164
+ },
165
+
166
+ set() {
167
+ return true;
168
+ },
169
+
170
+ has(_target, prop) {
171
+ return isUsableProperty(prop);
172
+ },
173
+
174
+ ownKeys() {
175
+ return usableProperties;
176
+ },
177
+
178
+ getOwnPropertyDescriptor(target, prop) {
179
+ if (isUsableProperty(prop)) {
180
+ return {
181
+ enumerable: true,
182
+ configurable: true,
183
+ value: Reflect.get(target, prop),
184
+ };
185
+ }
186
+ return undefined;
187
+ },
188
+ }) as AsyncStreamProxy<T>;
189
+ }