@xmtp/browser-sdk 6.4.1 → 7.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -0
- package/dist/index.d.ts +139 -6
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/workers/client.js +1 -1
- package/dist/workers/client.js.map +1 -1
- package/package.json +10 -2
- package/src/Client.ts +145 -5
- package/src/Conversation.ts +13 -0
- package/src/WorkerClient.ts +41 -0
- package/src/WorkerConversation.ts +4 -0
- package/src/index.ts +2 -0
- package/src/types/actions/client.ts +62 -0
- package/src/types/actions/conversation.ts +10 -0
- package/src/utils/signer.ts +37 -1
- package/src/workers/client.ts +41 -0
package/dist/workers/client.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e,{XmtpEnv as t,BackendBuilder as s,getInboxIdForIdentifier as n,generateInboxId as i,DeviceSyncMode as a,createClientWithBackend as r,SortDirection as o,GroupMembershipState as c,ConversationType as d,verifySignedWithPublicKey as u,LogLevel as l}from"@xmtp/wasm-bindings";const g=async e=>({id:e.id,name:e.name,imageUrl:e.imageUrl,description:e.description,appData:e.appData,permissions:e.permissions(),addedByInboxId:e.addedByInboxId,metadata:await e.metadata(),admins:e.listAdmins(),superAdmins:e.listSuperAdmins(),createdAtNs:e.createdAtNs});class p extends Error{constructor(){super("Client not initialized, use Client.create or Client.build to create a client")}}class m extends Error{constructor(e){super(`Group "${e}" not found`)}}class v extends Error{constructor(e){super(`Stream "${e}" not found`)}}const I={local:t.Local,dev:t.Dev,production:t.Production,"testnet-staging":t.TestnetStaging,"testnet-dev":t.TestnetDev,testnet:t.Testnet,mainnet:t.Mainnet},h={[t.Local]:"local",[t.Dev]:"dev",[t.Production]:"production",[t.TestnetStaging]:"testnet-staging",[t.TestnetDev]:"testnet-dev",[t.Testnet]:"testnet",[t.Mainnet]:"mainnet"},b=async t=>{await e();let n=new s(I[t?.env??"dev"]);return t?.apiUrl&&(n=n.setApiUrl(t.apiUrl)),t?.gatewayHost&&(n=n.setGatewayHost(t.gatewayHost)),t?.appVersion&&(n=n.setAppVersion(t.appVersion)),n.build()},y=["env","apiUrl","gatewayHost","appVersion"],w=async(e,t)=>{const s=await(async e=>{if(!e)return b();if((e=>"backend"in e)(e)){const t=y.filter(t=>t in e&&null!=e[t]);if(t.length>0)throw new Error(`Cannot specify both 'backend' and network options (${t.join(", ")}). Use either a pre-built Backend or network options, not both.`);return e.backend}return b(e)})(t),o=await n(s,e)||i(e),c=(d=s.env,h[d]);var d;const u=void 0===t?.dbPath?`xmtp-${c}-${o}.db3`:t.dbPath,l=t&&(void 0!==t.loggingLevel||t.structuredLogging||t.performanceLogging),g=t?.disableDeviceSync?a.Disabled:a.Enabled;return{client:await r(s,o,e,u,t?.dbEncryptionKey,g,l?{structured:t.structuredLogging??!1,performance:t.performanceLogging??!1,level:t.loggingLevel}:void 0,void 0,void 0),env:c}};class S{#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 appData(){try{return this.#t.appData()}catch{return""}}async updateAppData(e){return this.#t.updateAppData(e)}get isActive(){return this.#t.isActive()}get addedByInboxId(){return this.#t.addedByInboxId()}get createdAtNs(){return this.#t.createdAtNs()}async lastMessage(){const e=await this.messages({limit:1n,direction:o.Descending});if(e.length>0)return e[0]}async metadata(){return this.#t.groupMetadata()}async members(){return await this.#t.listMembers()}listAdmins(){return this.#t.adminList()}listSuperAdmins(){return this.#t.superAdminList()}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.addMembersByIdentity(e)}async addMembers(e){return this.#t.addMembers(e)}async removeMembersByIdentifiers(e){return this.#t.removeMembersByIdentity(e)}async removeMembers(e){return this.#t.removeMembers(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()}async send(e,t){return this.#t.send(e,t??{shouldPush:!0})}async sendText(e,t){return this.#t.sendText(e,t)}async sendMarkdown(e,t){return this.#t.sendMarkdown(e,t)}async sendReaction(e,t){return this.#t.sendReaction(e,t)}async sendReadReceipt(e){return this.#t.sendReadReceipt(e)}async sendReply(e,t){return this.#t.sendReply(e,t)}async sendTransactionReference(e,t){return this.#t.sendTransactionReference(e,t)}async sendWalletSendCalls(e,t){return this.#t.sendWalletSendCalls(e,t)}async sendActions(e,t){return this.#t.sendActions(e,t)}async sendIntent(e,t){return this.#t.sendIntent(e,t)}async sendAttachment(e,t){return this.#t.sendAttachment(e,t)}async sendMultiRemoteAttachment(e,t){return this.#t.sendMultiRemoteAttachment(e,t)}async sendRemoteAttachment(e,t){return this.#t.sendRemoteAttachment(e,t)}async messages(e){return this.#t.findEnrichedMessages(e)}async countMessages(e){return this.#t.countMessages(e)}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={fromNs:e,inNs: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()}hmacKeys(){return this.#t.getHmacKeys()}async debugInfo(){return await this.#t.getDebugInfo()}async duplicateDms(){return(await this.#t.findDuplicateDms()).map(e=>new S(this.#e,e))}async requestRemoval(){return this.#t.leaveGroup()}isPendingRemoval(){return this.#t.membershipState()===c.PendingRemove}async lastReadTimes(){return this.#t.getLastReadTimes()}}class f{#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 S(this.#e,t)}catch{return}}async getMessageById(e){try{return await this.#s.findEnrichedMessageById(e)}catch{return}}getDmByInboxId(e){try{const t=this.#s.findDmByTargetInboxId(e);return new S(this.#e,t)}catch{return}}list(e){return this.#s.list(e).map(e=>new S(this.#e,e.conversation))}listGroups(e){return this.#s.list({...e??{},conversationType:d.Group}).map(e=>new S(this.#e,e.conversation))}listDms(e){return this.#s.list({...e??{},conversationType:d.Dm}).map(e=>new S(this.#e,e.conversation))}createGroupOptimistic(e){const t=this.#s.createGroupOptimistic(e);return new S(this.#e,t)}async createGroupWithIdentifiers(e,t){const s=await this.#s.createGroup(e,t);return new S(this.#e,s)}async createGroup(e,t){const s=await this.#s.createGroupByInboxIds(e,t);return new S(this.#e,s)}async createDmWithIdentifier(e,t){const s=await this.#s.createDm(e,t);return new S(this.#e,s)}async createDm(e,t){const s=await this.#s.createDmByInboxId(e,t);return new S(this.#e,s)}hmacKeys(){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,d.Group)}streamDms(e,t){return this.stream(e,t,d.Dm)}streamAllMessages(e,t,s,n){return this.#s.streamAllMessages({on_message:t=>{e(null,t)},on_error:t=>{e(t,void 0)},on_close:()=>{t()}},s,n)}streamDeletedMessages(e){return this.#s.streamMessageDeletions({on_message_deleted:t=>{e(null,t)},on_error:t=>{e(t,void 0)}})}}class k{#e;constructor(e){this.#e=e}apiStatistics(){return this.#e.apiStatistics()}apiIdentityStatistics(){return this.#e.apiIdentityStatistics()}apiAggregateStatistics(){return this.#e.apiAggregateStatistics()}clearAllStatistics(){this.#e.clearAllStatistics()}}class R{#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 getInboxStates(e,t){return this.#e.inboxStateFromInboxIds(e,t??!1)}async setConsentStates(e){return this.#e.setConsentStates(e)}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 A{#e;#s;#n;#i;#a;constructor(e,t){this.#e=e,this.#i=t;const s=e.conversations();this.#s=new f(this,s),this.#n=new k(e),this.#a=new R(e,s)}static async create(e,t){const{client:s,env:n}=await w(e,t);return new A(s,n)}get libxmtpVersion(){return this.#e.libxmtpVersion}get appVersion(){return this.#e.appVersion}get env(){return this.#i}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.#a}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 getInboxIdByIdentifier(e){return this.#e.findInboxIdByIdentity(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 u(e,t,s),!0}catch{return!1}}async fetchKeyPackageStatuses(e){return this.#e.getKeyPackageStatusesForInstallationIds(e)}async sendSyncRequest(e,t){return this.#e.device_sync().sendSyncRequest(e,t)}}let x,q=!1;const M=new Map,D=new Map,T=e=>{self.postMessage(e)},B=e=>{self.postMessage(e)},P=e=>{self.postMessage(e)};self.onmessage=async t=>{const{action:s,id:n,data:i}=t.data;q&&console.log("client worker received event data",t.data),await e();try{if("client.init"===s&&!x)return x=await A.create(i.identifier,i.options),q=void 0!==i.options?.loggingLevel&&i.options.loggingLevel!==l.Off,void T({id:n,action:s,result:{appVersion:x.appVersion,env:x.env,inboxId:x.inboxId,installationId:x.installationId,installationIdBytes:x.installationIdBytes,libxmtpVersion:x.libxmtpVersion}});if(!x)throw new p;const e=x,t=t=>{const s=e.conversations.getConversationById(t);if(!s)throw new m(t);return s};switch(s){case"endStream":{const e=M.get(i.streamId);if(!e)throw new v(i.streamId);e.end(),M.delete(i.streamId),T({id:n,action:s,result:void 0});break}case"client.applySignatureRequest":{const t=D.get(i.signatureRequestId);if(!t)throw new Error("Signature request not found");await e.processSignatureRequest(i.signer,t),D.delete(i.signatureRequestId),T({id:n,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=i.signatureRequestId,D.set(i.signatureRequestId,s))}finally{T({id:n,action:s,result:t})}break}case"client.addAccountSignatureText":{const t=await e.addAccountSignatureRequest(i.newIdentifier),a={signatureText:await t.signatureText(),signatureRequestId:i.signatureRequestId};D.set(i.signatureRequestId,t),T({id:n,action:s,result:a});break}case"client.removeAccountSignatureText":{const t=await e.removeAccountSignatureRequest(i.identifier),a={signatureText:await t.signatureText(),signatureRequestId:i.signatureRequestId};D.set(i.signatureRequestId,t),T({id:n,action:s,result:a});break}case"client.revokeAllOtherInstallationsSignatureText":{const t=await e.revokeAllOtherInstallationsSignatureRequest(),a={signatureText:await(t?.signatureText()),signatureRequestId:i.signatureRequestId};t&&D.set(i.signatureRequestId,t),T({id:n,action:s,result:a});break}case"client.revokeInstallationsSignatureText":{const t=await e.revokeInstallationsSignatureRequest(i.installationIds),a={signatureText:await t.signatureText(),signatureRequestId:i.signatureRequestId};D.set(i.signatureRequestId,t),T({id:n,action:s,result:a});break}case"client.changeRecoveryIdentifierSignatureText":{const t=await e.changeRecoveryIdentifierSignatureRequest(i.identifier),a={signatureText:await t.signatureText(),signatureRequestId:i.signatureRequestId};D.set(i.signatureRequestId,t),T({id:n,action:s,result:a});break}case"client.registerIdentity":{const t=D.get(i.signatureRequestId);if(!t)throw new Error("Signature request not found");await e.registerIdentity(i.signer,t),D.delete(i.signatureRequestId),T({id:n,action:s,result:void 0});break}case"client.addAccount":{const t=D.get(i.signatureRequestId);if(!t)throw new Error("Signature request not found");await e.processSignatureRequest(i.signer,t),D.delete(i.signatureRequestId),T({id:n,action:s,result:void 0});break}case"client.removeAccount":{const t=D.get(i.signatureRequestId);if(!t)throw new Error("Signature request not found");await e.processSignatureRequest(i.signer,t),D.delete(i.signatureRequestId),T({id:n,action:s,result:void 0});break}case"client.revokeAllOtherInstallations":{const t=D.get(i.signatureRequestId);if(!t)throw new Error("Signature request not found");await e.processSignatureRequest(i.signer,t),D.delete(i.signatureRequestId),T({id:n,action:s,result:void 0});break}case"client.revokeInstallations":{const t=D.get(i.signatureRequestId);if(!t)throw new Error("Signature request not found");await e.processSignatureRequest(i.signer,t),D.delete(i.signatureRequestId),T({id:n,action:s,result:void 0});break}case"client.changeRecoveryIdentifier":{const t=D.get(i.signatureRequestId);if(!t)throw new Error("Signature request not found");await e.processSignatureRequest(i.signer,t),D.delete(i.signatureRequestId),T({id:n,action:s,result:void 0});break}case"client.isRegistered":{const t=e.isRegistered;T({id:n,action:s,result:t});break}case"client.canMessage":{const t=await e.canMessage(i.identifiers);T({id:n,action:s,result:t});break}case"client.getInboxIdByIdentifier":{const t=await e.getInboxIdByIdentifier(i.identifier);T({id:n,action:s,result:t});break}case"client.signWithInstallationKey":{const t=e.signWithInstallationKey(i.signatureText);T({id:n,action:s,result:t});break}case"client.verifySignedWithInstallationKey":{const t=e.verifySignedWithInstallationKey(i.signatureText,i.signatureBytes);T({id:n,action:s,result:t});break}case"client.verifySignedWithPublicKey":{const t=e.verifySignedWithPublicKey(i.signatureText,i.signatureBytes,i.publicKey);T({id:n,action:s,result:t});break}case"client.fetchKeyPackageStatuses":{const t=await e.fetchKeyPackageStatuses(i.installationIds);T({id:n,action:s,result:t});break}case"client.sendSyncRequest":await e.sendSyncRequest(i.options,i.serverUrl),T({id:n,action:s,result:void 0});break;case"debugInformation.apiStatistics":{const t=e.debugInformation.apiStatistics();T({id:n,action:s,result:t});break}case"debugInformation.apiIdentityStatistics":{const t=e.debugInformation.apiIdentityStatistics();T({id:n,action:s,result:t});break}case"debugInformation.apiAggregateStatistics":{const t=e.debugInformation.apiAggregateStatistics();T({id:n,action:s,result:t});break}case"debugInformation.clearAllStatistics":e.debugInformation.clearAllStatistics(),T({id:n,action:s,result:void 0});break;case"preferences.inboxState":{const t=await e.preferences.inboxState(i.refreshFromNetwork);T({id:n,action:s,result:t});break}case"preferences.getInboxStates":{const t=await e.preferences.getInboxStates(i.inboxIds,i.refreshFromNetwork);T({id:n,action:s,result:t});break}case"preferences.setConsentStates":await e.preferences.setConsentStates(i.records),T({id:n,action:s,result:void 0});break;case"preferences.getConsentState":{const t=await e.preferences.getConsentState(i.entityType,i.entity);T({id:n,action:s,result:t});break}case"preferences.sync":{const t=await e.preferences.sync();T({id:n,action:s,result:t});break}case"preferences.streamConsent":{const t=(e,t)=>{e?P({action:"stream.consent",streamId:i.streamId,error:e}):B({action:"stream.consent",streamId:i.streamId,result:t??[]})},a=e.preferences.streamConsent(t,()=>{M.delete(i.streamId),B({action:"stream.fail",streamId:i.streamId,result:void 0})});M.set(i.streamId,a),T({id:n,action:s,result:void 0});break}case"preferences.streamPreferences":{const t=(e,t)=>{e?P({action:"stream.preferences",streamId:i.streamId,error:e}):B({action:"stream.preferences",streamId:i.streamId,result:t??void 0})},a=e.preferences.streamPreferences(t,()=>{M.delete(i.streamId),B({action:"stream.fail",streamId:i.streamId,result:void 0})});M.set(i.streamId,a),T({id:n,action:s,result:void 0});break}case"conversations.stream":{const t=(t,s)=>{t?P({action:"stream.conversation",streamId:i.streamId,error:t}):s?g(new S(e,s)).then(e=>{B({action:"stream.conversation",streamId:i.streamId,result:e})}).catch(e=>{P({action:"stream.conversation",streamId:i.streamId,error:e})}):B({action:"stream.conversation",streamId:i.streamId,result:void 0})},a=e.conversations.stream(t,()=>{M.delete(i.streamId),B({action:"stream.fail",streamId:i.streamId,result:void 0})},i.conversationType);M.set(i.streamId,a),T({id:n,action:s,result:void 0});break}case"conversations.streamAllMessages":{const t=(t,s)=>{t?P({action:"stream.message",streamId:i.streamId,error:t}):s&&e.conversations.getMessageById(s.id).then(e=>{e&&B({action:"stream.message",streamId:i.streamId,result:e})})},a=e.conversations.streamAllMessages(t,()=>{M.delete(i.streamId),B({action:"stream.fail",streamId:i.streamId,result:void 0})},i.conversationType,i.consentStates);M.set(i.streamId,a),T({id:n,action:s,result:void 0});break}case"conversations.streamDeletedMessages":{const t=(e,t)=>{e?P({action:"stream.deletedMessage",streamId:i.streamId,error:e}):B({action:"stream.deletedMessage",streamId:i.streamId,result:t})},a=e.conversations.streamDeletedMessages(t);M.set(i.streamId,a),T({id:n,action:s,result:void 0});break}case"conversations.list":{const t=e.conversations.list(i.options),a=await Promise.all(t.map(e=>g(e)));T({id:n,action:s,result:a});break}case"conversations.listGroups":{const t=e.conversations.listGroups(i.options),a=await Promise.all(t.map(e=>g(e)));T({id:n,action:s,result:a});break}case"conversations.listDms":{const t=e.conversations.listDms(i.options),a=await Promise.all(t.map(e=>g(e)));T({id:n,action:s,result:a});break}case"conversations.createGroupOptimistic":{const t=e.conversations.createGroupOptimistic(i.options),a=await g(t);T({id:n,action:s,result:a});break}case"conversations.createGroupWithIdentifiers":{const t=await e.conversations.createGroupWithIdentifiers(i.identifiers,i.options),a=await g(t);T({id:n,action:s,result:a});break}case"conversations.createGroup":{const t=await e.conversations.createGroup(i.inboxIds,i.options),a=await g(t);T({id:n,action:s,result:a});break}case"conversations.createDmWithIdentifier":{const t=await e.conversations.createDmWithIdentifier(i.identifier,i.options),a=await g(t);T({id:n,action:s,result:a});break}case"conversations.createDm":{const t=await e.conversations.createDm(i.inboxId,i.options),a=await g(t);T({id:n,action:s,result:a});break}case"conversations.sync":await e.conversations.sync(),T({id:n,action:s,result:void 0});break;case"conversations.syncAll":await e.conversations.syncAll(i.consentStates),T({id:n,action:s,result:void 0});break;case"conversations.getConversationById":{const t=e.conversations.getConversationById(i.id),a=t?await g(t):void 0;T({id:n,action:s,result:a});break}case"conversations.getMessageById":{const t=await e.conversations.getMessageById(i.id);T({id:n,action:s,result:t});break}case"conversations.getDmByInboxId":{const t=e.conversations.getDmByInboxId(i.inboxId),a=t?await g(t):void 0;T({id:n,action:s,result:a});break}case"conversations.hmacKeys":{const t=e.conversations.hmacKeys();T({id:n,action:s,result:t});break}case"conversation.sync":{const e=t(i.id);await e.sync();const a=await g(e);T({id:n,action:s,result:a});break}case"conversation.lastMessage":{const e=t(i.id),a=await e.lastMessage();T({id:n,action:s,result:a});break}case"conversation.isActive":{const e=t(i.id).isActive;T({id:n,action:s,result:e});break}case"conversation.consentState":{const e=t(i.id).consentState();T({id:n,action:s,result:e});break}case"conversation.updateConsentState":t(i.id).updateConsentState(i.state),T({id:n,action:s,result:void 0});break;case"group.updateName":{const e=t(i.id);await e.updateName(i.name),T({id:n,action:s,result:void 0});break}case"group.updateDescription":{const e=t(i.id);await e.updateDescription(i.description),T({id:n,action:s,result:void 0});break}case"group.updateImageUrl":{const e=t(i.id);await e.updateImageUrl(i.imageUrl),T({id:n,action:s,result:void 0});break}case"group.updateAppData":{const e=t(i.id);await e.updateAppData(i.appData),T({id:n,action:s,result:void 0});break}case"conversation.send":{const e=t(i.id),a=await e.send(i.content,i.options);T({id:n,action:s,result:a});break}case"conversation.publishMessages":{const e=t(i.id);await e.publishMessages(),T({id:n,action:s,result:void 0});break}case"conversation.messages":{const e=t(i.id),a=await e.messages(i.options);T({id:n,action:s,result:a});break}case"conversation.countMessages":{const e=t(i.id),a=await e.countMessages(i.options);T({id:n,action:s,result:a});break}case"conversation.members":{const e=t(i.id),a=await e.members();T({id:n,action:s,result:a});break}case"group.listAdmins":{const e=t(i.id).listAdmins();T({id:n,action:s,result:e});break}case"group.listSuperAdmins":{const e=t(i.id).listSuperAdmins();T({id:n,action:s,result:e});break}case"group.addAdmin":{const e=t(i.id);await e.addAdmin(i.inboxId),T({id:n,action:s,result:void 0});break}case"group.removeAdmin":{const e=t(i.id);await e.removeAdmin(i.inboxId),T({id:n,action:s,result:void 0});break}case"group.addSuperAdmin":{const e=t(i.id);await e.addSuperAdmin(i.inboxId),T({id:n,action:s,result:void 0});break}case"group.removeSuperAdmin":{const e=t(i.id);await e.removeSuperAdmin(i.inboxId),T({id:n,action:s,result:void 0});break}case"group.addMembersByIdentifiers":{const e=t(i.id);await e.addMembersByIdentifiers(i.identifiers),T({id:n,action:s,result:void 0});break}case"group.removeMembersByIdentifiers":{const e=t(i.id);await e.removeMembersByIdentifiers(i.identifiers),T({id:n,action:s,result:void 0});break}case"group.addMembers":{const e=t(i.id);await e.addMembers(i.inboxIds),T({id:n,action:s,result:void 0});break}case"group.removeMembers":{const e=t(i.id);await e.removeMembers(i.inboxIds),T({id:n,action:s,result:void 0});break}case"group.isAdmin":{const e=t(i.id).isAdmin(i.inboxId);T({id:n,action:s,result:e});break}case"group.isSuperAdmin":{const e=t(i.id).isSuperAdmin(i.inboxId);T({id:n,action:s,result:e});break}case"dm.peerInboxId":{const e=t(i.id).dmPeerInboxId();T({id:n,action:s,result:e});break}case"group.updatePermission":{const e=t(i.id);await e.updatePermission(i.permissionType,i.policy,i.metadataField),T({id:n,action:s,result:void 0});break}case"group.permissions":{const e=t(i.id),a=(await g(e)).permissions;T({id:n,action:s,result:a});break}case"group.requestRemoval":{const e=t(i.id);await e.requestRemoval(),T({id:n,action:s,result:void 0});break}case"group.isPendingRemoval":{const e=t(i.id).isPendingRemoval();T({id:n,action:s,result:e});break}case"conversation.messageDisappearingSettings":{const e=t(i.id).messageDisappearingSettings();T({id:n,action:s,result:e});break}case"conversation.updateMessageDisappearingSettings":{const e=t(i.id);await e.updateMessageDisappearingSettings(i.fromNs,i.inNs),T({id:n,action:s,result:void 0});break}case"conversation.removeMessageDisappearingSettings":{const e=t(i.id);await e.removeMessageDisappearingSettings(),T({id:n,action:s,result:void 0});break}case"conversation.isMessageDisappearingEnabled":{const e=t(i.id).isMessageDisappearingEnabled();T({id:n,action:s,result:e});break}case"conversation.stream":{const a=t(i.groupId),r=(t,s)=>{t?P({action:"stream.message",streamId:i.streamId,error:t}):s&&e.conversations.getMessageById(s.id).then(e=>{e&&B({action:"stream.message",streamId:i.streamId,result:e})})},o=a.stream(r,()=>{M.delete(i.streamId),B({action:"stream.fail",streamId:i.streamId,result:void 0})});M.set(i.streamId,o),T({id:n,action:s,result:void 0});break}case"conversation.pausedForVersion":{const e=t(i.id).pausedForVersion();T({id:n,action:s,result:e});break}case"conversation.hmacKeys":{const e=t(i.id).hmacKeys();T({id:n,action:s,result:e});break}case"dm.duplicateDms":{const e=t(i.id),a=await e.duplicateDms(),r=await Promise.all(a.map(e=>g(e)));T({id:n,action:s,result:r});break}case"conversation.debugInfo":{const e=t(i.id),a=await e.debugInfo();T({id:n,action:s,result:a});break}case"conversation.lastReadTimes":{const e=t(i.id),a=await e.lastReadTimes();T({id:n,action:s,result:a});break}case"conversation.sendText":{const e=t(i.id),a=await e.sendText(i.text,i.isOptimistic);T({id:n,action:s,result:a});break}case"conversation.sendMarkdown":{const e=t(i.id),a=await e.sendMarkdown(i.markdown,i.isOptimistic);T({id:n,action:s,result:a});break}case"conversation.sendReaction":{const e=t(i.id),a=await e.sendReaction(i.reaction,i.isOptimistic);T({id:n,action:s,result:a});break}case"conversation.sendReadReceipt":{const e=t(i.id),a=await e.sendReadReceipt(i.isOptimistic);T({id:n,action:s,result:a});break}case"conversation.sendReply":{const e=t(i.id),a=await e.sendReply(i.reply,i.isOptimistic);T({id:n,action:s,result:a});break}case"conversation.sendTransactionReference":{const e=t(i.id),a=await e.sendTransactionReference(i.transactionReference,i.isOptimistic);T({id:n,action:s,result:a});break}case"conversation.sendWalletSendCalls":{const e=t(i.id),a=await e.sendWalletSendCalls(i.walletSendCalls,i.isOptimistic);T({id:n,action:s,result:a});break}case"conversation.sendActions":{const e=t(i.id),a=await e.sendActions(i.actions,i.isOptimistic);T({id:n,action:s,result:a});break}case"conversation.sendIntent":{const e=t(i.id),a=await e.sendIntent(i.intent,i.isOptimistic);T({id:n,action:s,result:a});break}case"conversation.sendAttachment":{const e=t(i.id),a=await e.sendAttachment(i.attachment,i.isOptimistic);T({id:n,action:s,result:a});break}case"conversation.sendMultiRemoteAttachment":{const e=t(i.id),a=await e.sendMultiRemoteAttachment(i.multiRemoteAttachment,i.isOptimistic);T({id:n,action:s,result:a});break}case"conversation.sendRemoteAttachment":{const e=t(i.id),a=await e.sendRemoteAttachment(i.remoteAttachment,i.isOptimistic);T({id:n,action:s,result:a});break}}}catch(e){(e=>{self.postMessage(e)})({id:n,action:s,error:e})}};
|
|
1
|
+
import e,{XmtpEnv as t,BackendBuilder as s,getInboxIdForIdentifier as n,generateInboxId as i,DeviceSyncMode as a,createClientWithBackend as r,SortDirection as o,GroupMembershipState as c,ConversationType as d,verifySignedWithPublicKey as u,LogLevel as l}from"@xmtp/wasm-bindings";const g=async e=>({id:e.id,name:e.name,imageUrl:e.imageUrl,description:e.description,appData:e.appData,permissions:e.permissions(),addedByInboxId:e.addedByInboxId,metadata:await e.metadata(),admins:e.listAdmins(),superAdmins:e.listSuperAdmins(),createdAtNs:e.createdAtNs});class p extends Error{constructor(){super("Client not initialized, use Client.create or Client.build to create a client")}}class m extends Error{constructor(e){super(`Group "${e}" not found`)}}class v extends Error{constructor(e){super(`Stream "${e}" not found`)}}const h={local:t.Local,dev:t.Dev,production:t.Production,"testnet-staging":t.TestnetStaging,"testnet-dev":t.TestnetDev,testnet:t.Testnet,mainnet:t.Mainnet},y={[t.Local]:"local",[t.Dev]:"dev",[t.Production]:"production",[t.TestnetStaging]:"testnet-staging",[t.TestnetDev]:"testnet-dev",[t.Testnet]:"testnet",[t.Mainnet]:"mainnet"},I=async t=>{await e();let n=new s(h[t?.env??"dev"]);return t?.apiUrl&&(n=n.setApiUrl(t.apiUrl)),t?.gatewayHost&&(n=n.setGatewayHost(t.gatewayHost)),t?.appVersion&&(n=n.setAppVersion(t.appVersion)),n.build()},b=["env","apiUrl","gatewayHost","appVersion"],w=async(e,t)=>{const s=await(async e=>{if(!e)return I();if((e=>"backend"in e)(e)){const t=b.filter(t=>t in e&&null!=e[t]);if(t.length>0)throw new Error(`Cannot specify both 'backend' and network options (${t.join(", ")}). Use either a pre-built Backend or network options, not both.`);return e.backend}return I(e)})(t),o=await n(s,e)||i(e),c=(d=s.env,y[d]);var d;const u=void 0===t?.dbPath?`xmtp-${c}-${o}.db3`:t.dbPath,l=t&&(void 0!==t.loggingLevel||t.structuredLogging||t.performanceLogging),g=t?.disableDeviceSync?a.Disabled:a.Enabled;return{client:await r(s,o,e,u,t?.dbEncryptionKey,g,l?{structured:t.structuredLogging??!1,performance:t.performanceLogging??!1,level:t.loggingLevel}:void 0,void 0,void 0),env:c}};class S{#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 appData(){try{return this.#t.appData()}catch{return""}}async updateAppData(e){return this.#t.updateAppData(e)}get isActive(){return this.#t.isActive()}get addedByInboxId(){return this.#t.addedByInboxId()}get createdAtNs(){return this.#t.createdAtNs()}async lastMessage(){const e=await this.messages({limit:1n,direction:o.Descending});if(e.length>0)return e[0]}async metadata(){return this.#t.groupMetadata()}async members(){return await this.#t.listMembers()}listAdmins(){return this.#t.adminList()}listSuperAdmins(){return this.#t.superAdminList()}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.addMembersByIdentity(e)}async addMembers(e){return this.#t.addMembers(e)}async removeMembersByIdentifiers(e){return this.#t.removeMembersByIdentity(e)}async removeMembers(e){return this.#t.removeMembers(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()}async processStreamedMessage(e){return this.#t.processStreamedGroupMessage(e)}async send(e,t){return this.#t.send(e,t??{shouldPush:!0})}async sendText(e,t){return this.#t.sendText(e,t)}async sendMarkdown(e,t){return this.#t.sendMarkdown(e,t)}async sendReaction(e,t){return this.#t.sendReaction(e,t)}async sendReadReceipt(e){return this.#t.sendReadReceipt(e)}async sendReply(e,t){return this.#t.sendReply(e,t)}async sendTransactionReference(e,t){return this.#t.sendTransactionReference(e,t)}async sendWalletSendCalls(e,t){return this.#t.sendWalletSendCalls(e,t)}async sendActions(e,t){return this.#t.sendActions(e,t)}async sendIntent(e,t){return this.#t.sendIntent(e,t)}async sendAttachment(e,t){return this.#t.sendAttachment(e,t)}async sendMultiRemoteAttachment(e,t){return this.#t.sendMultiRemoteAttachment(e,t)}async sendRemoteAttachment(e,t){return this.#t.sendRemoteAttachment(e,t)}async messages(e){return this.#t.findEnrichedMessages(e)}async countMessages(e){return this.#t.countMessages(e)}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={fromNs:e,inNs: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()}hmacKeys(){return this.#t.getHmacKeys()}async debugInfo(){return await this.#t.getDebugInfo()}async duplicateDms(){return(await this.#t.findDuplicateDms()).map(e=>new S(this.#e,e))}async requestRemoval(){return this.#t.leaveGroup()}isPendingRemoval(){return this.#t.membershipState()===c.PendingRemove}async lastReadTimes(){return this.#t.getLastReadTimes()}}class f{#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 S(this.#e,t)}catch{return}}async getMessageById(e){try{return await this.#s.findEnrichedMessageById(e)}catch{return}}getDmByInboxId(e){try{const t=this.#s.findDmByTargetInboxId(e);return new S(this.#e,t)}catch{return}}list(e){return this.#s.list(e).map(e=>new S(this.#e,e.conversation))}listGroups(e){return this.#s.list({...e??{},conversationType:d.Group}).map(e=>new S(this.#e,e.conversation))}listDms(e){return this.#s.list({...e??{},conversationType:d.Dm}).map(e=>new S(this.#e,e.conversation))}createGroupOptimistic(e){const t=this.#s.createGroupOptimistic(e);return new S(this.#e,t)}async createGroupWithIdentifiers(e,t){const s=await this.#s.createGroup(e,t);return new S(this.#e,s)}async createGroup(e,t){const s=await this.#s.createGroupByInboxIds(e,t);return new S(this.#e,s)}async createDmWithIdentifier(e,t){const s=await this.#s.createDm(e,t);return new S(this.#e,s)}async createDm(e,t){const s=await this.#s.createDmByInboxId(e,t);return new S(this.#e,s)}hmacKeys(){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,d.Group)}streamDms(e,t){return this.stream(e,t,d.Dm)}streamAllMessages(e,t,s,n){return this.#s.streamAllMessages({on_message:t=>{e(null,t)},on_error:t=>{e(t,void 0)},on_close:()=>{t()}},s,n)}streamDeletedMessages(e){return this.#s.streamMessageDeletions({on_message_deleted:t=>{e(null,t)},on_error:t=>{e(t,void 0)}})}}class k{#e;constructor(e){this.#e=e}apiStatistics(){return this.#e.apiStatistics()}apiIdentityStatistics(){return this.#e.apiIdentityStatistics()}apiAggregateStatistics(){return this.#e.apiAggregateStatistics()}clearAllStatistics(){this.#e.clearAllStatistics()}}class A{#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 getInboxStates(e,t){return this.#e.inboxStateFromInboxIds(e,t??!1)}async setConsentStates(e){return this.#e.setConsentStates(e)}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 R{#e;#s;#n;#i;#a;constructor(e,t){this.#e=e,this.#i=t;const s=e.conversations();this.#s=new f(this,s),this.#n=new k(e),this.#a=new A(e,s)}static async create(e,t){const{client:s,env:n}=await w(e,t);return new R(s,n)}get libxmtpVersion(){return this.#e.libxmtpVersion}get appVersion(){return this.#e.appVersion}get env(){return this.#i}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.#a}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 getInboxIdByIdentifier(e){return this.#e.findInboxIdByIdentity(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 u(e,t,s),!0}catch{return!1}}async fetchKeyPackageStatuses(e){return this.#e.getKeyPackageStatusesForInstallationIds(e)}async sendSyncRequest(e,t){return this.#e.device_sync().sendSyncRequest(e,t)}async sendSyncArchive(e,t,s){return this.#e.device_sync().sendSyncArchive(e,t,s)}async processSyncArchive(e){return this.#e.device_sync().processSyncArchive(e)}listAvailableArchives(e){return this.#e.device_sync().listAvailableArchives(BigInt(e))}async createArchive(e,t){return this.#e.device_sync().createArchive(e,t)}async importArchive(e,t){return this.#e.device_sync().importArchive(e,t)}async archiveMetadata(e,t){return this.#e.device_sync().archiveMetadata(e,t)}async syncAllDeviceSyncGroups(){return this.#e.device_sync().syncAllDeviceSyncGroups()}}let M,x=!1;const q=new Map,D=new Map,T=e=>{self.postMessage(e)},B=e=>{self.postMessage(e)},P=e=>{self.postMessage(e)};self.onmessage=async t=>{const{action:s,id:n,data:i}=t.data;x&&console.log("client worker received event data",t.data),await e();try{if("client.init"===s&&!M)return M=await R.create(i.identifier,i.options),x=void 0!==i.options?.loggingLevel&&i.options.loggingLevel!==l.Off,void T({id:n,action:s,result:{appVersion:M.appVersion,env:M.env,inboxId:M.inboxId,installationId:M.installationId,installationIdBytes:M.installationIdBytes,libxmtpVersion:M.libxmtpVersion}});if(!M)throw new p;const e=M,t=t=>{const s=e.conversations.getConversationById(t);if(!s)throw new m(t);return s};switch(s){case"endStream":{const e=q.get(i.streamId);if(!e)throw new v(i.streamId);e.end(),q.delete(i.streamId),T({id:n,action:s,result:void 0});break}case"client.applySignatureRequest":{const t=D.get(i.signatureRequestId);if(!t)throw new Error("Signature request not found");await e.processSignatureRequest(i.signer,t),D.delete(i.signatureRequestId),T({id:n,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=i.signatureRequestId,D.set(i.signatureRequestId,s))}finally{T({id:n,action:s,result:t})}break}case"client.addAccountSignatureText":{const t=await e.addAccountSignatureRequest(i.newIdentifier),a={signatureText:await t.signatureText(),signatureRequestId:i.signatureRequestId};D.set(i.signatureRequestId,t),T({id:n,action:s,result:a});break}case"client.removeAccountSignatureText":{const t=await e.removeAccountSignatureRequest(i.identifier),a={signatureText:await t.signatureText(),signatureRequestId:i.signatureRequestId};D.set(i.signatureRequestId,t),T({id:n,action:s,result:a});break}case"client.revokeAllOtherInstallationsSignatureText":{const t=await e.revokeAllOtherInstallationsSignatureRequest(),a={signatureText:await(t?.signatureText()),signatureRequestId:i.signatureRequestId};t&&D.set(i.signatureRequestId,t),T({id:n,action:s,result:a});break}case"client.revokeInstallationsSignatureText":{const t=await e.revokeInstallationsSignatureRequest(i.installationIds),a={signatureText:await t.signatureText(),signatureRequestId:i.signatureRequestId};D.set(i.signatureRequestId,t),T({id:n,action:s,result:a});break}case"client.changeRecoveryIdentifierSignatureText":{const t=await e.changeRecoveryIdentifierSignatureRequest(i.identifier),a={signatureText:await t.signatureText(),signatureRequestId:i.signatureRequestId};D.set(i.signatureRequestId,t),T({id:n,action:s,result:a});break}case"client.registerIdentity":{const t=D.get(i.signatureRequestId);if(!t)throw new Error("Signature request not found");await e.registerIdentity(i.signer,t),D.delete(i.signatureRequestId),T({id:n,action:s,result:void 0});break}case"client.addAccount":{const t=D.get(i.signatureRequestId);if(!t)throw new Error("Signature request not found");await e.processSignatureRequest(i.signer,t),D.delete(i.signatureRequestId),T({id:n,action:s,result:void 0});break}case"client.removeAccount":{const t=D.get(i.signatureRequestId);if(!t)throw new Error("Signature request not found");await e.processSignatureRequest(i.signer,t),D.delete(i.signatureRequestId),T({id:n,action:s,result:void 0});break}case"client.revokeAllOtherInstallations":{const t=D.get(i.signatureRequestId);if(!t)throw new Error("Signature request not found");await e.processSignatureRequest(i.signer,t),D.delete(i.signatureRequestId),T({id:n,action:s,result:void 0});break}case"client.revokeInstallations":{const t=D.get(i.signatureRequestId);if(!t)throw new Error("Signature request not found");await e.processSignatureRequest(i.signer,t),D.delete(i.signatureRequestId),T({id:n,action:s,result:void 0});break}case"client.changeRecoveryIdentifier":{const t=D.get(i.signatureRequestId);if(!t)throw new Error("Signature request not found");await e.processSignatureRequest(i.signer,t),D.delete(i.signatureRequestId),T({id:n,action:s,result:void 0});break}case"client.isRegistered":{const t=e.isRegistered;T({id:n,action:s,result:t});break}case"client.canMessage":{const t=await e.canMessage(i.identifiers);T({id:n,action:s,result:t});break}case"client.getInboxIdByIdentifier":{const t=await e.getInboxIdByIdentifier(i.identifier);T({id:n,action:s,result:t});break}case"client.signWithInstallationKey":{const t=e.signWithInstallationKey(i.signatureText);T({id:n,action:s,result:t});break}case"client.verifySignedWithInstallationKey":{const t=e.verifySignedWithInstallationKey(i.signatureText,i.signatureBytes);T({id:n,action:s,result:t});break}case"client.verifySignedWithPublicKey":{const t=e.verifySignedWithPublicKey(i.signatureText,i.signatureBytes,i.publicKey);T({id:n,action:s,result:t});break}case"client.fetchKeyPackageStatuses":{const t=await e.fetchKeyPackageStatuses(i.installationIds);T({id:n,action:s,result:t});break}case"client.sendSyncRequest":await e.sendSyncRequest(i.options,i.serverUrl),T({id:n,action:s,result:void 0});break;case"client.sendSyncArchive":await e.sendSyncArchive(i.options,i.serverUrl,i.pin),T({id:n,action:s,result:void 0});break;case"client.processSyncArchive":await e.processSyncArchive(i.archivePin),T({id:n,action:s,result:void 0});break;case"client.listAvailableArchives":{const t=e.listAvailableArchives(i.daysCutoff);T({id:n,action:s,result:t});break}case"client.createArchive":{const t=await e.createArchive(i.opts,i.key);T({id:n,action:s,result:t});break}case"client.importArchive":await e.importArchive(i.data,i.key),T({id:n,action:s,result:void 0});break;case"client.archiveMetadata":{const t=await e.archiveMetadata(i.data,i.key);T({id:n,action:s,result:t});break}case"client.syncAllDeviceSyncGroups":{const t=await e.syncAllDeviceSyncGroups();T({id:n,action:s,result:t});break}case"debugInformation.apiStatistics":{const t=e.debugInformation.apiStatistics();T({id:n,action:s,result:t});break}case"debugInformation.apiIdentityStatistics":{const t=e.debugInformation.apiIdentityStatistics();T({id:n,action:s,result:t});break}case"debugInformation.apiAggregateStatistics":{const t=e.debugInformation.apiAggregateStatistics();T({id:n,action:s,result:t});break}case"debugInformation.clearAllStatistics":e.debugInformation.clearAllStatistics(),T({id:n,action:s,result:void 0});break;case"preferences.inboxState":{const t=await e.preferences.inboxState(i.refreshFromNetwork);T({id:n,action:s,result:t});break}case"preferences.getInboxStates":{const t=await e.preferences.getInboxStates(i.inboxIds,i.refreshFromNetwork);T({id:n,action:s,result:t});break}case"preferences.setConsentStates":await e.preferences.setConsentStates(i.records),T({id:n,action:s,result:void 0});break;case"preferences.getConsentState":{const t=await e.preferences.getConsentState(i.entityType,i.entity);T({id:n,action:s,result:t});break}case"preferences.sync":{const t=await e.preferences.sync();T({id:n,action:s,result:t});break}case"preferences.streamConsent":{const t=(e,t)=>{e?P({action:"stream.consent",streamId:i.streamId,error:e}):B({action:"stream.consent",streamId:i.streamId,result:t??[]})},a=e.preferences.streamConsent(t,()=>{q.delete(i.streamId),B({action:"stream.fail",streamId:i.streamId,result:void 0})});q.set(i.streamId,a),T({id:n,action:s,result:void 0});break}case"preferences.streamPreferences":{const t=(e,t)=>{e?P({action:"stream.preferences",streamId:i.streamId,error:e}):B({action:"stream.preferences",streamId:i.streamId,result:t??void 0})},a=e.preferences.streamPreferences(t,()=>{q.delete(i.streamId),B({action:"stream.fail",streamId:i.streamId,result:void 0})});q.set(i.streamId,a),T({id:n,action:s,result:void 0});break}case"conversations.stream":{const t=(t,s)=>{t?P({action:"stream.conversation",streamId:i.streamId,error:t}):s?g(new S(e,s)).then(e=>{B({action:"stream.conversation",streamId:i.streamId,result:e})}).catch(e=>{P({action:"stream.conversation",streamId:i.streamId,error:e})}):B({action:"stream.conversation",streamId:i.streamId,result:void 0})},a=e.conversations.stream(t,()=>{q.delete(i.streamId),B({action:"stream.fail",streamId:i.streamId,result:void 0})},i.conversationType);q.set(i.streamId,a),T({id:n,action:s,result:void 0});break}case"conversations.streamAllMessages":{const t=(t,s)=>{t?P({action:"stream.message",streamId:i.streamId,error:t}):s&&e.conversations.getMessageById(s.id).then(e=>{e&&B({action:"stream.message",streamId:i.streamId,result:e})})},a=e.conversations.streamAllMessages(t,()=>{q.delete(i.streamId),B({action:"stream.fail",streamId:i.streamId,result:void 0})},i.conversationType,i.consentStates);q.set(i.streamId,a),T({id:n,action:s,result:void 0});break}case"conversations.streamDeletedMessages":{const t=(e,t)=>{e?P({action:"stream.deletedMessage",streamId:i.streamId,error:e}):B({action:"stream.deletedMessage",streamId:i.streamId,result:t})},a=e.conversations.streamDeletedMessages(t);q.set(i.streamId,a),T({id:n,action:s,result:void 0});break}case"conversations.list":{const t=e.conversations.list(i.options),a=await Promise.all(t.map(e=>g(e)));T({id:n,action:s,result:a});break}case"conversations.listGroups":{const t=e.conversations.listGroups(i.options),a=await Promise.all(t.map(e=>g(e)));T({id:n,action:s,result:a});break}case"conversations.listDms":{const t=e.conversations.listDms(i.options),a=await Promise.all(t.map(e=>g(e)));T({id:n,action:s,result:a});break}case"conversations.createGroupOptimistic":{const t=e.conversations.createGroupOptimistic(i.options),a=await g(t);T({id:n,action:s,result:a});break}case"conversations.createGroupWithIdentifiers":{const t=await e.conversations.createGroupWithIdentifiers(i.identifiers,i.options),a=await g(t);T({id:n,action:s,result:a});break}case"conversations.createGroup":{const t=await e.conversations.createGroup(i.inboxIds,i.options),a=await g(t);T({id:n,action:s,result:a});break}case"conversations.createDmWithIdentifier":{const t=await e.conversations.createDmWithIdentifier(i.identifier,i.options),a=await g(t);T({id:n,action:s,result:a});break}case"conversations.createDm":{const t=await e.conversations.createDm(i.inboxId,i.options),a=await g(t);T({id:n,action:s,result:a});break}case"conversations.sync":await e.conversations.sync(),T({id:n,action:s,result:void 0});break;case"conversations.syncAll":await e.conversations.syncAll(i.consentStates),T({id:n,action:s,result:void 0});break;case"conversations.getConversationById":{const t=e.conversations.getConversationById(i.id),a=t?await g(t):void 0;T({id:n,action:s,result:a});break}case"conversations.getMessageById":{const t=await e.conversations.getMessageById(i.id);T({id:n,action:s,result:t});break}case"conversations.getDmByInboxId":{const t=e.conversations.getDmByInboxId(i.inboxId),a=t?await g(t):void 0;T({id:n,action:s,result:a});break}case"conversations.hmacKeys":{const t=e.conversations.hmacKeys();T({id:n,action:s,result:t});break}case"conversation.sync":{const e=t(i.id);await e.sync();const a=await g(e);T({id:n,action:s,result:a});break}case"conversation.lastMessage":{const e=t(i.id),a=await e.lastMessage();T({id:n,action:s,result:a});break}case"conversation.isActive":{const e=t(i.id).isActive;T({id:n,action:s,result:e});break}case"conversation.consentState":{const e=t(i.id).consentState();T({id:n,action:s,result:e});break}case"conversation.updateConsentState":t(i.id).updateConsentState(i.state),T({id:n,action:s,result:void 0});break;case"group.updateName":{const e=t(i.id);await e.updateName(i.name),T({id:n,action:s,result:void 0});break}case"group.updateDescription":{const e=t(i.id);await e.updateDescription(i.description),T({id:n,action:s,result:void 0});break}case"group.updateImageUrl":{const e=t(i.id);await e.updateImageUrl(i.imageUrl),T({id:n,action:s,result:void 0});break}case"group.updateAppData":{const e=t(i.id);await e.updateAppData(i.appData),T({id:n,action:s,result:void 0});break}case"conversation.send":{const e=t(i.id),a=await e.send(i.content,i.options);T({id:n,action:s,result:a});break}case"conversation.publishMessages":{const e=t(i.id);await e.publishMessages(),T({id:n,action:s,result:void 0});break}case"conversation.processStreamedMessage":{const e=t(i.id),a=await e.processStreamedMessage(i.envelopeBytes);T({id:n,action:s,result:a});break}case"conversation.messages":{const e=t(i.id),a=await e.messages(i.options);T({id:n,action:s,result:a});break}case"conversation.countMessages":{const e=t(i.id),a=await e.countMessages(i.options);T({id:n,action:s,result:a});break}case"conversation.members":{const e=t(i.id),a=await e.members();T({id:n,action:s,result:a});break}case"group.listAdmins":{const e=t(i.id).listAdmins();T({id:n,action:s,result:e});break}case"group.listSuperAdmins":{const e=t(i.id).listSuperAdmins();T({id:n,action:s,result:e});break}case"group.addAdmin":{const e=t(i.id);await e.addAdmin(i.inboxId),T({id:n,action:s,result:void 0});break}case"group.removeAdmin":{const e=t(i.id);await e.removeAdmin(i.inboxId),T({id:n,action:s,result:void 0});break}case"group.addSuperAdmin":{const e=t(i.id);await e.addSuperAdmin(i.inboxId),T({id:n,action:s,result:void 0});break}case"group.removeSuperAdmin":{const e=t(i.id);await e.removeSuperAdmin(i.inboxId),T({id:n,action:s,result:void 0});break}case"group.addMembersByIdentifiers":{const e=t(i.id);await e.addMembersByIdentifiers(i.identifiers),T({id:n,action:s,result:void 0});break}case"group.removeMembersByIdentifiers":{const e=t(i.id);await e.removeMembersByIdentifiers(i.identifiers),T({id:n,action:s,result:void 0});break}case"group.addMembers":{const e=t(i.id);await e.addMembers(i.inboxIds),T({id:n,action:s,result:void 0});break}case"group.removeMembers":{const e=t(i.id);await e.removeMembers(i.inboxIds),T({id:n,action:s,result:void 0});break}case"group.isAdmin":{const e=t(i.id).isAdmin(i.inboxId);T({id:n,action:s,result:e});break}case"group.isSuperAdmin":{const e=t(i.id).isSuperAdmin(i.inboxId);T({id:n,action:s,result:e});break}case"dm.peerInboxId":{const e=t(i.id).dmPeerInboxId();T({id:n,action:s,result:e});break}case"group.updatePermission":{const e=t(i.id);await e.updatePermission(i.permissionType,i.policy,i.metadataField),T({id:n,action:s,result:void 0});break}case"group.permissions":{const e=t(i.id),a=(await g(e)).permissions;T({id:n,action:s,result:a});break}case"group.requestRemoval":{const e=t(i.id);await e.requestRemoval(),T({id:n,action:s,result:void 0});break}case"group.isPendingRemoval":{const e=t(i.id).isPendingRemoval();T({id:n,action:s,result:e});break}case"conversation.messageDisappearingSettings":{const e=t(i.id).messageDisappearingSettings();T({id:n,action:s,result:e});break}case"conversation.updateMessageDisappearingSettings":{const e=t(i.id);await e.updateMessageDisappearingSettings(i.fromNs,i.inNs),T({id:n,action:s,result:void 0});break}case"conversation.removeMessageDisappearingSettings":{const e=t(i.id);await e.removeMessageDisappearingSettings(),T({id:n,action:s,result:void 0});break}case"conversation.isMessageDisappearingEnabled":{const e=t(i.id).isMessageDisappearingEnabled();T({id:n,action:s,result:e});break}case"conversation.stream":{const a=t(i.groupId),r=(t,s)=>{t?P({action:"stream.message",streamId:i.streamId,error:t}):s&&e.conversations.getMessageById(s.id).then(e=>{e&&B({action:"stream.message",streamId:i.streamId,result:e})})},o=a.stream(r,()=>{q.delete(i.streamId),B({action:"stream.fail",streamId:i.streamId,result:void 0})});q.set(i.streamId,o),T({id:n,action:s,result:void 0});break}case"conversation.pausedForVersion":{const e=t(i.id).pausedForVersion();T({id:n,action:s,result:e});break}case"conversation.hmacKeys":{const e=t(i.id).hmacKeys();T({id:n,action:s,result:e});break}case"dm.duplicateDms":{const e=t(i.id),a=await e.duplicateDms(),r=await Promise.all(a.map(e=>g(e)));T({id:n,action:s,result:r});break}case"conversation.debugInfo":{const e=t(i.id),a=await e.debugInfo();T({id:n,action:s,result:a});break}case"conversation.lastReadTimes":{const e=t(i.id),a=await e.lastReadTimes();T({id:n,action:s,result:a});break}case"conversation.sendText":{const e=t(i.id),a=await e.sendText(i.text,i.isOptimistic);T({id:n,action:s,result:a});break}case"conversation.sendMarkdown":{const e=t(i.id),a=await e.sendMarkdown(i.markdown,i.isOptimistic);T({id:n,action:s,result:a});break}case"conversation.sendReaction":{const e=t(i.id),a=await e.sendReaction(i.reaction,i.isOptimistic);T({id:n,action:s,result:a});break}case"conversation.sendReadReceipt":{const e=t(i.id),a=await e.sendReadReceipt(i.isOptimistic);T({id:n,action:s,result:a});break}case"conversation.sendReply":{const e=t(i.id),a=await e.sendReply(i.reply,i.isOptimistic);T({id:n,action:s,result:a});break}case"conversation.sendTransactionReference":{const e=t(i.id),a=await e.sendTransactionReference(i.transactionReference,i.isOptimistic);T({id:n,action:s,result:a});break}case"conversation.sendWalletSendCalls":{const e=t(i.id),a=await e.sendWalletSendCalls(i.walletSendCalls,i.isOptimistic);T({id:n,action:s,result:a});break}case"conversation.sendActions":{const e=t(i.id),a=await e.sendActions(i.actions,i.isOptimistic);T({id:n,action:s,result:a});break}case"conversation.sendIntent":{const e=t(i.id),a=await e.sendIntent(i.intent,i.isOptimistic);T({id:n,action:s,result:a});break}case"conversation.sendAttachment":{const e=t(i.id),a=await e.sendAttachment(i.attachment,i.isOptimistic);T({id:n,action:s,result:a});break}case"conversation.sendMultiRemoteAttachment":{const e=t(i.id),a=await e.sendMultiRemoteAttachment(i.multiRemoteAttachment,i.isOptimistic);T({id:n,action:s,result:a});break}case"conversation.sendRemoteAttachment":{const e=t(i.id),a=await e.sendRemoteAttachment(i.remoteAttachment,i.isOptimistic);T({id:n,action:s,result:a});break}}}catch(e){(e=>{self.postMessage(e)})({id:n,action:s,error:e})}};
|
|
2
2
|
//# sourceMappingURL=client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sources":["../../src/utils/conversions.ts","../../src/utils/errors.ts","../../src/utils/createBackend.ts","../../src/utils/createClient.ts","../../src/WorkerConversation.ts","../../src/WorkerConversations.ts","../../src/WorkerDebugInformation.ts","../../src/WorkerPreferences.ts","../../src/WorkerClient.ts","../../src/workers/client.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null],"names":["toSafeConversation","async","conversation","id","name","imageUrl","description","appData","permissions","addedByInboxId","metadata","admins","listAdmins","superAdmins","listSuperAdmins","createdAtNs","ClientNotInitializedError","Error","constructor","super","GroupNotFoundError","groupId","StreamNotFoundError","streamId","envMap","local","BindingsEnv","Local","dev","Dev","production","Production","TestnetStaging","TestnetDev","testnet","Testnet","mainnet","Mainnet","reverseEnvMap","createBackend","options","init","builder","BackendBuilder","env","apiUrl","setApiUrl","gatewayHost","setGatewayHost","appVersion","setAppVersion","build","networkOptionKeys","createClient","identifier","backend","hasBackend","conflicting","filter","key","length","join","resolveBackend","inboxId","getInboxIdForIdentifier","generateInboxId","envString","dbPath","undefined","isLogging","loggingLevel","structuredLogging","performanceLogging","deviceSyncMode","disableDeviceSync","DeviceSyncMode","Disabled","Enabled","client","createClientWithBackend","dbEncryptionKey","structured","performance","level","WorkerConversation","group","this","groupName","updateName","updateGroupName","groupImageUrlSquare","updateImageUrl","updateGroupImageUrlSquare","groupDescription","updateDescription","updateGroupDescription","updateAppData","isActive","lastMessage","messages","limit","direction","SortDirection","Descending","groupMetadata","members","listMembers","adminList","superAdminList","groupPermissions","policyType","policySet","updatePermission","permissionType","policy","metadataField","updatePermissionPolicy","isAdmin","isSuperAdmin","sync","addMembersByIdentifiers","identifiers","addMembersByIdentity","addMembers","inboxIds","removeMembersByIdentifiers","removeMembersByIdentity","removeMembers","addAdmin","removeAdmin","addSuperAdmin","removeSuperAdmin","publishMessages","send","encodedContent","opts","shouldPush","sendText","text","isOptimistic","sendMarkdown","markdown","sendReaction","reaction","sendReadReceipt","sendReply","reply","sendTransactionReference","transactionReference","sendWalletSendCalls","walletSendCalls","sendActions","actions","sendIntent","intent","sendAttachment","attachment","sendMultiRemoteAttachment","multiRemoteAttachment","sendRemoteAttachment","remoteAttachment","findEnrichedMessages","countMessages","consentState","updateConsentState","state","dmPeerInboxId","messageDisappearingSettings","updateMessageDisappearingSettings","fromNs","inNs","settings","removeMessageDisappearingSettings","isMessageDisappearingEnabled","stream","callback","onFail","on_message","message","on_error","error","on_close","pausedForVersion","hmacKeys","getHmacKeys","debugInfo","getDebugInfo","duplicateDms","findDuplicateDms","map","dm","requestRemoval","leaveGroup","isPendingRemoval","membershipState","GroupMembershipState","PendingRemove","lastReadTimes","getLastReadTimes","WorkerConversations","conversations","syncAll","consentStates","syncAllConversations","getConversationById","findGroupById","getMessageById","findEnrichedMessageById","getDmByInboxId","findDmByTargetInboxId","list","item","listGroups","conversationType","ConversationType","Group","listDms","Dm","createGroupOptimistic","createGroupWithIdentifiers","createGroup","createGroupByInboxIds","createDmWithIdentifier","createDm","createDmByInboxId","on_conversation","streamGroups","streamDms","streamAllMessages","streamDeletedMessages","streamMessageDeletions","on_message_deleted","WorkerDebugInformation","apiStatistics","apiIdentityStatistics","apiAggregateStatistics","clearAllStatistics","WorkerPreferences","syncPreferences","inboxState","refreshFromNetwork","getInboxStates","inboxStateFromInboxIds","setConsentStates","records","getConsentState","entityType","entity","streamConsent","on_consent_update","consent","streamPreferences","on_user_preference_update","preferences","WorkerClient","debugInformation","create","libxmtpVersion","accountIdentifier","installationId","installationIdBytes","isRegistered","canMessage","addSignature","signatureRequest","signer","type","addScwSignature","signature","chainId","blockNumber","addEcdsaSignature","applySignatureRequest","processSignatureRequest","createInboxSignatureRequest","addAccountSignatureRequest","newAccountIdentifier","addWalletSignatureRequest","removeAccountSignatureRequest","revokeWalletSignatureRequest","revokeAllOtherInstallationsSignatureRequest","revokeInstallationsSignatureRequest","installationIds","changeRecoveryIdentifierSignatureRequest","registerIdentity","getInboxIdByIdentifier","findInboxIdByIdentity","signWithInstallationKey","signatureText","verifySignedWithInstallationKey","signatureBytes","verifySignedWithPublicKey","publicKey","fetchKeyPackageStatuses","getKeyPackageStatusesForInstallationIds","sendSyncRequest","serverUrl","device_sync","maybeClient","enableLogging","streamClosers","Map","signatureRequests","postMessage","data","self","postStreamMessage","postStreamMessageError","onmessage","event","action","console","log","LogLevel","Off","result","getGroup","streamCloser","get","end","delete","signatureRequestId","set","newIdentifier","streamCallback","value","then","catch","enrichedMessage","Promise","all","content","dms","e","postMessageError"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sources":["../../src/utils/conversions.ts","../../src/utils/errors.ts","../../src/utils/createBackend.ts","../../src/utils/createClient.ts","../../src/WorkerConversation.ts","../../src/WorkerConversations.ts","../../src/WorkerDebugInformation.ts","../../src/WorkerPreferences.ts","../../src/WorkerClient.ts","../../src/workers/client.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null],"names":["toSafeConversation","async","conversation","id","name","imageUrl","description","appData","permissions","addedByInboxId","metadata","admins","listAdmins","superAdmins","listSuperAdmins","createdAtNs","ClientNotInitializedError","Error","constructor","super","GroupNotFoundError","groupId","StreamNotFoundError","streamId","envMap","local","BindingsEnv","Local","dev","Dev","production","Production","TestnetStaging","TestnetDev","testnet","Testnet","mainnet","Mainnet","reverseEnvMap","createBackend","options","init","builder","BackendBuilder","env","apiUrl","setApiUrl","gatewayHost","setGatewayHost","appVersion","setAppVersion","build","networkOptionKeys","createClient","identifier","backend","hasBackend","conflicting","filter","key","length","join","resolveBackend","inboxId","getInboxIdForIdentifier","generateInboxId","envString","dbPath","undefined","isLogging","loggingLevel","structuredLogging","performanceLogging","deviceSyncMode","disableDeviceSync","DeviceSyncMode","Disabled","Enabled","client","createClientWithBackend","dbEncryptionKey","structured","performance","level","WorkerConversation","group","this","groupName","updateName","updateGroupName","groupImageUrlSquare","updateImageUrl","updateGroupImageUrlSquare","groupDescription","updateDescription","updateGroupDescription","updateAppData","isActive","lastMessage","messages","limit","direction","SortDirection","Descending","groupMetadata","members","listMembers","adminList","superAdminList","groupPermissions","policyType","policySet","updatePermission","permissionType","policy","metadataField","updatePermissionPolicy","isAdmin","isSuperAdmin","sync","addMembersByIdentifiers","identifiers","addMembersByIdentity","addMembers","inboxIds","removeMembersByIdentifiers","removeMembersByIdentity","removeMembers","addAdmin","removeAdmin","addSuperAdmin","removeSuperAdmin","publishMessages","processStreamedMessage","envelopeBytes","processStreamedGroupMessage","send","encodedContent","opts","shouldPush","sendText","text","isOptimistic","sendMarkdown","markdown","sendReaction","reaction","sendReadReceipt","sendReply","reply","sendTransactionReference","transactionReference","sendWalletSendCalls","walletSendCalls","sendActions","actions","sendIntent","intent","sendAttachment","attachment","sendMultiRemoteAttachment","multiRemoteAttachment","sendRemoteAttachment","remoteAttachment","findEnrichedMessages","countMessages","consentState","updateConsentState","state","dmPeerInboxId","messageDisappearingSettings","updateMessageDisappearingSettings","fromNs","inNs","settings","removeMessageDisappearingSettings","isMessageDisappearingEnabled","stream","callback","onFail","on_message","message","on_error","error","on_close","pausedForVersion","hmacKeys","getHmacKeys","debugInfo","getDebugInfo","duplicateDms","findDuplicateDms","map","dm","requestRemoval","leaveGroup","isPendingRemoval","membershipState","GroupMembershipState","PendingRemove","lastReadTimes","getLastReadTimes","WorkerConversations","conversations","syncAll","consentStates","syncAllConversations","getConversationById","findGroupById","getMessageById","findEnrichedMessageById","getDmByInboxId","findDmByTargetInboxId","list","item","listGroups","conversationType","ConversationType","Group","listDms","Dm","createGroupOptimistic","createGroupWithIdentifiers","createGroup","createGroupByInboxIds","createDmWithIdentifier","createDm","createDmByInboxId","on_conversation","streamGroups","streamDms","streamAllMessages","streamDeletedMessages","streamMessageDeletions","on_message_deleted","WorkerDebugInformation","apiStatistics","apiIdentityStatistics","apiAggregateStatistics","clearAllStatistics","WorkerPreferences","syncPreferences","inboxState","refreshFromNetwork","getInboxStates","inboxStateFromInboxIds","setConsentStates","records","getConsentState","entityType","entity","streamConsent","on_consent_update","consent","streamPreferences","on_user_preference_update","preferences","WorkerClient","debugInformation","create","libxmtpVersion","accountIdentifier","installationId","installationIdBytes","isRegistered","canMessage","addSignature","signatureRequest","signer","type","addScwSignature","signature","chainId","blockNumber","addEcdsaSignature","applySignatureRequest","processSignatureRequest","createInboxSignatureRequest","addAccountSignatureRequest","newAccountIdentifier","addWalletSignatureRequest","removeAccountSignatureRequest","revokeWalletSignatureRequest","revokeAllOtherInstallationsSignatureRequest","revokeInstallationsSignatureRequest","installationIds","changeRecoveryIdentifierSignatureRequest","registerIdentity","getInboxIdByIdentifier","findInboxIdByIdentity","signWithInstallationKey","signatureText","verifySignedWithInstallationKey","signatureBytes","verifySignedWithPublicKey","publicKey","fetchKeyPackageStatuses","getKeyPackageStatusesForInstallationIds","sendSyncRequest","serverUrl","device_sync","sendSyncArchive","pin","processSyncArchive","archivePin","listAvailableArchives","daysCutoff","BigInt","createArchive","importArchive","data","archiveMetadata","syncAllDeviceSyncGroups","maybeClient","enableLogging","streamClosers","Map","signatureRequests","postMessage","self","postStreamMessage","postStreamMessageError","onmessage","event","action","console","log","LogLevel","Off","result","getGroup","streamCloser","get","end","delete","signatureRequestId","set","newIdentifier","streamCallback","value","then","catch","enrichedMessage","Promise","all","content","dms","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
|
+
"version": "7.0.0",
|
|
4
4
|
"description": "XMTP client SDK for browsers written in TypeScript",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"xmtp",
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
},
|
|
62
62
|
"dependencies": {
|
|
63
63
|
"@xmtp/content-type-primitives": "3.0.0",
|
|
64
|
-
"@xmtp/wasm-bindings": "1.10.0
|
|
64
|
+
"@xmtp/wasm-bindings": "1.10.0"
|
|
65
65
|
},
|
|
66
66
|
"devDependencies": {
|
|
67
67
|
"@rollup/plugin-terser": "^0.4.4",
|
|
@@ -82,6 +82,14 @@
|
|
|
82
82
|
"vite-tsconfig-paths": "^6.0.4",
|
|
83
83
|
"vitest": "^4.0.18"
|
|
84
84
|
},
|
|
85
|
+
"peerDependencies": {
|
|
86
|
+
"viem": ">=2"
|
|
87
|
+
},
|
|
88
|
+
"peerDependenciesMeta": {
|
|
89
|
+
"viem": {
|
|
90
|
+
"optional": true
|
|
91
|
+
}
|
|
92
|
+
},
|
|
85
93
|
"engines": {
|
|
86
94
|
"node": ">=22"
|
|
87
95
|
},
|
package/src/Client.ts
CHANGED
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
import { type ContentCodec } from "@xmtp/content-type-primitives";
|
|
2
2
|
import {
|
|
3
3
|
Backend,
|
|
4
|
+
BackupElementSelectionOption,
|
|
4
5
|
LogLevel,
|
|
6
|
+
type ArchiveMetadata,
|
|
5
7
|
type ArchiveOptions,
|
|
8
|
+
type AvailableArchiveInfo,
|
|
9
|
+
type GroupSyncSummary,
|
|
6
10
|
type Identifier,
|
|
7
11
|
type InboxState,
|
|
8
12
|
} from "@xmtp/wasm-bindings";
|
|
9
13
|
import { CodecRegistry } from "@/CodecRegistry";
|
|
14
|
+
import { HistorySyncUrls } from "@/constants";
|
|
10
15
|
import { Conversations } from "@/Conversations";
|
|
11
16
|
import { DebugInformation } from "@/DebugInformation";
|
|
12
17
|
import { Preferences } from "@/Preferences";
|
|
@@ -828,17 +833,152 @@ export class Client<ContentTypes = ExtractCodecContentTypes> {
|
|
|
828
833
|
});
|
|
829
834
|
}
|
|
830
835
|
|
|
836
|
+
/**
|
|
837
|
+
* Get the default archive options (consent and messages)
|
|
838
|
+
*/
|
|
839
|
+
#getDefaultArchiveOptions(): ArchiveOptions {
|
|
840
|
+
return {
|
|
841
|
+
elements: [
|
|
842
|
+
BackupElementSelectionOption.Consent,
|
|
843
|
+
BackupElementSelectionOption.Messages,
|
|
844
|
+
],
|
|
845
|
+
excludeDisappearingMessages: false,
|
|
846
|
+
};
|
|
847
|
+
}
|
|
848
|
+
|
|
849
|
+
/**
|
|
850
|
+
* Get the default server URL based on the environment
|
|
851
|
+
*/
|
|
852
|
+
#getDefaultServerUrl(): string {
|
|
853
|
+
const env = this.#env ?? "dev";
|
|
854
|
+
return HistorySyncUrls[env];
|
|
855
|
+
}
|
|
856
|
+
|
|
831
857
|
/**
|
|
832
858
|
* Send a sync request to other devices on the network
|
|
833
859
|
*
|
|
834
|
-
* @param options - Archive options specifying what to sync
|
|
835
|
-
* @param serverUrl - The server URL for the sync request
|
|
860
|
+
* @param options - Archive options specifying what to sync (defaults to consent and messages)
|
|
861
|
+
* @param serverUrl - The server URL for the sync request (defaults to environment-specific URL)
|
|
836
862
|
* @returns Promise that resolves when the sync request is sent
|
|
837
863
|
*/
|
|
838
|
-
async sendSyncRequest(options
|
|
864
|
+
async sendSyncRequest(options?: ArchiveOptions, serverUrl?: string) {
|
|
865
|
+
const resolvedOptions = options ?? this.#getDefaultArchiveOptions();
|
|
866
|
+
const resolvedServerUrl = serverUrl ?? this.#getDefaultServerUrl();
|
|
867
|
+
|
|
839
868
|
return this.#worker.action("client.sendSyncRequest", {
|
|
840
|
-
options,
|
|
841
|
-
serverUrl,
|
|
869
|
+
options: resolvedOptions,
|
|
870
|
+
serverUrl: resolvedServerUrl,
|
|
871
|
+
});
|
|
872
|
+
}
|
|
873
|
+
|
|
874
|
+
/**
|
|
875
|
+
* Send a sync archive to the sync group
|
|
876
|
+
*
|
|
877
|
+
* @param pin - The pin used for reference when importing
|
|
878
|
+
* @param options - Archive options specifying what to sync (defaults to consent and messages)
|
|
879
|
+
* @param serverUrl - The server URL for the sync archive (defaults to environment-specific URL)
|
|
880
|
+
* @returns Promise that resolves when the sync archive is sent
|
|
881
|
+
*/
|
|
882
|
+
async sendSyncArchive(
|
|
883
|
+
pin: string,
|
|
884
|
+
options?: ArchiveOptions,
|
|
885
|
+
serverUrl?: string,
|
|
886
|
+
) {
|
|
887
|
+
const resolvedOptions = options ?? this.#getDefaultArchiveOptions();
|
|
888
|
+
const resolvedServerUrl = serverUrl ?? this.#getDefaultServerUrl();
|
|
889
|
+
|
|
890
|
+
return this.#worker.action("client.sendSyncArchive", {
|
|
891
|
+
options: resolvedOptions,
|
|
892
|
+
serverUrl: resolvedServerUrl,
|
|
893
|
+
pin,
|
|
894
|
+
});
|
|
895
|
+
}
|
|
896
|
+
|
|
897
|
+
/**
|
|
898
|
+
* Process a sync archive that matches the pin given
|
|
899
|
+
*
|
|
900
|
+
* @param archivePin - Optional pin to match. If not provided, processes the last archive sent
|
|
901
|
+
* @returns Promise that resolves when the archive is processed
|
|
902
|
+
*/
|
|
903
|
+
async processSyncArchive(archivePin?: string | null) {
|
|
904
|
+
return this.#worker.action("client.processSyncArchive", {
|
|
905
|
+
archivePin,
|
|
906
|
+
});
|
|
907
|
+
}
|
|
908
|
+
|
|
909
|
+
/**
|
|
910
|
+
* List the archives available for import in the sync group
|
|
911
|
+
*
|
|
912
|
+
* You may need to manually sync the sync group before calling
|
|
913
|
+
* this function to see recently uploaded archives.
|
|
914
|
+
*
|
|
915
|
+
* @param daysCutoff - Number of days to look back for archives
|
|
916
|
+
* @returns Promise that resolves with array of available archive information
|
|
917
|
+
*/
|
|
918
|
+
async listAvailableArchives(
|
|
919
|
+
daysCutoff: number,
|
|
920
|
+
): Promise<AvailableArchiveInfo[]> {
|
|
921
|
+
return this.#worker.action("client.listAvailableArchives", {
|
|
922
|
+
daysCutoff,
|
|
923
|
+
});
|
|
924
|
+
}
|
|
925
|
+
|
|
926
|
+
/**
|
|
927
|
+
* Export archive data to bytes for later restoration
|
|
928
|
+
*
|
|
929
|
+
* @param key - Encryption key for the archive
|
|
930
|
+
* @param opts - Archive options specifying what to include (defaults to consent and messages)
|
|
931
|
+
* @returns Promise that resolves with the archive data as bytes
|
|
932
|
+
*/
|
|
933
|
+
async createArchive(
|
|
934
|
+
key: Uint8Array,
|
|
935
|
+
opts?: ArchiveOptions,
|
|
936
|
+
): Promise<Uint8Array> {
|
|
937
|
+
const resolvedOpts = opts ?? this.#getDefaultArchiveOptions();
|
|
938
|
+
|
|
939
|
+
return this.#worker.action("client.createArchive", {
|
|
940
|
+
opts: resolvedOpts,
|
|
941
|
+
key,
|
|
842
942
|
});
|
|
843
943
|
}
|
|
944
|
+
|
|
945
|
+
/**
|
|
946
|
+
* Import an archive from bytes
|
|
947
|
+
*
|
|
948
|
+
* @param data - The archive data as bytes
|
|
949
|
+
* @param key - Encryption key for the archive
|
|
950
|
+
* @returns Promise that resolves when the archive is imported
|
|
951
|
+
*/
|
|
952
|
+
async importArchive(data: Uint8Array, key: Uint8Array) {
|
|
953
|
+
return this.#worker.action("client.importArchive", {
|
|
954
|
+
data,
|
|
955
|
+
key,
|
|
956
|
+
});
|
|
957
|
+
}
|
|
958
|
+
|
|
959
|
+
/**
|
|
960
|
+
* Load the metadata for an archive to see what it contains
|
|
961
|
+
*
|
|
962
|
+
* @param data - The archive data as bytes
|
|
963
|
+
* @param key - Encryption key for the archive
|
|
964
|
+
* @returns Promise that resolves with the archive metadata
|
|
965
|
+
*/
|
|
966
|
+
async archiveMetadata(
|
|
967
|
+
data: Uint8Array,
|
|
968
|
+
key: Uint8Array,
|
|
969
|
+
): Promise<ArchiveMetadata> {
|
|
970
|
+
return this.#worker.action("client.archiveMetadata", {
|
|
971
|
+
data,
|
|
972
|
+
key,
|
|
973
|
+
});
|
|
974
|
+
}
|
|
975
|
+
|
|
976
|
+
/**
|
|
977
|
+
* Manually sync all device sync groups
|
|
978
|
+
*
|
|
979
|
+
* @returns Promise that resolves with a summary of the sync operation
|
|
980
|
+
*/
|
|
981
|
+
async syncAllDeviceSyncGroups(): Promise<GroupSyncSummary> {
|
|
982
|
+
return this.#worker.action("client.syncAllDeviceSyncGroups");
|
|
983
|
+
}
|
|
844
984
|
}
|
package/src/Conversation.ts
CHANGED
|
@@ -140,6 +140,19 @@ export class Conversation<ContentTypes = unknown> {
|
|
|
140
140
|
});
|
|
141
141
|
}
|
|
142
142
|
|
|
143
|
+
/**
|
|
144
|
+
* Decodes, decrypts, and persists a raw envelope from a group message stream.
|
|
145
|
+
*
|
|
146
|
+
* @param envelopeBytes - Raw protobuf-encoded envelope bytes from the stream
|
|
147
|
+
* @returns The processed and stored messages
|
|
148
|
+
*/
|
|
149
|
+
async processStreamedMessage(envelopeBytes: Uint8Array) {
|
|
150
|
+
return this.#worker.action("conversation.processStreamedMessage", {
|
|
151
|
+
id: this.#id,
|
|
152
|
+
envelopeBytes,
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
|
|
143
156
|
/**
|
|
144
157
|
* Sends a message
|
|
145
158
|
*
|
package/src/WorkerClient.ts
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
verifySignedWithPublicKey,
|
|
3
|
+
type ArchiveMetadata,
|
|
3
4
|
type ArchiveOptions,
|
|
5
|
+
type AvailableArchiveInfo,
|
|
4
6
|
type Client,
|
|
7
|
+
type GroupSyncSummary,
|
|
5
8
|
type Identifier,
|
|
6
9
|
type KeyPackageStatus,
|
|
7
10
|
type SignatureRequestHandle,
|
|
@@ -195,4 +198,42 @@ export class WorkerClient {
|
|
|
195
198
|
async sendSyncRequest(options: ArchiveOptions, serverUrl: string) {
|
|
196
199
|
return this.#client.device_sync().sendSyncRequest(options, serverUrl);
|
|
197
200
|
}
|
|
201
|
+
|
|
202
|
+
async sendSyncArchive(
|
|
203
|
+
options: ArchiveOptions,
|
|
204
|
+
serverUrl: string,
|
|
205
|
+
pin: string,
|
|
206
|
+
) {
|
|
207
|
+
return this.#client.device_sync().sendSyncArchive(options, serverUrl, pin);
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
async processSyncArchive(archivePin?: string | null) {
|
|
211
|
+
return this.#client.device_sync().processSyncArchive(archivePin);
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
listAvailableArchives(daysCutoff: number): AvailableArchiveInfo[] {
|
|
215
|
+
return this.#client.device_sync().listAvailableArchives(BigInt(daysCutoff));
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
async createArchive(
|
|
219
|
+
opts: ArchiveOptions,
|
|
220
|
+
key: Uint8Array,
|
|
221
|
+
): Promise<Uint8Array> {
|
|
222
|
+
return this.#client.device_sync().createArchive(opts, key);
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
async importArchive(data: Uint8Array, key: Uint8Array) {
|
|
226
|
+
return this.#client.device_sync().importArchive(data, key);
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
async archiveMetadata(
|
|
230
|
+
data: Uint8Array,
|
|
231
|
+
key: Uint8Array,
|
|
232
|
+
): Promise<ArchiveMetadata> {
|
|
233
|
+
return this.#client.device_sync().archiveMetadata(data, key);
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
async syncAllDeviceSyncGroups(): Promise<GroupSyncSummary> {
|
|
237
|
+
return this.#client.device_sync().syncAllDeviceSyncGroups();
|
|
238
|
+
}
|
|
198
239
|
}
|
|
@@ -188,6 +188,10 @@ export class WorkerConversation {
|
|
|
188
188
|
return this.#group.publishMessages();
|
|
189
189
|
}
|
|
190
190
|
|
|
191
|
+
async processStreamedMessage(envelopeBytes: Uint8Array) {
|
|
192
|
+
return this.#group.processStreamedGroupMessage(envelopeBytes);
|
|
193
|
+
}
|
|
194
|
+
|
|
191
195
|
async send(encodedContent: EncodedContent, opts?: SendMessageOpts) {
|
|
192
196
|
return this.#group.send(encodedContent, opts ?? { shouldPush: true });
|
|
193
197
|
}
|