@wowok/wowok 3.0.6 → 3.0.8

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.
Files changed (109) hide show
  1. package/README.md +2 -2
  2. package/dist/esm/{arb-CNTnpKU4.mjs → arb-S5T4M9_4.mjs} +1 -1
  3. package/dist/esm/{call-Zj4BGD5O.mjs → call-CLTpE7NH.mjs} +1 -1
  4. package/dist/esm/client/index.d.mts +1 -1
  5. package/dist/esm/client/index.mjs +1 -1
  6. package/dist/esm/{client-HlvevC--.mjs → client-DYIgIItb.mjs} +1 -1
  7. package/dist/esm/{common-DhtZTgkX.mjs → common-DC9BAaSg.mjs} +1 -1
  8. package/dist/esm/cryptography/index.d.mts +1 -1
  9. package/dist/esm/{exception-o3XVk35a.mjs → exception-D2n4LV8F.mjs} +1 -1
  10. package/dist/esm/{fund-approval-B0Y1YRF5.mjs → fund-approval-D9vwQz49.mjs} +1 -1
  11. package/dist/esm/graphql/index.d.mts +1 -1
  12. package/dist/esm/graphql/index.mjs +1 -1
  13. package/dist/esm/{graphql-Dm6C2KN9.mjs → graphql-DyLuCJhh.mjs} +1 -1
  14. package/dist/esm/grpc/index.d.mts +1 -1
  15. package/dist/esm/grpc/index.mjs +1 -1
  16. package/dist/esm/{grpc-AmhWNnDx.mjs → grpc-DyL19pdw.mjs} +1 -1
  17. package/dist/esm/{index-5DmaIrpk.d.mts → index-DKne9Aij.d.mts} +549 -40
  18. package/dist/esm/index.d.mts +4 -4
  19. package/dist/esm/index.mjs +1 -1
  20. package/dist/esm/jsonRpc/index.d.mts +1 -1
  21. package/dist/esm/jsonRpc/index.mjs +1 -1
  22. package/dist/esm/keypairs/ed25519/index.d.mts +1 -1
  23. package/dist/esm/keypairs/falcon512/index.d.mts +1 -1
  24. package/dist/esm/keypairs/passkey/index.d.mts +1 -1
  25. package/dist/esm/keypairs/secp256k1/index.d.mts +1 -1
  26. package/dist/esm/keypairs/secp256r1/index.d.mts +1 -1
  27. package/dist/esm/{local-Cizo_1J5.d.mts → local-CsbLMwvo.d.mts} +12 -1
  28. package/dist/esm/messenger-CsUbfW03.mjs +1 -0
  29. package/dist/esm/messenger-api-BHzaiB8Z.mjs +1 -0
  30. package/dist/esm/multisig/index.d.mts +1 -1
  31. package/dist/esm/{networks-ByH0We-G.d.mts → networks-DgObqYrB.d.mts} +16 -1
  32. package/dist/esm/{proof-BgXYvVg_.mjs → proof-e283A6LF.mjs} +1 -1
  33. package/dist/esm/{received-BumlehnN.mjs → received-BP2jW99o.mjs} +1 -1
  34. package/dist/esm/{service-Bf6Sljmf.mjs → service-CF9YMK_P.mjs} +1 -1
  35. package/dist/esm/transactions/index.d.mts +1 -1
  36. package/dist/esm/util-2Fli5dww.mjs +1 -0
  37. package/dist/esm/{util-kGpbSSrV.mjs → util-DGq_oxSf.mjs} +1 -1
  38. package/dist/esm/verify/index.d.mts +1 -1
  39. package/dist/esm/w/call/allocation.d.mts +1 -1
  40. package/dist/esm/w/call/allocation.mjs +1 -1
  41. package/dist/esm/w/call/arbitration.d.mts +1 -1
  42. package/dist/esm/w/call/arbitration.mjs +1 -1
  43. package/dist/esm/w/call/base.d.mts +1 -1
  44. package/dist/esm/w/call/base.mjs +1 -1
  45. package/dist/esm/w/call/demand.d.mts +1 -1
  46. package/dist/esm/w/call/demand.mjs +1 -1
  47. package/dist/esm/w/call/guard.d.mts +1 -1
  48. package/dist/esm/w/call/guard.mjs +1 -1
  49. package/dist/esm/w/call/index.d.mts +1 -1
  50. package/dist/esm/w/call/index.mjs +1 -1
  51. package/dist/esm/w/call/machine.d.mts +1 -1
  52. package/dist/esm/w/call/machine.mjs +1 -1
  53. package/dist/esm/w/call/passport.d.mts +1 -1
  54. package/dist/esm/w/call/passport.mjs +1 -1
  55. package/dist/esm/w/call/payment.d.mts +1 -1
  56. package/dist/esm/w/call/payment.mjs +1 -1
  57. package/dist/esm/w/call/permission.d.mts +1 -1
  58. package/dist/esm/w/call/permission.mjs +1 -1
  59. package/dist/esm/w/call/progress.d.mts +1 -1
  60. package/dist/esm/w/call/progress.mjs +1 -1
  61. package/dist/esm/w/call/repository.d.mts +1 -1
  62. package/dist/esm/w/call/repository.mjs +1 -1
  63. package/dist/esm/w/call/reward.d.mts +1 -1
  64. package/dist/esm/w/call/reward.mjs +1 -1
  65. package/dist/esm/w/call/service.d.mts +1 -1
  66. package/dist/esm/w/call/service.mjs +1 -1
  67. package/dist/esm/w/call/treasury.d.mts +1 -1
  68. package/dist/esm/w/call/treasury.mjs +1 -1
  69. package/dist/esm/w/common.d.mts +1 -1
  70. package/dist/esm/w/common.mjs +1 -1
  71. package/dist/esm/w/index.d.mts +4 -4
  72. package/dist/esm/w/index.mjs +1 -1
  73. package/dist/esm/w/local/account.d.mts +2 -2
  74. package/dist/esm/w/local/account.mjs +1 -1
  75. package/dist/esm/w/local/evm/networks.d.mts +1 -1
  76. package/dist/esm/w/local/evm/networks.mjs +1 -1
  77. package/dist/esm/w/local/evm-account.mjs +1 -1
  78. package/dist/esm/w/local/fund-approval.mjs +1 -1
  79. package/dist/esm/w/local/index.d.mts +4 -4
  80. package/dist/esm/w/local/index.mjs +1 -1
  81. package/dist/esm/w/local/local.d.mts +1 -1
  82. package/dist/esm/w/local/local.mjs +1 -1
  83. package/dist/esm/w/local/token.d.mts +1 -1
  84. package/dist/esm/w/local/token.mjs +1 -1
  85. package/dist/esm/w/messenger/attachment.d.mts +2 -0
  86. package/dist/esm/w/messenger/attachment.mjs +1 -0
  87. package/dist/esm/w/messenger/index.d.mts +2 -2
  88. package/dist/esm/w/messenger/index.mjs +1 -1
  89. package/dist/esm/w/messenger/messenger-api.d.mts +2 -2
  90. package/dist/esm/w/messenger/messenger-api.mjs +1 -1
  91. package/dist/esm/w/messenger/messenger.d.mts +1 -1
  92. package/dist/esm/w/messenger/messenger.mjs +1 -1
  93. package/dist/esm/w/messenger/pq/crypto.mjs +1 -1
  94. package/dist/esm/w/messenger/reply.d.mts +1 -1
  95. package/dist/esm/w/messenger/storage.d.mts +39 -2
  96. package/dist/esm/w/messenger/storage.mjs +1 -1
  97. package/dist/esm/w/messenger/types.d.mts +2 -2
  98. package/dist/esm/w/messenger/types.mjs +1 -1
  99. package/dist/esm/w/messenger/utils.d.mts +31 -0
  100. package/dist/esm/w/messenger/utils.mjs +1 -0
  101. package/dist/esm/w/query/index.d.mts +2 -2
  102. package/dist/esm/w/query/index.mjs +1 -1
  103. package/dist/esm/w/query/object.d.mts +1 -1
  104. package/dist/esm/w/query/object.mjs +1 -1
  105. package/dist/esm/{w-DcAJ-L_L.mjs → w-BqZNIgJB.mjs} +1 -1
  106. package/package.json +7 -2
  107. package/dist/esm/messenger-Cq0kGhTg.mjs +0 -1
  108. package/dist/esm/messenger-api-DdKAABD8.mjs +0 -1
  109. package/dist/esm/util-DttciwF8.mjs +0 -1
@@ -1 +1 @@
1
- import{DEFAULT_MESSENGER_CONFIG,DEFAULT_QUERY_LIMIT,MAX_QUERY_LIMIT,MessageDirection,MessageStatus,MessageType,MessengerError,MessengerErrorCode,NORMAL_MESSAGE_BYTES_LIMIT,WTS_FILE_BYTES_LIMIT,WTS_MAX_MESSAGE_COUNT}from'./types.mjs';import{t as a90a}from'../../messenger-Cq0kGhTg.mjs';import{_ as a90b,a as a90c,b as a90d,c as a90e,d as a90f,f as a90g,g as a90h,h as a90i,i as a90j,l as a90k,m as a90l,n as a90m,o as a90n,p as a90o,r as a90p,s as a90q,t as a90r,u as a90s,v as a90t,x as a90u,y as a90v}from'../../messenger-api-DdKAABD8.mjs';export{DEFAULT_MESSENGER_CONFIG,DEFAULT_QUERY_LIMIT,MAX_QUERY_LIMIT,MessageDirection,MessageStatus,MessageType,a90a as Messenger,MessengerError,MessengerErrorCode,a90u as MessengerManager,NORMAL_MESSAGE_BYTES_LIMIT,WTS_FILE_BYTES_LIMIT,WTS_MAX_MESSAGE_COUNT,a90r as blacklist,a90m as extractZipFromPlaintext,a90p as extract_zip_messages,a90j as friendslist,a90c as generate_wts,a90n as getMessengerManager,a90q as guardlist,a90e as mark_conversation_as_viewed,a90k as mark_messages_as_viewed,a90s as proof_message,a90f as pull_messages,a90g as search_messages,a90o as send_file,a90l as send_message,a90i as settings,a90h as sign_wts,a90b as verify_wts,a90t as watch_conversations,a90v as watch_messages,a90d as wts2html};
1
+ import{DEFAULT_MESSENGER_CONFIG,DEFAULT_QUERY_LIMIT,MAX_QUERY_LIMIT,MessageDirection,MessageStatus,MessageType,MessengerError,MessengerErrorCode,NORMAL_MESSAGE_BYTES_LIMIT,WTS_FILE_BYTES_LIMIT,WTS_MAX_MESSAGE_COUNT}from'./types.mjs';import{t as a91a}from'../../messenger-CsUbfW03.mjs';import{ENVELOPE_MAX_ENTRIES,ENVELOPE_MAX_TOTAL_BYTES,MANIFEST_ENTRY,PAYLOAD_PREFIX,assertZipMagic,buildAttachmentEnvelope,describeAttachmentFromMetadata,extOf,parseAttachmentEnvelope,presentMessageForRead,presentMessagesForRead,sanitizeFileName,sniffKindAndMime}from'./attachment.mjs';import{C as a91b,S as a91c,T as a91d,_ as a91e,a as a91f,b as a91g,c as a91h,d as a91i,f as a91j,g as a91k,h as a91l,i as a91m,l as a91n,m as a91o,n as a91p,o as a91q,p as a91r,r as a91s,s as a91t,t as a91u,u as a91v,v as a91w,w as a91x,x as a91y,y as a91z}from'../../messenger-api-BHzaiB8Z.mjs';export{DEFAULT_MESSENGER_CONFIG,DEFAULT_QUERY_LIMIT,ENVELOPE_MAX_ENTRIES,ENVELOPE_MAX_TOTAL_BYTES,MANIFEST_ENTRY,MAX_QUERY_LIMIT,MessageDirection,MessageStatus,MessageType,a91a as Messenger,MessengerError,MessengerErrorCode,a91d as MessengerManager,NORMAL_MESSAGE_BYTES_LIMIT,PAYLOAD_PREFIX,WTS_FILE_BYTES_LIMIT,WTS_MAX_MESSAGE_COUNT,assertZipMagic,a91u as blacklist,buildAttachmentEnvelope,describeAttachmentFromMetadata,a91p as emergency_pull,a91s as export_attachment,extOf,a91m as extractZipFromPlaintext,a91f as extract_zip_messages,a91q as friendslist,a91t as generate_wts,a91h as getMessengerManager,a91n as get_attachment,a91v as guardlist,a91i as mark_conversation_as_viewed,a91j as mark_messages_as_viewed,parseAttachmentEnvelope,a91r as peer_registered,presentMessageForRead,presentMessagesForRead,a91o as proof_message,a91l as pull_messages,sanitizeFileName,a91k as search_messages,a91e as send_file,a91w as send_message,a91z as settings,a91g as sign_wts,sniffKindAndMime,a91y as verify_wts,a91c as watch_conversations,a91b as watch_messages,a91x as wts2html};
@@ -1,2 +1,2 @@
1
- import { $n as sign_wts, An as BlacklistResponse, Bn as extract_zip_messages, Fn as GuardlistResponse, Gn as mark_conversation_as_viewed, Hn as generate_wts, In as SettingsRequest, Jn as pull_messages, Kn as mark_messages_as_viewed, Ln as SettingsResponse, Mn as FriendslistResponse, Nn as GuardParam, Pn as GuardlistRequest, Qn as settings, Rn as blacklist, Un as getMessengerManager, Vn as friendslist, Wn as guardlist, Xn as send_file, Yn as search_messages, Zn as send_message, er as verify_wts, jn as FriendslistRequest, kn as BlacklistRequest, nr as watch_messages, qn as proof_message, rr as wts2html, tr as watch_conversations, zn as extractZipFromPlaintext } from "../../index-5DmaIrpk.mjs";
2
- export { BlacklistRequest, BlacklistResponse, FriendslistRequest, FriendslistResponse, GuardParam, GuardlistRequest, GuardlistResponse, SettingsRequest, SettingsResponse, blacklist, extractZipFromPlaintext, extract_zip_messages, friendslist, generate_wts, getMessengerManager, guardlist, mark_conversation_as_viewed, mark_messages_as_viewed, proof_message, pull_messages, search_messages, send_file, send_message, settings, sign_wts, verify_wts, watch_conversations, watch_messages, wts2html };
1
+ import { $n as SettingsRequest, Cr as watch_messages, Jn as FriendslistRequest, Kn as BlacklistRequest, Qn as GuardlistResponse, Sr as watch_conversations, Xn as GuardParam, Yn as FriendslistResponse, Zn as GuardlistRequest, _r as send_file, ar as extract_zip_messages, br as sign_wts, cr as getMessengerManager, dr as mark_conversation_as_viewed, er as SettingsResponse, fr as mark_messages_as_viewed, gr as search_messages, hr as pull_messages, ir as extractZipFromPlaintext, lr as get_attachment, mr as proof_message, nr as emergency_pull, or as friendslist, pr as peer_registered, qn as BlacklistResponse, rr as export_attachment, sr as generate_wts, tr as blacklist, ur as guardlist, vr as send_message, wr as wts2html, xr as verify_wts, yr as settings } from "../../index-DKne9Aij.mjs";
2
+ export { BlacklistRequest, BlacklistResponse, FriendslistRequest, FriendslistResponse, GuardParam, GuardlistRequest, GuardlistResponse, SettingsRequest, SettingsResponse, blacklist, emergency_pull, export_attachment, extractZipFromPlaintext, extract_zip_messages, friendslist, generate_wts, getMessengerManager, get_attachment, guardlist, mark_conversation_as_viewed, mark_messages_as_viewed, peer_registered, proof_message, pull_messages, search_messages, send_file, send_message, settings, sign_wts, verify_wts, watch_conversations, watch_messages, wts2html };
@@ -1 +1 @@
1
- import{_ as a91a,a as a91b,b as a91c,c as a91d,d as a91e,f as a91f,g as a91g,h as a91h,i as a91i,l as a91j,m as a91k,n as a91l,o as a91m,p as a91n,r as a91o,s as a91p,t as a91q,u as a91r,v as a91s,y as a91t}from'../../messenger-api-DdKAABD8.mjs';export{a91q as blacklist,a91l as extractZipFromPlaintext,a91o as extract_zip_messages,a91i as friendslist,a91b as generate_wts,a91m as getMessengerManager,a91p as guardlist,a91d as mark_conversation_as_viewed,a91j as mark_messages_as_viewed,a91r as proof_message,a91e as pull_messages,a91f as search_messages,a91n as send_file,a91k as send_message,a91h as settings,a91g as sign_wts,a91a as verify_wts,a91s as watch_conversations,a91t as watch_messages,a91c as wts2html};
1
+ import{C as a92a,S as a92b,_ as a92c,a as a92d,b as a92e,c as a92f,d as a92g,f as a92h,g as a92i,h as a92j,i as a92k,l as a92l,m as a92m,n as a92n,o as a92o,p as a92p,r as a92q,s as a92r,t as a92s,u as a92t,v as a92u,w as a92v,x as a92w,y as a92x}from'../../messenger-api-BHzaiB8Z.mjs';export{a92s as blacklist,a92n as emergency_pull,a92q as export_attachment,a92k as extractZipFromPlaintext,a92d as extract_zip_messages,a92o as friendslist,a92r as generate_wts,a92f as getMessengerManager,a92l as get_attachment,a92t as guardlist,a92g as mark_conversation_as_viewed,a92h as mark_messages_as_viewed,a92p as peer_registered,a92m as proof_message,a92j as pull_messages,a92i as search_messages,a92c as send_file,a92u as send_message,a92x as settings,a92e as sign_wts,a92w as verify_wts,a92b as watch_conversations,a92a as watch_messages,a92v as wts2html};
@@ -1,2 +1,2 @@
1
- import { ar as Messenger } from "../../index-5DmaIrpk.mjs";
1
+ import { Er as Messenger } from "../../index-DKne9Aij.mjs";
2
2
  export { Messenger };
@@ -1 +1 @@
1
- import{t as a92a}from'../../messenger-Cq0kGhTg.mjs';export{a92a as Messenger};
1
+ import{t as a93a}from'../../messenger-CsUbfW03.mjs';export{a93a as Messenger};
@@ -1 +1 @@
1
- import'./types.mjs';import{blake2b}from'@noble/hashes/blake2.js';import{sha256}from'@noble/hashes/sha2.js';import{randomBytes}from'@noble/hashes/utils.js';import{x25519}from'@noble/curves/ed25519.js';import{hmac}from'@noble/hashes/hmac.js';import{falcon512padded}from'@noble/post-quantum/falcon.js';import{hkdf}from'@noble/hashes/hkdf.js';import{ml_kem768}from'@noble/post-quantum/ml-kem.js';import a93a from'node:crypto';function generateRandomBytes(a){return randomBytes(a);}function generateX25519KeyPair(){const a=randomBytes(0x20);return{'publicKey':x25519['getPublicKey'](a),'privateKey':a};}function x25519DH(a,b){return x25519['getSharedSecret'](a,b);}function generateFalcon512KeyPair(){const {publicKey:a,secretKey:b}=falcon512padded['keygen']();return{'publicKey':a,'privateKey':b};}function falcon512Sign(a,b){return falcon512padded['sign'](b,a);}function falcon512Verify(a,b,c){try{return falcon512padded['verify'](c,b,a);}catch{return![];}}function generateMLKEMKeyPair(){const {publicKey:a,secretKey:b}=ml_kem768['keygen']();return{'publicKey':a,'secretKey':b};}function mlkemEncapsulate(a){const {cipherText:b,sharedSecret:c}=ml_kem768['encapsulate'](a);return{'ciphertext':b,'sharedSecret':c};}function mlkemDecapsulate(a,b){return ml_kem768['decapsulate'](a,b);}function hkdfDerive(a,b,c,d){return hkdf(sha256,a,d||new Uint8Array(0x0),b,c);}function hkdfChainKey(a,b){const c=new Uint8Array(a['length']+b['length']);c['set'](a),c['set'](b,a['length']);const d=hkdfDerive(c,new TextEncoder()['encode']('WowokPQChainKey'),0x40);return{'rootKey':d['slice'](0x0,0x20),'chainKey':d['slice'](0x20,0x40)};}function hkdfMessageKey(a){const b=hkdfDerive(a,new TextEncoder()['encode']('WowokPQMessageKey'),0x40);return{'messageKey':b['slice'](0x0,0x20),'nextChainKey':b['slice'](0x20,0x40)};}function hmacSha256(a,b){return hmac(sha256,a,b);}function aesGcmEncrypt(a,b,c){const d=randomBytes(0xc),e=Buffer['from'](a),f=Buffer['from'](d),g=Buffer['from'](b),h=Buffer['from'](c),i=a93a['createCipheriv']('aes-256-gcm',e,f);i['setAAD'](h);const j=Buffer['concat']([i['update'](g),i['final']()]),k=i['getAuthTag']();return{'ciphertext':new Uint8Array(j),'iv':d,'tag':new Uint8Array(k)};}function aesGcmDecrypt(a,b,c,d,e){const f=Buffer['from'](a),g=Buffer['from'](c),h=Buffer['from'](b),i=Buffer['from'](d),j=Buffer['from'](e),k=a93a['createDecipheriv']('aes-256-gcm',f,g);k['setAAD'](j),k['setAuthTag'](i);const l=Buffer['concat']([k['update'](h),k['final']()]);return new Uint8Array(l);}function sha256Hash(a){return sha256(a);}const FALCON512_SCHEME_FLAG=0x7,WOW_ADDRESS_LENGTH=0x20;function deriveAddressFromFalcon512PublicKey(a){const b=new Uint8Array(a['length']+0x1);b[0x0]=FALCON512_SCHEME_FLAG,b['set'](a,0x1);const c=blake2b(b,{'dkLen':0x20}),d=new Uint8Array(WOW_ADDRESS_LENGTH);return d[0x0]=0x0,d['set'](c['slice'](0x0,WOW_ADDRESS_LENGTH-0x1),0x1),'0x'+bytesToHex(d);}function constantTimeEqual(c,d){if(c['length']!==d['length'])return![];let e=0x0;for(let f=0x0;f<c['length'];f++)e|=c[f]^d[f];return e===0x0;}function bytesToBase64(a){return Buffer['from'](a)['toString']('base64');}function base64ToBytes(a){return new Uint8Array(Buffer['from'](a,'base64'));}function bytesToHex(a){return Buffer['from'](a)['toString']('hex');}function hexToBytes(a){return new Uint8Array(Buffer['from'](a,'hex'));}function concatBytes(...a){const b=a['reduce']((e,f)=>e+f['length'],0x0),c=new Uint8Array(b);let d=0x0;for(const e of a){c['set'](e,d),d+=e['length'];}return c;}function deriveRegistrationId(a){const b=(a[0x0]<<0x8|a[0x1])>>>0x0;return b===0x0?0x1:b;}function generateX25519BindingSignature(a,b){return falcon512Sign(a,b);}function verifyX25519BindingSignature(a,b,c){return falcon512Verify(a,b,c);}export{aesGcmDecrypt,aesGcmEncrypt,base64ToBytes,bytesToBase64,bytesToHex,concatBytes,constantTimeEqual,deriveAddressFromFalcon512PublicKey,deriveRegistrationId,falcon512Sign,falcon512Verify,generateFalcon512KeyPair,generateMLKEMKeyPair,generateRandomBytes,generateX25519BindingSignature,generateX25519KeyPair,hexToBytes,hkdfChainKey,hkdfDerive,hkdfMessageKey,hmacSha256,mlkemDecapsulate,mlkemEncapsulate,sha256Hash,verifyX25519BindingSignature,x25519DH};
1
+ import'./types.mjs';import{blake2b}from'@noble/hashes/blake2.js';import{sha256}from'@noble/hashes/sha2.js';import{randomBytes}from'@noble/hashes/utils.js';import{x25519}from'@noble/curves/ed25519.js';import{hmac}from'@noble/hashes/hmac.js';import{falcon512padded}from'@noble/post-quantum/falcon.js';import{hkdf}from'@noble/hashes/hkdf.js';import{ml_kem768}from'@noble/post-quantum/ml-kem.js';import a94a from'node:crypto';function generateRandomBytes(a){return randomBytes(a);}function generateX25519KeyPair(){const a=randomBytes(0x20);return{'publicKey':x25519['getPublicKey'](a),'privateKey':a};}function x25519DH(a,b){return x25519['getSharedSecret'](a,b);}function generateFalcon512KeyPair(){const {publicKey:a,secretKey:b}=falcon512padded['keygen']();return{'publicKey':a,'privateKey':b};}function falcon512Sign(a,b){return falcon512padded['sign'](b,a);}function falcon512Verify(a,b,c){try{return falcon512padded['verify'](c,b,a);}catch{return![];}}function generateMLKEMKeyPair(){const {publicKey:a,secretKey:b}=ml_kem768['keygen']();return{'publicKey':a,'secretKey':b};}function mlkemEncapsulate(a){const {cipherText:b,sharedSecret:c}=ml_kem768['encapsulate'](a);return{'ciphertext':b,'sharedSecret':c};}function mlkemDecapsulate(a,b){return ml_kem768['decapsulate'](a,b);}function hkdfDerive(a,b,c,d){return hkdf(sha256,a,d||new Uint8Array(0x0),b,c);}function hkdfChainKey(a,b){const c=new Uint8Array(a['length']+b['length']);c['set'](a),c['set'](b,a['length']);const d=hkdfDerive(c,new TextEncoder()['encode']('WowokPQChainKey'),0x40);return{'rootKey':d['slice'](0x0,0x20),'chainKey':d['slice'](0x20,0x40)};}function hkdfMessageKey(a){const b=hkdfDerive(a,new TextEncoder()['encode']('WowokPQMessageKey'),0x40);return{'messageKey':b['slice'](0x0,0x20),'nextChainKey':b['slice'](0x20,0x40)};}function hmacSha256(a,b){return hmac(sha256,a,b);}function aesGcmEncrypt(a,b,c){const d=randomBytes(0xc),e=Buffer['from'](a),f=Buffer['from'](d),g=Buffer['from'](b),h=Buffer['from'](c),i=a94a['createCipheriv']('aes-256-gcm',e,f);i['setAAD'](h);const j=Buffer['concat']([i['update'](g),i['final']()]),k=i['getAuthTag']();return{'ciphertext':new Uint8Array(j),'iv':d,'tag':new Uint8Array(k)};}function aesGcmDecrypt(a,b,c,d,e){const f=Buffer['from'](a),g=Buffer['from'](c),h=Buffer['from'](b),i=Buffer['from'](d),j=Buffer['from'](e),k=a94a['createDecipheriv']('aes-256-gcm',f,g);k['setAAD'](j),k['setAuthTag'](i);const l=Buffer['concat']([k['update'](h),k['final']()]);return new Uint8Array(l);}function sha256Hash(a){return sha256(a);}const FALCON512_SCHEME_FLAG=0x7,WOW_ADDRESS_LENGTH=0x20;function deriveAddressFromFalcon512PublicKey(a){const b=new Uint8Array(a['length']+0x1);b[0x0]=FALCON512_SCHEME_FLAG,b['set'](a,0x1);const c=blake2b(b,{'dkLen':0x20}),d=new Uint8Array(WOW_ADDRESS_LENGTH);return d[0x0]=0x0,d['set'](c['slice'](0x0,WOW_ADDRESS_LENGTH-0x1),0x1),'0x'+bytesToHex(d);}function constantTimeEqual(c,d){if(c['length']!==d['length'])return![];let e=0x0;for(let f=0x0;f<c['length'];f++)e|=c[f]^d[f];return e===0x0;}function bytesToBase64(a){return Buffer['from'](a)['toString']('base64');}function base64ToBytes(a){return new Uint8Array(Buffer['from'](a,'base64'));}function bytesToHex(a){return Buffer['from'](a)['toString']('hex');}function hexToBytes(a){return new Uint8Array(Buffer['from'](a,'hex'));}function concatBytes(...a){const b=a['reduce']((e,f)=>e+f['length'],0x0),c=new Uint8Array(b);let d=0x0;for(const e of a){c['set'](e,d),d+=e['length'];}return c;}function deriveRegistrationId(a){const b=(a[0x0]<<0x8|a[0x1])>>>0x0;return b===0x0?0x1:b;}function generateX25519BindingSignature(a,b){return falcon512Sign(a,b);}function verifyX25519BindingSignature(a,b,c){return falcon512Verify(a,b,c);}export{aesGcmDecrypt,aesGcmEncrypt,base64ToBytes,bytesToBase64,bytesToHex,concatBytes,constantTimeEqual,deriveAddressFromFalcon512PublicKey,deriveRegistrationId,falcon512Sign,falcon512Verify,generateFalcon512KeyPair,generateMLKEMKeyPair,generateRandomBytes,generateX25519BindingSignature,generateX25519KeyPair,hexToBytes,hkdfChainKey,hkdfDerive,hkdfMessageKey,hmacSha256,mlkemDecapsulate,mlkemEncapsulate,sha256Hash,verifyX25519BindingSignature,x25519DH};
@@ -1,4 +1,4 @@
1
- import { ri as ReplyTo } from "../../index-5DmaIrpk.mjs";
1
+ import { ji as ReplyTo } from "../../index-DKne9Aij.mjs";
2
2
 
3
3
  //#region src/w/messenger/reply.d.ts
4
4
  /** 引用前缀标记头 */
@@ -1,4 +1,4 @@
1
- import { Gr as MessengerConfig, Ir as Message, fi as SessionState } from "../../index-5DmaIrpk.mjs";
1
+ import { Vi as SessionState, ci as Message, mi as MessageProofRecord, vi as MessengerConfig } from "../../index-DKne9Aij.mjs";
2
2
  import Database from "libsql";
3
3
 
4
4
  //#region src/w/messenger/storage.d.ts
@@ -22,6 +22,8 @@ interface StorageType {
22
22
  storeSession(encodedAddress: string, record: string): Promise<void>;
23
23
  removeSession(encodedAddress: string): Promise<void>;
24
24
  }
25
+ declare function getMessengerDbDir(): string;
26
+ declare function ensureDirExists(dir: string): void;
25
27
  declare function getDatabase(userAddress: string): Database.Database;
26
28
  /**
27
29
  * 重置数据库连接
@@ -83,8 +85,35 @@ declare class MessageStorage {
83
85
  constructor(userAddress: string);
84
86
  private get db();
85
87
  saveMessage(message: Message): void;
88
+ /**
89
+ * Append one on-chain Proof record to a message after a successful
90
+ * proof_message() transaction. Idempotent per proof object address.
91
+ *
92
+ * A message may carry MANY proofs: either conversation party may submit
93
+ * repeatedly, and every submission mints a distinct immutable Proof
94
+ * object on chain.
95
+ */
96
+ addMessageProof(messageId: string, proofAddress: string, network?: string): MessageProofRecord[];
86
97
  getMessage(messageId: string): Message | undefined;
87
98
  getMessagesBySession(myAddress: string, peerAddress: string): Message[];
99
+ /**
100
+ * Keyset-paginated session window — the fast path behind opening a
101
+ * conversation ("latest N first, scroll up for more").
102
+ *
103
+ * Without a cursor it returns the NEWEST `limit` messages; with a
104
+ * (beforeCreatedAt, beforeMessageId) cursor it returns the next older
105
+ * page. Results are returned in ASC (old→new) chronological order so
106
+ * callers can prepend them directly to the rendered thread.
107
+ *
108
+ * Each directional arm of the UNION ALL is bounded by its own
109
+ * ORDER BY … LIMIT (served straight from idx_messages_session_ts);
110
+ * the outer merge sorts at most 2×limit rows — the full session is
111
+ * never materialized even for 2000+ message threads.
112
+ */
113
+ getRecentMessagesBySession(myAddress: string, peerAddress: string, limit: number, before?: {
114
+ createdAt: number;
115
+ messageId: string;
116
+ }): Message[];
88
117
  /**
89
118
  * Keyword search over the local message store — the LIKE predicate is
90
119
  * pushed down to SQLite (per-account DB), so callers never pull full
@@ -131,6 +160,14 @@ declare class MessageStorage {
131
160
  * @returns 消息对象或 undefined
132
161
  */
133
162
  getMessageById(messageId: string): Message | undefined;
163
+ /**
164
+ * Delete a SENT message row that a retry supersedes (failed/rejected
165
+ * attempts stay behind after a resend otherwise, resurrecting ghost
166
+ * bubbles on every remount). Terminal delivered states (confirmed/read/
167
+ * decrypted) are NOT deletable; the messages_fts sync triggers keep the
168
+ * search index consistent with the removal.
169
+ */
170
+ deleteMessage(messageId: string): boolean;
134
171
  /**
135
172
  * 更新消息 ID(用于 Guard 消息确认后更新 messageId)
136
173
  *
@@ -266,4 +303,4 @@ declare class MessengerPersistStorage {
266
303
  }
267
304
  declare const defaultPersistStorage: MessengerPersistStorage;
268
305
  //#endregion
269
- export { MessageStorage, MessengerPersistStorage, PersistedMessengerState, SessionStateStorage, SignalProtocolStorage, defaultPersistStorage, getDatabase, resetDbConnection };
306
+ export { MessageStorage, MessengerPersistStorage, PersistedMessengerState, SessionStateStorage, SignalProtocolStorage, defaultPersistStorage, ensureDirExists, getDatabase, getMessengerDbDir, resetDbConnection };
@@ -1 +1 @@
1
- import{getWowDir}from'../local/util.mjs';import a104a from'libsql';import*as a104b from'path';import*as a104c from'fs';function getWowDirDynamic(){return getWowDir();}function getMessengerDbDir(){return a104b['join'](getWowDirDynamic(),'messenger');}function ensureDirExists(a){if(!a104c['existsSync'](a))a104c['mkdirSync'](a,{'recursive':!![]});}function getUserDbPath(a){const b=a['toLowerCase']()['replace'](/^0x/,'')['slice'](0x0,0x10),c=getMessengerDbDir();return ensureDirExists(c),a104b['join'](c,b+'.db');}function getGlobalDbPath(){const a=getMessengerDbDir();return ensureDirExists(a),a104b['join'](a,'global.db');}const userDbInstances=new Map();let globalDbInstance=null;function getDatabase(a){if(!a)throw new Error('userAddress\x20is\x20required\x20to\x20get\x20database');const b=userDbInstances['get'](a);if(b)return b;const c=new a104a(getUserDbPath(a));c['pragma']('journal_mode\x20=\x20WAL'),c['pragma']('synchronous\x20=\x20NORMAL'),c['pragma']('busy_timeout\x20=\x205000'),c['pragma']('cache_size\x20=\x20-64000'),c['exec']('\x0a\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20signal_store\x20(\x0a\x20\x20\x20\x20\x20\x20store_type\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20key\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20value\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20updated_at\x20INTEGER\x20DEFAULT\x20(strftime(\x27%s\x27,\x20\x27now\x27)),\x0a\x20\x20\x20\x20\x20\x20PRIMARY\x20KEY\x20(store_type,\x20key)\x0a\x20\x20\x20\x20);\x0a\x20\x20\x20\x20CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_signal_store_type\x20ON\x20signal_store(store_type);\x0a\x20\x20');try{c['exec']('\x0a\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20messages\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20message_id\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20\x20\x20\x20\x20from_address\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20to_address\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20plaintext_hash\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20plaintext\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20guard_address\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20passport_address\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20direction\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20status\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20msg_type\x20INTEGER\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20leaf_index\x20INTEGER,\x0a\x20\x20\x20\x20\x20\x20\x20\x20prev_root\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20new_root\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20server_signature\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20server_public_key\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20server_timestamp\x20INTEGER,\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_recipient\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_recipient_pubkey\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_signature\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_timestamp\x20INTEGER,\x0a\x20\x20\x20\x20\x20\x20\x20\x20zip_metadata\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20created_at\x20INTEGER\x20DEFAULT\x20(strftime(\x27%s\x27,\x20\x27now\x27)\x20*\x201000),\x0a\x20\x20\x20\x20\x20\x20\x20\x20received_at\x20INTEGER,\x0a\x20\x20\x20\x20\x20\x20\x20\x20reply_to\x20TEXT\x0a\x20\x20\x20\x20\x20\x20);\x0a\x20\x20\x20\x20');}catch(d){}try{c['exec']('ALTER\x20TABLE\x20messages\x20ADD\x20COLUMN\x20guard_address\x20TEXT');}catch(f){}try{c['exec']('ALTER\x20TABLE\x20messages\x20ADD\x20COLUMN\x20passport_address\x20TEXT');}catch(g){}try{c['exec']('ALTER\x20TABLE\x20messages\x20ADD\x20COLUMN\x20last_received_leaf_index\x20INTEGER');}catch(h){}try{c['exec']('ALTER\x20TABLE\x20messages\x20ADD\x20COLUMN\x20viewed_at\x20INTEGER');}catch(i){}try{c['exec']('ALTER\x20TABLE\x20messages\x20ADD\x20COLUMN\x20reply_to\x20TEXT');}catch(j){}try{c['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_from_to\x20ON\x20messages(from_address,\x20to_address)');}catch(k){}try{c['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_status\x20ON\x20messages(status)');}catch(l){}try{c['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_leaf\x20ON\x20messages(leaf_index)');}catch(m){}try{c['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_created_at\x20ON\x20messages(created_at)');}catch(n){}try{c['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_server_ts\x20ON\x20messages(server_timestamp)');}catch(o){}try{c['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_received_at\x20ON\x20messages(received_at)');}catch(p){}return c['exec']('\x0a\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20session_states\x20(\x0a\x20\x20\x20\x20\x20\x20session_id\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20\x20\x20my_address\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20peer_address\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20current_root\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20prev_root\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20message_count\x20INTEGER\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20last_leaf_index\x20INTEGER\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20last_confirmed_hash\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20last_sync_at\x20INTEGER,\x0a\x20\x20\x20\x20\x20\x20created_at\x20INTEGER\x20DEFAULT\x20(strftime(\x27%s\x27,\x20\x27now\x27)),\x0a\x20\x20\x20\x20\x20\x20updated_at\x20INTEGER\x20DEFAULT\x20(strftime(\x27%s\x27,\x20\x27now\x27))\x0a\x20\x20\x20\x20);\x0a\x20\x20\x20\x20CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_session_my_peer\x20ON\x20session_states(my_address,\x20peer_address);\x0a\x20\x20'),userDbInstances['set'](a,c),c;}function getGlobalDatabase(){if(globalDbInstance)return globalDbInstance;const a=new a104a(getGlobalDbPath());return a['pragma']('journal_mode\x20=\x20WAL'),a['pragma']('synchronous\x20=\x20NORMAL'),a['pragma']('cache_size\x20=\x20-10000'),a['pragma']('busy_timeout\x20=\x205000'),globalDbInstance=a,a;}function resetDbConnection(){for(const [a,b]of userDbInstances)try{b['pragma']('journal_mode\x20=\x20DELETE');}catch(c){}for(const [d,f]of userDbInstances)try{f['close']();}catch(g){}userDbInstances['clear']();if(globalDbInstance){try{globalDbInstance['pragma']('journal_mode\x20=\x20DELETE');}catch(h){}try{globalDbInstance['close']();}catch(i){}globalDbInstance=null;}}process['on']('exit',()=>{resetDbConnection();}),process['on']('SIGINT',()=>{resetDbConnection();}),process['on']('SIGTERM',()=>{resetDbConnection();});const STORE_TYPES={'IDENTITY':'identity','REGISTRATION_ID':'registration_id','IDENTITIES':'identities','PREKEYS':'prekeys','SIGNED_PREKEYS':'signed_prekeys','SESSIONS':'sessions','META':'meta'};function arrayBufferToBase64(a){return Buffer['from'](new Uint8Array(a))['toString']('base64');}function base64ToArrayBuffer(a){return Uint8Array['from'](Buffer['from'](a,'base64'))['slice']()['buffer'];}function bufferEqual(c,d){if(c['byteLength']!==d['byteLength'])return![];const e=new Uint8Array(c),f=new Uint8Array(d);for(let g=0x0;g<e['length'];g++)if(e[g]!==f[g])return![];return!![];}var SignalProtocolStorage=class{constructor(a,b='default'){this['userAddress']=a,this['storePrefix']=b;}get['db'](){return getDatabase(this['userAddress']);}async['setIdentity'](a,b){const c={'pubKey':arrayBufferToBase64(a['pubKey']),'privKey':arrayBufferToBase64(a['privKey'])};this['putValue'](STORE_TYPES['IDENTITY'],JSON['stringify'](c)),this['putValue'](STORE_TYPES['REGISTRATION_ID'],b['toString']());}async['getIdentityKeyPair'](){const a=this['getValue'](STORE_TYPES['IDENTITY']);if(!a)return void 0x0;const b=JSON['parse'](a);return{'pubKey':base64ToArrayBuffer(b['pubKey']),'privKey':base64ToArrayBuffer(b['privKey'])};}async['getLocalRegistrationId'](){const a=this['getValue'](STORE_TYPES['REGISTRATION_ID']);return a?parseInt(a,0xa):void 0x0;}async['isTrustedIdentity'](a,b){const c=STORE_TYPES['IDENTITIES']+':'+a,d=this['getValue'](c);if(!d)return!![];return bufferEqual(base64ToArrayBuffer(d),b);}async['saveIdentity'](a,b){const c=STORE_TYPES['IDENTITIES']+':'+a,d=this['getValue'](c),e=arrayBufferToBase64(b);return this['putValue'](c,e),d?bufferEqual(base64ToArrayBuffer(d),b):!![];}async['loadIdentity'](a){const b=STORE_TYPES['IDENTITIES']+':'+a,c=this['getValue'](b);return c?base64ToArrayBuffer(c):void 0x0;}async['loadPreKey'](a){const b=STORE_TYPES['PREKEYS']+':'+a,c=this['getValue'](b);if(!c)return void 0x0;const d=JSON['parse'](c);return{'pubKey':base64ToArrayBuffer(d['pubKey']),'privKey':base64ToArrayBuffer(d['privKey'])};}async['storePreKey'](a,b){const c=STORE_TYPES['PREKEYS']+':'+a,d={'pubKey':arrayBufferToBase64(b['pubKey']),'privKey':arrayBufferToBase64(b['privKey'])};this['putValue'](c,JSON['stringify'](d));}async['removePreKey'](a){const b=STORE_TYPES['PREKEYS']+':'+a;this['delValue'](b);}async['loadSignedPreKey'](a){const b=STORE_TYPES['SIGNED_PREKEYS']+':'+a,c=this['getValue'](b);if(!c)return void 0x0;const d=JSON['parse'](c);return{'pubKey':base64ToArrayBuffer(d['pubKey']),'privKey':base64ToArrayBuffer(d['privKey'])};}async['storeSignedPreKey'](a,b){const c=STORE_TYPES['SIGNED_PREKEYS']+':'+a,d={'pubKey':arrayBufferToBase64(b['pubKey']),'privKey':arrayBufferToBase64(b['privKey'])};this['putValue'](c,JSON['stringify'](d));}async['removeSignedPreKey'](a){const b=STORE_TYPES['SIGNED_PREKEYS']+':'+a;this['delValue'](b);}async['loadSignedPreKeyWithSignature'](a){const b=STORE_TYPES['SIGNED_PREKEYS']+':'+a,c=this['getValue'](b);if(!c)return void 0x0;const d=JSON['parse'](c);if(!d['pubKey']||!d['privKey']||!d['signature'])return;return{'pubKey':base64ToArrayBuffer(d['pubKey']),'privKey':base64ToArrayBuffer(d['privKey']),'signature':base64ToArrayBuffer(d['signature'])};}async['storeSignedPreKeyWithSignature'](a,b,c){const d=STORE_TYPES['SIGNED_PREKEYS']+':'+a,e={'pubKey':arrayBufferToBase64(b['pubKey']),'privKey':arrayBufferToBase64(b['privKey']),'signature':arrayBufferToBase64(c)};this['putValue'](d,JSON['stringify'](e));}async['loadSession'](a){const b=STORE_TYPES['SESSIONS']+':'+a,c=this['getValue'](b);if(c)return c;if(a['startsWith']('send:')||a['startsWith']('recv:'))return;const d=STORE_TYPES['SESSIONS']+':send:'+a,e=this['getValue'](d);if(e)return e;const f=STORE_TYPES['SESSIONS']+':recv:'+a,g=this['getValue'](f);if(g)return g;}async['storeSession'](a,b){const c=STORE_TYPES['SESSIONS']+':'+a;this['putValue'](c,b);if(!a['startsWith']('send:')&&!a['startsWith']('recv:')){const d=STORE_TYPES['SESSIONS']+':recv:'+a;this['putValue'](d,b);}}async['removeSession'](a){const b=STORE_TYPES['SESSIONS']+':'+a;this['delValue'](b);if(!a['startsWith']('send:')&&!a['startsWith']('recv:')){const c=STORE_TYPES['SESSIONS']+':recv:'+a;this['delValue'](c);}}async['getMeta'](){const a=this['getValue'](STORE_TYPES['META']);if(!a)return{'nextPreKeyId':0x1};return JSON['parse'](a);}async['setMeta'](a){const b={...await this['getMeta'](),...a};this['putValue'](STORE_TYPES['META'],JSON['stringify'](b));}['listPreKeys'](){return this['db']['prepare']('SELECT\x20key\x20FROM\x20signal_store\x20WHERE\x20store_type\x20=\x20?\x20AND\x20key\x20LIKE\x20?')['all'](this['storePrefix'],STORE_TYPES['PREKEYS']+':%')['map'](a=>{const b=a['key']['replace'](STORE_TYPES['PREKEYS']+':','');return Number(b);});}['getValue'](a){return this['db']['prepare']('SELECT\x20value\x20FROM\x20signal_store\x20WHERE\x20store_type\x20=\x20?\x20AND\x20key\x20=\x20?')['get'](this['storePrefix'],a)?.['value'];}['putValue'](a,b){this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20signal_store\x20(store_type,\x20key,\x20value,\x20updated_at)\x20\x0a\x20\x20\x20\x20\x20\x20VALUES\x20(?,\x20?,\x20?,\x20strftime(\x27%s\x27,\x20\x27now\x27))\x0a\x20\x20\x20\x20\x20\x20ON\x20CONFLICT(store_type,\x20key)\x20DO\x20UPDATE\x20SET\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20value\x20=\x20excluded.value,\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20updated_at\x20=\x20excluded.updated_at\x0a\x20\x20\x20\x20')['run'](this['storePrefix'],a,b);}['delValue'](a){this['db']['prepare']('DELETE\x20FROM\x20signal_store\x20WHERE\x20store_type\x20=\x20?\x20AND\x20key\x20=\x20?')['run'](this['storePrefix'],a);}},MessageStorage=class{constructor(a){this['userAddress']=a;}get['db'](){return getDatabase(this['userAddress']);}['saveMessage'](a){const b=a['direction']==='received'&&!a['receivedAt']?Date['now']():a['receivedAt'];this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20messages\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20message_id,\x20from_address,\x20to_address,\x20plaintext_hash,\x0a\x20\x20\x20\x20\x20\x20\x20\x20plaintext,\x20guard_address,\x20passport_address,\x20last_received_leaf_index,\x20direction,\x20status,\x20msg_type,\x0a\x20\x20\x20\x20\x20\x20\x20\x20leaf_index,\x20prev_root,\x20new_root,\x20server_signature,\x20server_public_key,\x20server_timestamp,\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_recipient,\x20ark_recipient_pubkey,\x20ark_signature,\x20ark_timestamp,\x20zip_metadata,\x0a\x20\x20\x20\x20\x20\x20\x20\x20created_at,\x20received_at,\x20reply_to\x0a\x20\x20\x20\x20\x20\x20)\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?)\x0a\x20\x20\x20\x20\x20\x20ON\x20CONFLICT(message_id)\x20DO\x20UPDATE\x20SET\x0a\x20\x20\x20\x20\x20\x20\x20\x20direction\x20=\x20COALESCE(excluded.direction,\x20direction),\x0a\x20\x20\x20\x20\x20\x20\x20\x20status\x20=\x20COALESCE(excluded.status,\x20status),\x0a\x20\x20\x20\x20\x20\x20\x20\x20leaf_index\x20=\x20COALESCE(excluded.leaf_index,\x20leaf_index),\x0a\x20\x20\x20\x20\x20\x20\x20\x20prev_root\x20=\x20COALESCE(excluded.prev_root,\x20prev_root),\x0a\x20\x20\x20\x20\x20\x20\x20\x20new_root\x20=\x20COALESCE(excluded.new_root,\x20new_root),\x0a\x20\x20\x20\x20\x20\x20\x20\x20server_signature\x20=\x20COALESCE(excluded.server_signature,\x20server_signature),\x0a\x20\x20\x20\x20\x20\x20\x20\x20server_public_key\x20=\x20COALESCE(excluded.server_public_key,\x20server_public_key),\x0a\x20\x20\x20\x20\x20\x20\x20\x20server_timestamp\x20=\x20COALESCE(excluded.server_timestamp,\x20server_timestamp),\x0a\x20\x20\x20\x20\x20\x20\x20\x20plaintext\x20=\x20COALESCE(excluded.plaintext,\x20plaintext),\x0a\x20\x20\x20\x20\x20\x20\x20\x20guard_address\x20=\x20COALESCE(excluded.guard_address,\x20guard_address),\x0a\x20\x20\x20\x20\x20\x20\x20\x20passport_address\x20=\x20COALESCE(excluded.passport_address,\x20passport_address),\x0a\x20\x20\x20\x20\x20\x20\x20\x20last_received_leaf_index\x20=\x20COALESCE(excluded.last_received_leaf_index,\x20last_received_leaf_index),\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_recipient\x20=\x20COALESCE(excluded.ark_recipient,\x20ark_recipient),\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_recipient_pubkey\x20=\x20COALESCE(excluded.ark_recipient_pubkey,\x20ark_recipient_pubkey),\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_signature\x20=\x20COALESCE(excluded.ark_signature,\x20ark_signature),\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_timestamp\x20=\x20COALESCE(excluded.ark_timestamp,\x20ark_timestamp),\x0a\x20\x20\x20\x20\x20\x20\x20\x20zip_metadata\x20=\x20COALESCE(excluded.zip_metadata,\x20zip_metadata),\x0a\x20\x20\x20\x20\x20\x20\x20\x20received_at\x20=\x20COALESCE(excluded.received_at,\x20received_at),\x0a\x20\x20\x20\x20\x20\x20\x20\x20reply_to\x20=\x20COALESCE(excluded.reply_to,\x20reply_to)\x0a\x20\x20\x20\x20')['run'](a['messageId'],a['fromAddress'],a['toAddress'],a['plaintextHash'],a['plaintext']===void 0x0?null:a['plaintext'],a['guardAddress']===void 0x0?null:a['guardAddress'],a['passportAddress']===void 0x0?null:a['passportAddress'],a['lastReceivedLeafIndex']===void 0x0?null:a['lastReceivedLeafIndex'],a['direction'],a['status'],a['msgType'],a['leafIndex']===void 0x0?null:a['leafIndex'],a['prevRoot']===void 0x0?null:a['prevRoot'],a['newRoot']===void 0x0?null:a['newRoot'],a['serverSignature']===void 0x0?null:a['serverSignature'],a['serverPublicKey']===void 0x0?null:a['serverPublicKey'],a['serverTimestamp']===void 0x0?null:a['serverTimestamp'],a['arkConfirmed']?.['recipient']===void 0x0?null:a['arkConfirmed']?.['recipient'],a['arkConfirmed']?.['recipientPublicKey']===void 0x0?null:a['arkConfirmed']?.['recipientPublicKey'],a['arkConfirmed']?.['signature']===void 0x0?null:a['arkConfirmed']?.['signature'],a['arkConfirmed']?.['timestamp']===void 0x0?null:a['arkConfirmed']?.['timestamp'],a['zipMetadata']?JSON['stringify'](a['zipMetadata']):null,a['createdAt'],b===void 0x0?null:b,a['replyTo']?JSON['stringify'](a['replyTo']):null);}['getMessage'](a){const b=this['db']['prepare']('SELECT\x20*\x20FROM\x20messages\x20WHERE\x20message_id\x20=\x20?')['get'](a);if(!b)return void 0x0;return this['rowToMessage'](b);}['getMessagesBySession'](a,b){const c=a['toLowerCase'](),d=b['toLowerCase']();return this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20*\x20FROM\x20messages\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20(from_address\x20=\x20?\x20AND\x20to_address\x20=\x20?)\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20OR\x20(from_address\x20=\x20?\x20AND\x20to_address\x20=\x20?)\x0a\x20\x20\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20created_at\x20ASC\x0a\x20\x20\x20\x20\x20\x20')['all'](c,d,d,c)['map'](e=>this['rowToMessage'](e));}['searchMessages'](a,b){const c=a['trim']();if(!c)return[];const d=h=>h['replace'](/[\\%_]/g,i=>'\x5c'+i),e='%'+d(c)+'%',f=b?.['peerAddress']?b['peerAddress']['toLowerCase']():null,g=Math['max'](0x1,Math['min'](b?.['limit']??0x32,0xc8));return this['db']['prepare']('\x0a\x09\x09\x09\x09SELECT\x20*\x20FROM\x20messages\x0a\x09\x09\x09\x09WHERE\x20(plaintext\x20LIKE\x20?\x20ESCAPE\x20\x27\x5c\x27\x0a\x09\x09\x09\x09\x09OR\x20from_address\x20LIKE\x20?\x20ESCAPE\x20\x27\x5c\x27\x0a\x09\x09\x09\x09\x09OR\x20to_address\x20LIKE\x20?\x20ESCAPE\x20\x27\x5c\x27)\x0a\x09\x09\x09\x09\x09AND\x20(?\x20IS\x20NULL\x20OR\x20from_address\x20=\x20?\x20OR\x20to_address\x20=\x20?)\x0a\x09\x09\x09\x09ORDER\x20BY\x20created_at\x20DESC\x0a\x09\x09\x09\x09LIMIT\x20?\x0a\x09\x09\x09')['all'](e,e,e,f,f,f,g)['map'](h=>this['rowToMessage'](h));}['getPendingMessages'](a){const b=a['toLowerCase']();return this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20*\x20FROM\x20messages\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20(from_address\x20=\x20?\x20OR\x20to_address\x20=\x20?)\x20AND\x20status\x20=\x20?\x0a\x20\x20\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20created_at\x20ASC\x0a\x20\x20\x20\x20\x20\x20')['all'](b,b,'pending')['map'](c=>this['rowToMessage'](c));}['updateMessageStatus'](a,b,c){const d=['status\x20=\x20?'],e=[b];c?.['leafIndex']!==void 0x0&&(d['push']('leaf_index\x20=\x20?'),e['push'](c['leafIndex'])),c?.['newRoot']!==void 0x0&&(d['push']('new_root\x20=\x20?'),e['push'](c['newRoot'])),c?.['serverSignature']!==void 0x0&&(d['push']('server_signature\x20=\x20?'),e['push'](c['serverSignature'])),c?.['serverTimestamp']!==void 0x0&&(d['push']('server_timestamp\x20=\x20?'),e['push'](c['serverTimestamp'])),c?.['serverPublicKey']!==void 0x0&&(d['push']('server_public_key\x20=\x20?'),e['push'](c['serverPublicKey'])),e['push'](a),this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20UPDATE\x20messages\x20SET\x20'+d['join'](',\x20')+'\x20WHERE\x20message_id\x20=\x20?\x0a\x20\x20\x20\x20')['run'](...e);}['updateMessageViewed'](a,b){const c=b??Date['now']();return this['db']['prepare']('\x0a\x09\x09\x09\x09UPDATE\x20messages\x0a\x09\x09\x09\x09SET\x20viewed_at\x20=\x20?\x0a\x09\x09\x09\x09WHERE\x20message_id\x20=\x20?\x20AND\x20viewed_at\x20IS\x20NULL\x0a\x09\x09\x09')['run'](c,a)['changes']>0x0;}['updateMessagesViewed'](a,b){if(a['length']===0x0)return 0x0;const c=b??Date['now'](),d=a['map'](()=>'?')['join'](',');return this['db']['prepare']('\x0a\x09\x09\x09\x09UPDATE\x20messages\x0a\x09\x09\x09\x09SET\x20viewed_at\x20=\x20?\x0a\x09\x09\x09\x09WHERE\x20message_id\x20IN\x20('+d+')\x20AND\x20viewed_at\x20IS\x20NULL\x0a\x09\x09\x09')['run'](c,...a)['changes'];}['getAllMessages'](a){const b=a['toLowerCase']();return this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20*\x20FROM\x20messages\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20from_address\x20=\x20?\x20OR\x20to_address\x20=\x20?\x0a\x20\x20\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20created_at\x20DESC\x0a\x20\x20\x20\x20\x20\x20')['all'](b,b)['map'](c=>this['rowToMessage'](c));}['getMessageById'](a){const b=this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20*\x20FROM\x20messages\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20message_id\x20=\x20?\x0a\x20\x20\x20\x20\x20\x20')['get'](a);if(!b)return void 0x0;return this['rowToMessage'](b);}['updateMessageId'](a,b,c){const d=this['db']['prepare']('SELECT\x20*\x20FROM\x20messages\x20WHERE\x20message_id\x20=\x20?')['get'](a);if(!d)return![];const e=(h,i)=>{if(h!==void 0x0)return h;return i===null?void 0x0:i;},f={'messageId':b,'fromAddress':d['from_address'],'toAddress':d['to_address'],'plaintextHash':d['plaintext_hash'],'plaintext':d['plaintext']===null?void 0x0:d['plaintext'],'guardAddress':d['guard_address']===null?void 0x0:d['guard_address'],'passportAddress':d['passport_address']===null?void 0x0:d['passport_address'],'direction':d['direction'],'status':c?.['status']!==void 0x0?c['status']:d['status'],'msgType':d['msg_type'],'leafIndex':e(c?.['leafIndex'],d['leaf_index']),'prevRoot':e(c?.['prevRoot'],d['prev_root']),'newRoot':e(c?.['newRoot'],d['new_root']),'serverSignature':e(c?.['serverSignature'],d['server_signature']),'serverPublicKey':e(c?.['serverPublicKey'],d['server_public_key']),'serverTimestamp':e(c?.['serverTimestamp'],d['server_timestamp']),'arkConfirmed':d['ark_recipient']?{'recipient':d['ark_recipient'],'recipientPublicKey':d['ark_recipient_pubkey'],'signature':d['ark_signature'],'timestamp':d['ark_timestamp']}:void 0x0,'zipMetadata':d['zip_metadata']?JSON['parse'](d['zip_metadata']):void 0x0,'replyTo':d['reply_to']?JSON['parse'](d['reply_to']):void 0x0,'createdAt':d['created_at'],'receivedAt':d['received_at']===null?void 0x0:d['received_at'],'viewedAt':d['viewed_at']===null?void 0x0:d['viewed_at']},g=this['db']['transaction'](()=>{this['db']['prepare']('DELETE\x20FROM\x20messages\x20WHERE\x20message_id\x20=\x20?')['run'](a),this['saveMessage'](f);});try{return g(),!![];}catch(h){return![];}}['rowToMessage'](a){if(a['to_address']===null)throw new Error('Message\x20'+a['message_id']+'\x20has\x20null\x20toAddress');return{'messageId':a['message_id'],'fromAddress':a['from_address'],'toAddress':a['to_address'],'plaintextHash':a['plaintext_hash'],'plaintext':a['plaintext']===null?void 0x0:a['plaintext'],'guardAddress':a['guard_address']===null?void 0x0:a['guard_address'],'passportAddress':a['passport_address']===null?void 0x0:a['passport_address'],'lastReceivedLeafIndex':a['last_received_leaf_index']===null?void 0x0:a['last_received_leaf_index'],'direction':a['direction'],'status':a['status'],'msgType':a['msg_type'],'leafIndex':a['leaf_index']===null?void 0x0:a['leaf_index'],'prevRoot':a['prev_root']===null?void 0x0:a['prev_root'],'newRoot':a['new_root']===null?void 0x0:a['new_root'],'serverSignature':a['server_signature']===null?void 0x0:a['server_signature'],'serverPublicKey':a['server_public_key']===null?void 0x0:a['server_public_key'],'serverTimestamp':a['server_timestamp']===null?void 0x0:a['server_timestamp'],'arkConfirmed':a['ark_recipient']?{'recipient':a['ark_recipient'],'recipientPublicKey':a['ark_recipient_pubkey'],'signature':a['ark_signature'],'timestamp':a['ark_timestamp']}:void 0x0,'zipMetadata':a['zip_metadata']?JSON['parse'](a['zip_metadata']):void 0x0,'replyTo':a['reply_to']?JSON['parse'](a['reply_to']):void 0x0,'createdAt':a['created_at'],'receivedAt':a['received_at']===null?void 0x0:a['received_at'],'viewedAt':a['viewed_at']===null?void 0x0:a['viewed_at']};}['getLastReceivedLeafIndex'](a,b){const c=a['toLowerCase'](),d=b['toLowerCase']();return this['db']['prepare']('\x0a\x09\x09\x09\x09SELECT\x20MAX(leaf_index)\x20as\x20max_index\x0a\x09\x09\x09\x09FROM\x20messages\x0a\x09\x09\x09\x09WHERE\x20from_address\x20=\x20?\x20AND\x20to_address\x20=\x20?\x0a\x09\x09\x09\x09\x09AND\x20status\x20=\x20\x27decrypted\x27\x0a\x09\x09\x09\x09\x09AND\x20leaf_index\x20IS\x20NOT\x20NULL\x0a\x09\x09\x09')['get'](d,c)?.['max_index']??-0x1;}},SessionStateStorage=class{constructor(a){this['userAddress']=a;}get['db'](){return getDatabase(this['userAddress']);}['getSessionId'](a,b){const c=[a,b]['sort']();return c[0x0]+':'+c[0x1];}['getSessionState'](a,b){const c=this['getSessionId'](a,b),d=this['db']['prepare']('SELECT\x20*\x20FROM\x20session_states\x20WHERE\x20session_id\x20=\x20?')['get'](c);if(!d)return void 0x0;return{'sessionId':d['session_id'],'myAddress':d['my_address'],'peerAddress':d['peer_address'],'currentRoot':d['current_root'],'prevRoot':d['prev_root'],'messageCount':d['message_count'],'lastLeafIndex':d['last_leaf_index'],'lastConfirmedHash':d['last_confirmed_hash']===null?'':d['last_confirmed_hash'],'lastSyncAt':d['last_sync_at']===null?0x0:d['last_sync_at'],'createdAt':d['created_at'],'updatedAt':d['updated_at']};}['updateSessionState'](a,b,c){const d=this['getSessionId'](a,b),e=this['getSessionState'](a,b),f=Date['now']();if(e){const g={...e,...c,'updatedAt':f};this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20UPDATE\x20session_states\x20SET\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20current_root\x20=\x20?,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20prev_root\x20=\x20?,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message_count\x20=\x20?,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20last_leaf_index\x20=\x20?,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20last_confirmed_hash\x20=\x20?,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20last_sync_at\x20=\x20?,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20updated_at\x20=\x20?\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20session_id\x20=\x20?\x0a\x20\x20\x20\x20\x20\x20')['run'](g['currentRoot'],g['prevRoot'],g['messageCount'],g['lastLeafIndex'],g['lastConfirmedHash'],g['lastSyncAt'],g['updatedAt'],d);}else{const h='0'['repeat'](0x40);this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20session_states\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20session_id,\x20my_address,\x20peer_address,\x20current_root,\x20prev_root,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message_count,\x20last_leaf_index,\x20last_confirmed_hash,\x20last_sync_at,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20created_at,\x20updated_at\x0a\x20\x20\x20\x20\x20\x20\x20\x20)\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?)\x0a\x20\x20\x20\x20\x20\x20')['run'](d,a,b,c['currentRoot']??h,c['prevRoot']??h,c['messageCount']??0x0,c['lastLeafIndex']??0x0,c['lastConfirmedHash']??'',c['lastSyncAt']??0x0,f,f);}}['getCurrentRoot'](a,b){return this['getSessionState'](a,b)?.['currentRoot']??'0'['repeat'](0x40);}},MessengerPersistStorage=class{constructor(){this['initialized']=![];}get['db'](){const a=getGlobalDatabase();return!this['initialized']&&(this['initTable'](a),this['initialized']=!![]),a;}['initTable'](a){a['exec']('\x0a\x09\x09\x09CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20messenger_manager_state\x20(\x0a\x09\x09\x09\x09instance_id\x20TEXT\x20PRIMARY\x20KEY,\x0a\x09\x09\x09\x09state_data\x20TEXT\x20NOT\x20NULL,\x0a\x09\x09\x09\x09updated_at\x20INTEGER\x20NOT\x20NULL\x0a\x09\x09\x09);\x0a\x09\x09\x09CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messenger_state_updated\x20ON\x20messenger_manager_state(updated_at);\x0a\x09\x09'),a['exec']('\x0a\x09\x09\x09CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20sse_connection_locks\x20(\x0a\x09\x09\x09\x09account_address\x20TEXT\x20PRIMARY\x20KEY,\x0a\x09\x09\x09\x09process_id\x20TEXT\x20NOT\x20NULL,\x0a\x09\x09\x09\x09instance_id\x20TEXT\x20NOT\x20NULL,\x0a\x09\x09\x09\x09last_heartbeat\x20INTEGER\x20NOT\x20NULL,\x0a\x09\x09\x09\x09created_at\x20INTEGER\x20NOT\x20NULL\x0a\x09\x09\x09);\x0a\x09\x09\x09CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_sse_lock_heartbeat\x20ON\x20sse_connection_locks(last_heartbeat);\x0a\x09\x09'),a['exec']('\x0a\x09\x09\x09CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20polling_connection_locks\x20(\x0a\x09\x09\x09\x09account_address\x20TEXT\x20PRIMARY\x20KEY,\x0a\x09\x09\x09\x09process_id\x20TEXT\x20NOT\x20NULL,\x0a\x09\x09\x09\x09instance_id\x20TEXT\x20NOT\x20NULL,\x0a\x09\x09\x09\x09last_heartbeat\x20INTEGER\x20NOT\x20NULL,\x0a\x09\x09\x09\x09created_at\x20INTEGER\x20NOT\x20NULL\x0a\x09\x09\x09);\x0a\x09\x09\x09CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_polling_lock_heartbeat\x20ON\x20polling_connection_locks(last_heartbeat);\x0a\x09\x09');}['saveState'](a,b){const c=JSON['stringify'](b),d=Date['now']();this['db']['prepare']('\x0a\x09\x09\x09\x09INSERT\x20INTO\x20messenger_manager_state\x20(instance_id,\x20state_data,\x20updated_at)\x0a\x09\x09\x09\x09VALUES\x20(?,\x20?,\x20?)\x0a\x09\x09\x09\x09ON\x20CONFLICT(instance_id)\x20DO\x20UPDATE\x20SET\x0a\x09\x09\x09\x09\x09state_data\x20=\x20excluded.state_data,\x0a\x09\x09\x09\x09\x09updated_at\x20=\x20excluded.updated_at\x0a\x09\x09\x09')['run'](a,c,d);}['loadState'](a){const b=this['db']['prepare']('SELECT\x20state_data\x20FROM\x20messenger_manager_state\x20WHERE\x20instance_id\x20=\x20?')['get'](a);if(!b?.['state_data'])return null;try{return JSON['parse'](b['state_data']);}catch(c){return null;}}['deleteState'](a){this['db']['prepare']('DELETE\x20FROM\x20messenger_manager_state\x20WHERE\x20instance_id\x20=\x20?')['run'](a);}['getAllInstanceIds'](){return this['db']['prepare']('SELECT\x20instance_id\x20FROM\x20messenger_manager_state\x20ORDER\x20BY\x20updated_at\x20DESC')['all']()['map'](a=>a['instance_id']);}get['processId'](){return'pid_'+process['pid']+'_'+Date['now']();}['tryAcquireSSELock'](a,b){const c=Date['now'](),d=0x3a98,e=this['db']['transaction'](()=>{const f=this['db']['prepare']('SELECT\x20*\x20FROM\x20sse_connection_locks\x20WHERE\x20account_address\x20=\x20?')['get'](a['toLowerCase']());if(f){if(f['instance_id']===b)return this['db']['prepare']('UPDATE\x20sse_connection_locks\x20SET\x20last_heartbeat\x20=\x20?\x20WHERE\x20account_address\x20=\x20?')['run'](c,a['toLowerCase']()),!![];if(c-f['last_heartbeat']<d)return![];}return this['db']['prepare']('\x0a\x09\x09\x09\x09\x09INSERT\x20INTO\x20sse_connection_locks\x20(\x0a\x09\x09\x09\x09\x09\x09account_address,\x20process_id,\x20instance_id,\x20last_heartbeat,\x20created_at\x0a\x09\x09\x09\x09\x09)\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?)\x0a\x09\x09\x09\x09\x09ON\x20CONFLICT(account_address)\x20DO\x20UPDATE\x20SET\x0a\x09\x09\x09\x09\x09\x09process_id\x20=\x20excluded.process_id,\x0a\x09\x09\x09\x09\x09\x09instance_id\x20=\x20excluded.instance_id,\x0a\x09\x09\x09\x09\x09\x09last_heartbeat\x20=\x20excluded.last_heartbeat\x0a\x09\x09\x09\x09')['run'](a['toLowerCase'](),this['processId'],b,c,c),!![];});try{return e();}catch(f){return![];}}['updateSSELockHeartbeat'](a,b){const c=Date['now']();try{this['db']['prepare']('UPDATE\x20sse_connection_locks\x20SET\x20last_heartbeat\x20=\x20?\x20WHERE\x20account_address\x20=\x20?\x20AND\x20instance_id\x20=\x20?')['run'](c,a['toLowerCase'](),b);}catch(d){}}['releaseSSELock'](a,b){try{this['db']['prepare']('DELETE\x20FROM\x20sse_connection_locks\x20WHERE\x20account_address\x20=\x20?\x20AND\x20instance_id\x20=\x20?')['run'](a['toLowerCase'](),b);}catch(c){}}['holdsSSELock'](a,b){return!!this['db']['prepare']('SELECT\x20*\x20FROM\x20sse_connection_locks\x20WHERE\x20account_address\x20=\x20?\x20AND\x20instance_id\x20=\x20?')['get'](a['toLowerCase'](),b);}['tryAcquirePollingLock'](a,b){const c=Date['now'](),d=0xea60,e=this['db']['transaction'](()=>{const f=this['db']['prepare']('SELECT\x20*\x20FROM\x20polling_connection_locks\x20WHERE\x20account_address\x20=\x20?')['get'](a['toLowerCase']());if(f){if(f['instance_id']===b)return this['db']['prepare']('UPDATE\x20polling_connection_locks\x20SET\x20last_heartbeat\x20=\x20?\x20WHERE\x20account_address\x20=\x20?')['run'](c,a['toLowerCase']()),!![];if(c-f['last_heartbeat']<d)return![];}return this['db']['prepare']('\x0a\x09\x09\x09\x09\x09INSERT\x20INTO\x20polling_connection_locks\x20(\x0a\x09\x09\x09\x09\x09\x09account_address,\x20process_id,\x20instance_id,\x20last_heartbeat,\x20created_at\x0a\x09\x09\x09\x09\x09)\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?)\x0a\x09\x09\x09\x09\x09ON\x20CONFLICT(account_address)\x20DO\x20UPDATE\x20SET\x0a\x09\x09\x09\x09\x09\x09process_id\x20=\x20excluded.process_id,\x0a\x09\x09\x09\x09\x09\x09instance_id\x20=\x20excluded.instance_id,\x0a\x09\x09\x09\x09\x09\x09last_heartbeat\x20=\x20excluded.last_heartbeat\x0a\x09\x09\x09\x09')['run'](a['toLowerCase'](),this['processId'],b,c,c),!![];});try{return e();}catch(f){return![];}}['updatePollingLockHeartbeat'](a,b){const c=Date['now']();try{this['db']['prepare']('UPDATE\x20polling_connection_locks\x20SET\x20last_heartbeat\x20=\x20?\x20WHERE\x20account_address\x20=\x20?\x20AND\x20instance_id\x20=\x20?')['run'](c,a['toLowerCase'](),b);}catch(d){}}['releasePollingLock'](a,b){try{this['db']['prepare']('DELETE\x20FROM\x20polling_connection_locks\x20WHERE\x20account_address\x20=\x20?\x20AND\x20instance_id\x20=\x20?')['run'](a['toLowerCase'](),b);}catch(c){}}['holdsPollingLock'](a,b){return!!this['db']['prepare']('SELECT\x20*\x20FROM\x20polling_connection_locks\x20WHERE\x20account_address\x20=\x20?\x20AND\x20instance_id\x20=\x20?')['get'](a['toLowerCase'](),b);}};const defaultPersistStorage=new MessengerPersistStorage();export{MessageStorage,MessengerPersistStorage,SessionStateStorage,SignalProtocolStorage,defaultPersistStorage,getDatabase,resetDbConnection};
1
+ import{getWowDir}from'../local/util.mjs';import a105a from'libsql';import*as a105b from'path';import*as a105c from'fs';function getWowDirDynamic(){return getWowDir();}function getMessengerDbDir(){return a105b['join'](getWowDirDynamic(),'messenger');}function ensureDirExists(a){if(!a105c['existsSync'](a))a105c['mkdirSync'](a,{'recursive':!![]});}function getUserDbPath(a){const b=a['toLowerCase']()['replace'](/^0x/,'')['slice'](0x0,0x10),c=getMessengerDbDir();return ensureDirExists(c),a105b['join'](c,b+'.db');}function getGlobalDbPath(){const a=getMessengerDbDir();return ensureDirExists(a),a105b['join'](a,'global.db');}const userDbInstances=new Map();let globalDbInstance=null;const ftsReadyDbs=new WeakSet();function setupMessagesFts(a){try{a['exec']('\x0a\x09\x09\x09CREATE\x20VIRTUAL\x20TABLE\x20IF\x20NOT\x20EXISTS\x20messages_fts\x20USING\x20fts5(\x0a\x09\x09\x09\x09message_id\x20UNINDEXED,\x0a\x09\x09\x09\x09plaintext,\x0a\x09\x09\x09\x09from_address,\x0a\x09\x09\x09\x09to_address,\x0a\x09\x09\x09\x09tokenize\x20=\x20\x27trigram\x27\x0a\x09\x09\x09)\x0a\x09\x09'),a['exec']('\x0a\x09\x09\x09CREATE\x20TRIGGER\x20IF\x20NOT\x20EXISTS\x20messages_fts_ai\x20AFTER\x20INSERT\x20ON\x20messages\x20BEGIN\x0a\x09\x09\x09\x09INSERT\x20INTO\x20messages_fts(message_id,\x20plaintext,\x20from_address,\x20to_address)\x0a\x09\x09\x09\x09VALUES\x20(new.message_id,\x20COALESCE(new.plaintext,\x20\x27\x27),\x20new.from_address,\x20new.to_address);\x0a\x09\x09\x09END;\x0a\x09\x09'),a['exec']('\x0a\x09\x09\x09CREATE\x20TRIGGER\x20IF\x20NOT\x20EXISTS\x20messages_fts_ad\x20AFTER\x20DELETE\x20ON\x20messages\x20BEGIN\x0a\x09\x09\x09\x09DELETE\x20FROM\x20messages_fts\x20WHERE\x20message_id\x20=\x20old.message_id;\x0a\x09\x09\x09END;\x0a\x09\x09'),a['exec']('\x0a\x09\x09\x09CREATE\x20TRIGGER\x20IF\x20NOT\x20EXISTS\x20messages_fts_au\x20AFTER\x20UPDATE\x20ON\x20messages\x20BEGIN\x0a\x09\x09\x09\x09DELETE\x20FROM\x20messages_fts\x20WHERE\x20message_id\x20=\x20old.message_id;\x0a\x09\x09\x09\x09INSERT\x20INTO\x20messages_fts(message_id,\x20plaintext,\x20from_address,\x20to_address)\x0a\x09\x09\x09\x09VALUES\x20(new.message_id,\x20COALESCE(new.plaintext,\x20\x27\x27),\x20new.from_address,\x20new.to_address);\x0a\x09\x09\x09END;\x0a\x09\x09');if(a['prepare']('SELECT\x20count(*)\x20AS\x20c\x20FROM\x20messages')['get']()['c']!==a['prepare']('SELECT\x20count(*)\x20AS\x20c\x20FROM\x20messages_fts')['get']()['c'])a['transaction'](()=>{a['exec']('DELETE\x20FROM\x20messages_fts'),a['exec']('\x0a\x09\x09\x09\x09\x09INSERT\x20INTO\x20messages_fts(message_id,\x20plaintext,\x20from_address,\x20to_address)\x0a\x09\x09\x09\x09\x09SELECT\x20message_id,\x20COALESCE(plaintext,\x20\x27\x27),\x20from_address,\x20to_address\x0a\x09\x09\x09\x09\x09FROM\x20messages\x0a\x09\x09\x09\x09');})();ftsReadyDbs['add'](a);}catch(b){}}function getDatabase(a){if(!a)throw new Error('userAddress\x20is\x20required\x20to\x20get\x20database');const b=userDbInstances['get'](a);if(b)return b;const c=new a105a(getUserDbPath(a));c['pragma']('journal_mode\x20=\x20WAL'),c['pragma']('synchronous\x20=\x20NORMAL'),c['pragma']('busy_timeout\x20=\x205000'),c['pragma']('cache_size\x20=\x20-64000'),c['exec']('\x0a\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20signal_store\x20(\x0a\x20\x20\x20\x20\x20\x20store_type\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20key\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20value\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20updated_at\x20INTEGER\x20DEFAULT\x20(strftime(\x27%s\x27,\x20\x27now\x27)),\x0a\x20\x20\x20\x20\x20\x20PRIMARY\x20KEY\x20(store_type,\x20key)\x0a\x20\x20\x20\x20);\x0a\x20\x20\x20\x20CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_signal_store_type\x20ON\x20signal_store(store_type);\x0a\x20\x20');try{c['exec']('\x0a\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20messages\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20message_id\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20\x20\x20\x20\x20from_address\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20to_address\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20plaintext_hash\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20plaintext\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20guard_address\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20passport_address\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20direction\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20status\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20msg_type\x20INTEGER\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20leaf_index\x20INTEGER,\x0a\x20\x20\x20\x20\x20\x20\x20\x20prev_root\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20new_root\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20server_signature\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20server_public_key\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20server_timestamp\x20INTEGER,\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_recipient\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_recipient_pubkey\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_signature\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_timestamp\x20INTEGER,\x0a\x20\x20\x20\x20\x20\x20\x20\x20zip_metadata\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20created_at\x20INTEGER\x20DEFAULT\x20(strftime(\x27%s\x27,\x20\x27now\x27)\x20*\x201000),\x0a\x20\x20\x20\x20\x20\x20\x20\x20received_at\x20INTEGER,\x0a\x20\x20\x20\x20\x20\x20\x20\x20reply_to\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20proof\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20proofs\x20TEXT\x0a\x20\x20\x20\x20\x20\x20);\x0a\x20\x20\x20\x20');}catch(d){}try{c['exec']('ALTER\x20TABLE\x20messages\x20ADD\x20COLUMN\x20guard_address\x20TEXT');}catch(f){}try{c['exec']('ALTER\x20TABLE\x20messages\x20ADD\x20COLUMN\x20passport_address\x20TEXT');}catch(g){}try{c['exec']('ALTER\x20TABLE\x20messages\x20ADD\x20COLUMN\x20last_received_leaf_index\x20INTEGER');}catch(h){}try{c['exec']('ALTER\x20TABLE\x20messages\x20ADD\x20COLUMN\x20viewed_at\x20INTEGER');}catch(i){}try{c['exec']('ALTER\x20TABLE\x20messages\x20ADD\x20COLUMN\x20reply_to\x20TEXT');}catch(j){}try{c['exec']('ALTER\x20TABLE\x20messages\x20ADD\x20COLUMN\x20proof\x20TEXT');}catch(k){}try{c['exec']('ALTER\x20TABLE\x20messages\x20ADD\x20COLUMN\x20proofs\x20TEXT');}catch(l){}try{c['exec']('UPDATE\x20messages\x20SET\x20proofs\x20=\x20json_array(json_object(\x27address\x27,\x20proof,\x20\x27createdAt\x27,\x20created_at))\x0a\x09\x09\x09\x20WHERE\x20proofs\x20IS\x20NULL\x20AND\x20proof\x20IS\x20NOT\x20NULL');}catch(m){}try{c['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_from_to\x20ON\x20messages(from_address,\x20to_address)');}catch(n){}try{c['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_session_ts\x20ON\x20messages(from_address,\x20to_address,\x20created_at\x20DESC,\x20message_id\x20DESC)');}catch(o){}try{c['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_status\x20ON\x20messages(status)');}catch(p){}try{c['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_leaf\x20ON\x20messages(leaf_index)');}catch(q){}try{c['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_created_at\x20ON\x20messages(created_at)');}catch(r){}try{c['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_server_ts\x20ON\x20messages(server_timestamp)');}catch(s){}try{c['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_received_at\x20ON\x20messages(received_at)');}catch(t){}return setupMessagesFts(c),c['exec']('\x0a\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20session_states\x20(\x0a\x20\x20\x20\x20\x20\x20session_id\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20\x20\x20my_address\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20peer_address\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20current_root\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20prev_root\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20message_count\x20INTEGER\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20last_leaf_index\x20INTEGER\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20last_confirmed_hash\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20last_sync_at\x20INTEGER,\x0a\x20\x20\x20\x20\x20\x20created_at\x20INTEGER\x20DEFAULT\x20(strftime(\x27%s\x27,\x20\x27now\x27)),\x0a\x20\x20\x20\x20\x20\x20updated_at\x20INTEGER\x20DEFAULT\x20(strftime(\x27%s\x27,\x20\x27now\x27))\x0a\x20\x20\x20\x20);\x0a\x20\x20\x20\x20CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_session_my_peer\x20ON\x20session_states(my_address,\x20peer_address);\x0a\x20\x20'),userDbInstances['set'](a,c),c;}function getGlobalDatabase(){if(globalDbInstance)return globalDbInstance;const a=new a105a(getGlobalDbPath());return a['pragma']('journal_mode\x20=\x20WAL'),a['pragma']('synchronous\x20=\x20NORMAL'),a['pragma']('cache_size\x20=\x20-10000'),a['pragma']('busy_timeout\x20=\x205000'),globalDbInstance=a,a;}function resetDbConnection(){for(const [a,b]of userDbInstances)try{b['pragma']('journal_mode\x20=\x20DELETE');}catch(c){}for(const [d,f]of userDbInstances)try{f['close']();}catch(g){}userDbInstances['clear']();if(globalDbInstance){try{globalDbInstance['pragma']('journal_mode\x20=\x20DELETE');}catch(h){}try{globalDbInstance['close']();}catch(i){}globalDbInstance=null;}}process['on']('exit',()=>{resetDbConnection();}),process['on']('SIGINT',()=>{resetDbConnection();}),process['on']('SIGTERM',()=>{resetDbConnection();});const STORE_TYPES={'IDENTITY':'identity','REGISTRATION_ID':'registration_id','IDENTITIES':'identities','PREKEYS':'prekeys','SIGNED_PREKEYS':'signed_prekeys','SESSIONS':'sessions','META':'meta'};function arrayBufferToBase64(a){return Buffer['from'](new Uint8Array(a))['toString']('base64');}function base64ToArrayBuffer(a){return Uint8Array['from'](Buffer['from'](a,'base64'))['slice']()['buffer'];}function bufferEqual(c,d){if(c['byteLength']!==d['byteLength'])return![];const e=new Uint8Array(c),f=new Uint8Array(d);for(let g=0x0;g<e['length'];g++)if(e[g]!==f[g])return![];return!![];}var SignalProtocolStorage=class{constructor(a,b='default'){this['userAddress']=a,this['storePrefix']=b;}get['db'](){return getDatabase(this['userAddress']);}async['setIdentity'](a,b){const c={'pubKey':arrayBufferToBase64(a['pubKey']),'privKey':arrayBufferToBase64(a['privKey'])};this['putValue'](STORE_TYPES['IDENTITY'],JSON['stringify'](c)),this['putValue'](STORE_TYPES['REGISTRATION_ID'],b['toString']());}async['getIdentityKeyPair'](){const a=this['getValue'](STORE_TYPES['IDENTITY']);if(!a)return void 0x0;const b=JSON['parse'](a);return{'pubKey':base64ToArrayBuffer(b['pubKey']),'privKey':base64ToArrayBuffer(b['privKey'])};}async['getLocalRegistrationId'](){const a=this['getValue'](STORE_TYPES['REGISTRATION_ID']);return a?parseInt(a,0xa):void 0x0;}async['isTrustedIdentity'](a,b){const c=STORE_TYPES['IDENTITIES']+':'+a,d=this['getValue'](c);if(!d)return!![];return bufferEqual(base64ToArrayBuffer(d),b);}async['saveIdentity'](a,b){const c=STORE_TYPES['IDENTITIES']+':'+a,d=this['getValue'](c),e=arrayBufferToBase64(b);return this['putValue'](c,e),d?bufferEqual(base64ToArrayBuffer(d),b):!![];}async['loadIdentity'](a){const b=STORE_TYPES['IDENTITIES']+':'+a,c=this['getValue'](b);return c?base64ToArrayBuffer(c):void 0x0;}async['loadPreKey'](a){const b=STORE_TYPES['PREKEYS']+':'+a,c=this['getValue'](b);if(!c)return void 0x0;const d=JSON['parse'](c);return{'pubKey':base64ToArrayBuffer(d['pubKey']),'privKey':base64ToArrayBuffer(d['privKey'])};}async['storePreKey'](a,b){const c=STORE_TYPES['PREKEYS']+':'+a,d={'pubKey':arrayBufferToBase64(b['pubKey']),'privKey':arrayBufferToBase64(b['privKey'])};this['putValue'](c,JSON['stringify'](d));}async['removePreKey'](a){const b=STORE_TYPES['PREKEYS']+':'+a;this['delValue'](b);}async['loadSignedPreKey'](a){const b=STORE_TYPES['SIGNED_PREKEYS']+':'+a,c=this['getValue'](b);if(!c)return void 0x0;const d=JSON['parse'](c);return{'pubKey':base64ToArrayBuffer(d['pubKey']),'privKey':base64ToArrayBuffer(d['privKey'])};}async['storeSignedPreKey'](a,b){const c=STORE_TYPES['SIGNED_PREKEYS']+':'+a,d={'pubKey':arrayBufferToBase64(b['pubKey']),'privKey':arrayBufferToBase64(b['privKey'])};this['putValue'](c,JSON['stringify'](d));}async['removeSignedPreKey'](a){const b=STORE_TYPES['SIGNED_PREKEYS']+':'+a;this['delValue'](b);}async['loadSignedPreKeyWithSignature'](a){const b=STORE_TYPES['SIGNED_PREKEYS']+':'+a,c=this['getValue'](b);if(!c)return void 0x0;const d=JSON['parse'](c);if(!d['pubKey']||!d['privKey']||!d['signature'])return;return{'pubKey':base64ToArrayBuffer(d['pubKey']),'privKey':base64ToArrayBuffer(d['privKey']),'signature':base64ToArrayBuffer(d['signature'])};}async['storeSignedPreKeyWithSignature'](a,b,c){const d=STORE_TYPES['SIGNED_PREKEYS']+':'+a,e={'pubKey':arrayBufferToBase64(b['pubKey']),'privKey':arrayBufferToBase64(b['privKey']),'signature':arrayBufferToBase64(c)};this['putValue'](d,JSON['stringify'](e));}async['loadSession'](a){const b=STORE_TYPES['SESSIONS']+':'+a,c=this['getValue'](b);if(c)return c;if(a['startsWith']('send:')||a['startsWith']('recv:'))return;const d=STORE_TYPES['SESSIONS']+':send:'+a,e=this['getValue'](d);if(e)return e;const f=STORE_TYPES['SESSIONS']+':recv:'+a,g=this['getValue'](f);if(g)return g;}async['storeSession'](a,b){const c=STORE_TYPES['SESSIONS']+':'+a;this['putValue'](c,b);if(!a['startsWith']('send:')&&!a['startsWith']('recv:')){const d=STORE_TYPES['SESSIONS']+':recv:'+a;this['putValue'](d,b);}}async['removeSession'](a){const b=STORE_TYPES['SESSIONS']+':'+a;this['delValue'](b);if(!a['startsWith']('send:')&&!a['startsWith']('recv:')){const c=STORE_TYPES['SESSIONS']+':recv:'+a;this['delValue'](c);}}async['getMeta'](){const a=this['getValue'](STORE_TYPES['META']);if(!a)return{'nextPreKeyId':0x1};return JSON['parse'](a);}async['setMeta'](a){const b={...await this['getMeta'](),...a};this['putValue'](STORE_TYPES['META'],JSON['stringify'](b));}['listPreKeys'](){return this['db']['prepare']('SELECT\x20key\x20FROM\x20signal_store\x20WHERE\x20store_type\x20=\x20?\x20AND\x20key\x20LIKE\x20?')['all'](this['storePrefix'],STORE_TYPES['PREKEYS']+':%')['map'](a=>{const b=a['key']['replace'](STORE_TYPES['PREKEYS']+':','');return Number(b);});}['getValue'](a){return this['db']['prepare']('SELECT\x20value\x20FROM\x20signal_store\x20WHERE\x20store_type\x20=\x20?\x20AND\x20key\x20=\x20?')['get'](this['storePrefix'],a)?.['value'];}['putValue'](a,b){this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20signal_store\x20(store_type,\x20key,\x20value,\x20updated_at)\x20\x0a\x20\x20\x20\x20\x20\x20VALUES\x20(?,\x20?,\x20?,\x20strftime(\x27%s\x27,\x20\x27now\x27))\x0a\x20\x20\x20\x20\x20\x20ON\x20CONFLICT(store_type,\x20key)\x20DO\x20UPDATE\x20SET\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20value\x20=\x20excluded.value,\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20updated_at\x20=\x20excluded.updated_at\x0a\x20\x20\x20\x20')['run'](this['storePrefix'],a,b);}['delValue'](a){this['db']['prepare']('DELETE\x20FROM\x20signal_store\x20WHERE\x20store_type\x20=\x20?\x20AND\x20key\x20=\x20?')['run'](this['storePrefix'],a);}};function parseProofsJson(a){if(!a)return[];try{const b=JSON['parse'](a);if(!Array['isArray'](b))return[];return b['filter'](c=>!!c&&typeof c['address']==='string'&&c['address']['length']>0x0);}catch{return[];}}function proofsToMessageFields(a){const b=parseProofsJson(a['proofs']);if(b['length']===0x0&&a['proof'])b['push']({'address':String(a['proof']),'createdAt':typeof a['created_at']==='number'?a['created_at']:Date['now']()});return{'proofs':b['length']>0x0?b:void 0x0,'proof':b['length']>0x0?b[b['length']-0x1]['address']:void 0x0};}var MessageStorage=class{constructor(a){this['userAddress']=a;}get['db'](){return getDatabase(this['userAddress']);}['saveMessage'](a){const b=a['direction']==='received'&&!a['receivedAt']?Date['now']():a['receivedAt'];this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20messages\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20message_id,\x20from_address,\x20to_address,\x20plaintext_hash,\x0a\x20\x20\x20\x20\x20\x20\x20\x20plaintext,\x20guard_address,\x20passport_address,\x20last_received_leaf_index,\x20direction,\x20status,\x20msg_type,\x0a\x20\x20\x20\x20\x20\x20\x20\x20leaf_index,\x20prev_root,\x20new_root,\x20server_signature,\x20server_public_key,\x20server_timestamp,\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_recipient,\x20ark_recipient_pubkey,\x20ark_signature,\x20ark_timestamp,\x20zip_metadata,\x0a\x20\x20\x20\x20\x20\x20\x20\x20created_at,\x20received_at,\x20reply_to,\x20proofs\x0a\x20\x20\x20\x20\x20\x20)\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?)\x0a\x20\x20\x20\x20\x20\x20ON\x20CONFLICT(message_id)\x20DO\x20UPDATE\x20SET\x0a\x20\x20\x20\x20\x20\x20\x20\x20direction\x20=\x20COALESCE(excluded.direction,\x20direction),\x0a\x20\x20\x20\x20\x20\x20\x20\x20status\x20=\x20COALESCE(excluded.status,\x20status),\x0a\x20\x20\x20\x20\x20\x20\x20\x20leaf_index\x20=\x20COALESCE(excluded.leaf_index,\x20leaf_index),\x0a\x20\x20\x20\x20\x20\x20\x20\x20prev_root\x20=\x20COALESCE(excluded.prev_root,\x20prev_root),\x0a\x20\x20\x20\x20\x20\x20\x20\x20new_root\x20=\x20COALESCE(excluded.new_root,\x20new_root),\x0a\x20\x20\x20\x20\x20\x20\x20\x20server_signature\x20=\x20COALESCE(excluded.server_signature,\x20server_signature),\x0a\x20\x20\x20\x20\x20\x20\x20\x20server_public_key\x20=\x20COALESCE(excluded.server_public_key,\x20server_public_key),\x0a\x20\x20\x20\x20\x20\x20\x20\x20server_timestamp\x20=\x20COALESCE(excluded.server_timestamp,\x20server_timestamp),\x0a\x20\x20\x20\x20\x20\x20\x20\x20plaintext\x20=\x20COALESCE(excluded.plaintext,\x20plaintext),\x0a\x20\x20\x20\x20\x20\x20\x20\x20guard_address\x20=\x20COALESCE(excluded.guard_address,\x20guard_address),\x0a\x20\x20\x20\x20\x20\x20\x20\x20passport_address\x20=\x20COALESCE(excluded.passport_address,\x20passport_address),\x0a\x20\x20\x20\x20\x20\x20\x20\x20last_received_leaf_index\x20=\x20COALESCE(excluded.last_received_leaf_index,\x20last_received_leaf_index),\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_recipient\x20=\x20COALESCE(excluded.ark_recipient,\x20ark_recipient),\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_recipient_pubkey\x20=\x20COALESCE(excluded.ark_recipient_pubkey,\x20ark_recipient_pubkey),\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_signature\x20=\x20COALESCE(excluded.ark_signature,\x20ark_signature),\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_timestamp\x20=\x20COALESCE(excluded.ark_timestamp,\x20ark_timestamp),\x0a\x20\x20\x20\x20\x20\x20\x20\x20zip_metadata\x20=\x20COALESCE(excluded.zip_metadata,\x20zip_metadata),\x0a\x20\x20\x20\x20\x20\x20\x20\x20received_at\x20=\x20COALESCE(excluded.received_at,\x20received_at),\x0a\x20\x20\x20\x20\x20\x20\x20\x20reply_to\x20=\x20COALESCE(excluded.reply_to,\x20reply_to),\x0a\x20\x20\x20\x20\x20\x20\x20\x20proofs\x20=\x20COALESCE(excluded.proofs,\x20proofs)\x0a\x20\x20\x20\x20')['run'](a['messageId'],a['fromAddress'],a['toAddress'],a['plaintextHash'],a['plaintext']===void 0x0?null:a['plaintext'],a['guardAddress']===void 0x0?null:a['guardAddress'],a['passportAddress']===void 0x0?null:a['passportAddress'],a['lastReceivedLeafIndex']===void 0x0?null:a['lastReceivedLeafIndex'],a['direction'],a['status'],a['msgType'],a['leafIndex']===void 0x0?null:a['leafIndex'],a['prevRoot']===void 0x0?null:a['prevRoot'],a['newRoot']===void 0x0?null:a['newRoot'],a['serverSignature']===void 0x0?null:a['serverSignature'],a['serverPublicKey']===void 0x0?null:a['serverPublicKey'],a['serverTimestamp']===void 0x0?null:a['serverTimestamp'],a['arkConfirmed']?.['recipient']===void 0x0?null:a['arkConfirmed']?.['recipient'],a['arkConfirmed']?.['recipientPublicKey']===void 0x0?null:a['arkConfirmed']?.['recipientPublicKey'],a['arkConfirmed']?.['signature']===void 0x0?null:a['arkConfirmed']?.['signature'],a['arkConfirmed']?.['timestamp']===void 0x0?null:a['arkConfirmed']?.['timestamp'],a['zipMetadata']?JSON['stringify'](a['zipMetadata']):null,a['createdAt'],b===void 0x0?null:b,a['replyTo']?JSON['stringify'](a['replyTo']):null,a['proofs']&&a['proofs']['length']>0x0?JSON['stringify'](a['proofs']):null);}['addMessageProof'](a,b,c){const d=this['db']['prepare']('SELECT\x20proofs\x20FROM\x20messages\x20WHERE\x20message_id\x20=\x20?')['get'](a);if(!d)throw new Error('Message\x20not\x20found:\x20'+a);const e=parseProofsJson(d['proofs']);if(e['some'](f=>f['address']===b))return e;return e['push']({'address':b,'network':c,'createdAt':Date['now']()}),this['db']['prepare']('UPDATE\x20messages\x20SET\x20proofs\x20=\x20?\x20WHERE\x20message_id\x20=\x20?')['run'](JSON['stringify'](e),a),e;}['getMessage'](a){const b=this['db']['prepare']('SELECT\x20*\x20FROM\x20messages\x20WHERE\x20message_id\x20=\x20?')['get'](a);if(!b)return void 0x0;return this['rowToMessage'](b);}['getMessagesBySession'](a,b){const c=a['toLowerCase'](),d=b['toLowerCase']();return this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20*\x20FROM\x20messages\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20(from_address\x20=\x20?\x20AND\x20to_address\x20=\x20?)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20OR\x20(from_address\x20=\x20?\x20AND\x20to_address\x20=\x20?)\x0a\x20\x20\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20created_at\x20ASC\x0a\x20\x20\x20\x20\x20\x20')['all'](c,d,d,c)['map'](e=>this['rowToMessage'](e));}['getRecentMessagesBySession'](a,b,c,d){const e=a['toLowerCase'](),f=b['toLowerCase'](),g=Math['max'](0x1,Math['min'](Math['trunc'](c)||0x32,0x1f4)),h=d?'AND\x20(created_at\x20<\x20?\x20OR\x20(created_at\x20=\x20?\x20AND\x20message_id\x20<\x20?))':'',i=[],j=(l,m)=>{const o=['SELECT\x20*\x20FROM\x20messages','WHERE\x20from_address\x20=\x20?\x20AND\x20to_address\x20=\x20?',h,'ORDER\x20BY\x20created_at\x20DESC,\x20message_id\x20DESC','LIMIT\x20?'];i['push'](l,m);if(d)i['push'](d['createdAt'],d['createdAt'],d['messageId']);return i['push'](g),o['join']('\x20');},k=e===f?j(e,f):'\x0a\x09\x09\x09\x09\x09SELECT\x20*\x20FROM\x20('+j(e,f)+')\x0a\x09\x09\x09\x09\x09UNION\x20ALL\x0a\x09\x09\x09\x09\x09SELECT\x20*\x20FROM\x20('+j(f,e)+')\x0a\x09\x09\x09\x09\x09ORDER\x20BY\x20created_at\x20DESC,\x20message_id\x20DESC\x0a\x09\x09\x09\x09\x09LIMIT\x20?\x0a\x09\x09\x09\x09';if(e!==f)i['push'](g);return this['db']['prepare'](k)['all'](...i)['reverse']()['map'](l=>this['rowToMessage'](l));}['searchMessages'](a,b){const c=a['trim']();if(!c)return[];const d=b?.['peerAddress']?b['peerAddress']['toLowerCase']():null,e=Math['max'](0x1,Math['min'](b?.['limit']??0x32,0xc8));if(ftsReadyDbs['has'](this['db'])&&c['length']>=0x3){const h='\x22'+c['replace'](/"/g,'\x22\x22')+'\x22';try{return this['db']['prepare']('\x0a\x09\x09\x09\x09\x09\x09SELECT\x20m.*\x20FROM\x20messages_fts\x20f\x0a\x09\x09\x09\x09\x09\x09JOIN\x20messages\x20m\x20ON\x20m.message_id\x20=\x20f.message_id\x0a\x09\x09\x09\x09\x09\x09WHERE\x20messages_fts\x20MATCH\x20?\x0a\x09\x09\x09\x09\x09\x09\x09AND\x20(?\x20IS\x20NULL\x20OR\x20m.from_address\x20=\x20?\x20OR\x20m.to_address\x20=\x20?)\x0a\x09\x09\x09\x09\x09\x09ORDER\x20BY\x20m.created_at\x20DESC,\x20m.message_id\x20DESC\x0a\x09\x09\x09\x09\x09\x09LIMIT\x20?\x0a\x09\x09\x09\x09\x09')['all'](h,d,d,d,e)['map'](i=>this['rowToMessage'](i));}catch{}}const f=i=>i['replace'](/[\\%_]/g,j=>'\x5c'+j),g='%'+f(c)+'%';return this['db']['prepare']('\x0a\x09\x09\x09\x09SELECT\x20*\x20FROM\x20messages\x0a\x09\x09\x09\x09WHERE\x20(plaintext\x20LIKE\x20?\x20ESCAPE\x20\x27\x5c\x27\x0a\x09\x09\x09\x09\x09OR\x20from_address\x20LIKE\x20?\x20ESCAPE\x20\x27\x5c\x27\x0a\x09\x09\x09\x09\x09OR\x20to_address\x20LIKE\x20?\x20ESCAPE\x20\x27\x5c\x27)\x0a\x09\x09\x09\x09\x09AND\x20(?\x20IS\x20NULL\x20OR\x20from_address\x20=\x20?\x20OR\x20to_address\x20=\x20?)\x0a\x09\x09\x09\x09ORDER\x20BY\x20created_at\x20DESC\x0a\x09\x09\x09\x09LIMIT\x20?\x0a\x09\x09\x09')['all'](g,g,g,d,d,d,e)['map'](i=>this['rowToMessage'](i));}['getPendingMessages'](a){const b=a['toLowerCase']();return this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20*\x20FROM\x20messages\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20(from_address\x20=\x20?\x20OR\x20to_address\x20=\x20?)\x20AND\x20status\x20=\x20?\x0a\x20\x20\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20created_at\x20ASC\x0a\x20\x20\x20\x20\x20\x20')['all'](b,b,'pending')['map'](c=>this['rowToMessage'](c));}['updateMessageStatus'](a,b,c){const d=['status\x20=\x20?'],e=[b];c?.['leafIndex']!==void 0x0&&(d['push']('leaf_index\x20=\x20?'),e['push'](c['leafIndex'])),c?.['newRoot']!==void 0x0&&(d['push']('new_root\x20=\x20?'),e['push'](c['newRoot'])),c?.['serverSignature']!==void 0x0&&(d['push']('server_signature\x20=\x20?'),e['push'](c['serverSignature'])),c?.['serverTimestamp']!==void 0x0&&(d['push']('server_timestamp\x20=\x20?'),e['push'](c['serverTimestamp'])),c?.['serverPublicKey']!==void 0x0&&(d['push']('server_public_key\x20=\x20?'),e['push'](c['serverPublicKey'])),e['push'](a),this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20UPDATE\x20messages\x20SET\x20'+d['join'](',\x20')+'\x20WHERE\x20message_id\x20=\x20?\x0a\x20\x20\x20\x20')['run'](...e);}['updateMessageViewed'](a,b){const c=b??Date['now']();return this['db']['prepare']('\x0a\x09\x09\x09\x09UPDATE\x20messages\x0a\x09\x09\x09\x09SET\x20viewed_at\x20=\x20?\x0a\x09\x09\x09\x09WHERE\x20message_id\x20=\x20?\x20AND\x20viewed_at\x20IS\x20NULL\x0a\x09\x09\x09')['run'](c,a)['changes']>0x0;}['updateMessagesViewed'](a,b){if(a['length']===0x0)return 0x0;const c=b??Date['now'](),d=a['map'](()=>'?')['join'](',');return this['db']['prepare']('\x0a\x09\x09\x09\x09UPDATE\x20messages\x0a\x09\x09\x09\x09SET\x20viewed_at\x20=\x20?\x0a\x09\x09\x09\x09WHERE\x20message_id\x20IN\x20('+d+')\x20AND\x20viewed_at\x20IS\x20NULL\x0a\x09\x09\x09')['run'](c,...a)['changes'];}['getAllMessages'](a){const b=a['toLowerCase']();return this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20*\x20FROM\x20messages\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20from_address\x20=\x20?\x20OR\x20to_address\x20=\x20?\x0a\x20\x20\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20created_at\x20DESC\x0a\x20\x20\x20\x20\x20\x20')['all'](b,b)['map'](c=>this['rowToMessage'](c));}['getMessageById'](a){const b=this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20*\x20FROM\x20messages\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20message_id\x20=\x20?\x0a\x20\x20\x20\x20\x20\x20')['get'](a);if(!b)return void 0x0;return this['rowToMessage'](b);}['deleteMessage'](a){return this['db']['prepare']('DELETE\x20FROM\x20messages\x20WHERE\x20message_id\x20=\x20?\x20AND\x20direction\x20=\x20\x27sent\x27\x20AND\x20status\x20IN\x20(\x27failed\x27,\x20\x27rejected\x27)')['run'](a)['changes']>0x0;}['updateMessageId'](a,b,c){const d=this['db']['prepare']('SELECT\x20*\x20FROM\x20messages\x20WHERE\x20message_id\x20=\x20?')['get'](a);if(!d)return![];const e=(h,i)=>{if(h!==void 0x0)return h;return i===null?void 0x0:i;},f={'messageId':b,'fromAddress':d['from_address'],'toAddress':d['to_address'],'plaintextHash':d['plaintext_hash'],'plaintext':d['plaintext']===null?void 0x0:d['plaintext'],'guardAddress':d['guard_address']===null?void 0x0:d['guard_address'],'passportAddress':d['passport_address']===null?void 0x0:d['passport_address'],'direction':d['direction'],'status':c?.['status']!==void 0x0?c['status']:d['status'],'msgType':d['msg_type'],'leafIndex':e(c?.['leafIndex'],d['leaf_index']),'prevRoot':e(c?.['prevRoot'],d['prev_root']),'newRoot':e(c?.['newRoot'],d['new_root']),'serverSignature':e(c?.['serverSignature'],d['server_signature']),'serverPublicKey':e(c?.['serverPublicKey'],d['server_public_key']),'serverTimestamp':e(c?.['serverTimestamp'],d['server_timestamp']),'arkConfirmed':d['ark_recipient']?{'recipient':d['ark_recipient'],'recipientPublicKey':d['ark_recipient_pubkey'],'signature':d['ark_signature'],'timestamp':d['ark_timestamp']}:void 0x0,'zipMetadata':d['zip_metadata']?JSON['parse'](d['zip_metadata']):void 0x0,'replyTo':d['reply_to']?JSON['parse'](d['reply_to']):void 0x0,'createdAt':d['created_at'],'receivedAt':d['received_at']===null?void 0x0:d['received_at'],'viewedAt':d['viewed_at']===null?void 0x0:d['viewed_at']},g=this['db']['transaction'](()=>{this['db']['prepare']('DELETE\x20FROM\x20messages\x20WHERE\x20message_id\x20=\x20?')['run'](a),this['saveMessage'](f);});try{return g(),!![];}catch(h){return![];}}['rowToMessage'](a){if(a['to_address']===null)throw new Error('Message\x20'+a['message_id']+'\x20has\x20null\x20toAddress');return{'messageId':a['message_id'],'fromAddress':a['from_address'],'toAddress':a['to_address'],'plaintextHash':a['plaintext_hash'],'plaintext':a['plaintext']===null?void 0x0:a['plaintext'],'guardAddress':a['guard_address']===null?void 0x0:a['guard_address'],'passportAddress':a['passport_address']===null?void 0x0:a['passport_address'],'lastReceivedLeafIndex':a['last_received_leaf_index']===null?void 0x0:a['last_received_leaf_index'],'direction':a['direction'],'status':a['status'],'msgType':a['msg_type'],'leafIndex':a['leaf_index']===null?void 0x0:a['leaf_index'],'prevRoot':a['prev_root']===null?void 0x0:a['prev_root'],'newRoot':a['new_root']===null?void 0x0:a['new_root'],'serverSignature':a['server_signature']===null?void 0x0:a['server_signature'],'serverPublicKey':a['server_public_key']===null?void 0x0:a['server_public_key'],'serverTimestamp':a['server_timestamp']===null?void 0x0:a['server_timestamp'],'arkConfirmed':a['ark_recipient']?{'recipient':a['ark_recipient'],'recipientPublicKey':a['ark_recipient_pubkey'],'signature':a['ark_signature'],'timestamp':a['ark_timestamp']}:void 0x0,'zipMetadata':a['zip_metadata']?JSON['parse'](a['zip_metadata']):void 0x0,'replyTo':a['reply_to']?JSON['parse'](a['reply_to']):void 0x0,'createdAt':a['created_at'],'receivedAt':a['received_at']===null?void 0x0:a['received_at'],'viewedAt':a['viewed_at']===null?void 0x0:a['viewed_at'],...proofsToMessageFields(a)};}['getLastReceivedLeafIndex'](a,b){const c=a['toLowerCase'](),d=b['toLowerCase']();return this['db']['prepare']('\x0a\x09\x09\x09\x09SELECT\x20MAX(leaf_index)\x20as\x20max_index\x0a\x09\x09\x09\x09FROM\x20messages\x0a\x09\x09\x09\x09WHERE\x20from_address\x20=\x20?\x20AND\x20to_address\x20=\x20?\x0a\x09\x09\x09\x09\x09AND\x20status\x20=\x20\x27decrypted\x27\x0a\x09\x09\x09\x09\x09AND\x20leaf_index\x20IS\x20NOT\x20NULL\x0a\x09\x09\x09')['get'](d,c)?.['max_index']??-0x1;}},SessionStateStorage=class{constructor(a){this['userAddress']=a;}get['db'](){return getDatabase(this['userAddress']);}['getSessionId'](a,b){const c=[a,b]['sort']();return c[0x0]+':'+c[0x1];}['getSessionState'](a,b){const c=this['getSessionId'](a,b),d=this['db']['prepare']('SELECT\x20*\x20FROM\x20session_states\x20WHERE\x20session_id\x20=\x20?')['get'](c);if(!d)return void 0x0;return{'sessionId':d['session_id'],'myAddress':d['my_address'],'peerAddress':d['peer_address'],'currentRoot':d['current_root'],'prevRoot':d['prev_root'],'messageCount':d['message_count'],'lastLeafIndex':d['last_leaf_index'],'lastConfirmedHash':d['last_confirmed_hash']===null?'':d['last_confirmed_hash'],'lastSyncAt':d['last_sync_at']===null?0x0:d['last_sync_at'],'createdAt':d['created_at'],'updatedAt':d['updated_at']};}['updateSessionState'](a,b,c){const d=this['getSessionId'](a,b),e=this['getSessionState'](a,b),f=Date['now']();if(e){const g={...e,...c,'updatedAt':f};this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20UPDATE\x20session_states\x20SET\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20current_root\x20=\x20?,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20prev_root\x20=\x20?,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message_count\x20=\x20?,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20last_leaf_index\x20=\x20?,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20last_confirmed_hash\x20=\x20?,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20last_sync_at\x20=\x20?,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20updated_at\x20=\x20?\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20session_id\x20=\x20?\x0a\x20\x20\x20\x20\x20\x20')['run'](g['currentRoot'],g['prevRoot'],g['messageCount'],g['lastLeafIndex'],g['lastConfirmedHash'],g['lastSyncAt'],g['updatedAt'],d);}else{const h='0'['repeat'](0x40);this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20session_states\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20session_id,\x20my_address,\x20peer_address,\x20current_root,\x20prev_root,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message_count,\x20last_leaf_index,\x20last_confirmed_hash,\x20last_sync_at,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20created_at,\x20updated_at\x0a\x20\x20\x20\x20\x20\x20\x20\x20)\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?)\x0a\x20\x20\x20\x20\x20\x20')['run'](d,a,b,c['currentRoot']??h,c['prevRoot']??h,c['messageCount']??0x0,c['lastLeafIndex']??0x0,c['lastConfirmedHash']??'',c['lastSyncAt']??0x0,f,f);}}['getCurrentRoot'](a,b){return this['getSessionState'](a,b)?.['currentRoot']??'0'['repeat'](0x40);}},MessengerPersistStorage=class{constructor(){this['initialized']=![];}get['db'](){const a=getGlobalDatabase();return!this['initialized']&&(this['initTable'](a),this['initialized']=!![]),a;}['initTable'](a){a['exec']('\x0a\x09\x09\x09CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20messenger_manager_state\x20(\x0a\x09\x09\x09\x09instance_id\x20TEXT\x20PRIMARY\x20KEY,\x0a\x09\x09\x09\x09state_data\x20TEXT\x20NOT\x20NULL,\x0a\x09\x09\x09\x09updated_at\x20INTEGER\x20NOT\x20NULL\x0a\x09\x09\x09);\x0a\x09\x09\x09CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messenger_state_updated\x20ON\x20messenger_manager_state(updated_at);\x0a\x09\x09'),a['exec']('\x0a\x09\x09\x09CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20sse_connection_locks\x20(\x0a\x09\x09\x09\x09account_address\x20TEXT\x20PRIMARY\x20KEY,\x0a\x09\x09\x09\x09process_id\x20TEXT\x20NOT\x20NULL,\x0a\x09\x09\x09\x09instance_id\x20TEXT\x20NOT\x20NULL,\x0a\x09\x09\x09\x09last_heartbeat\x20INTEGER\x20NOT\x20NULL,\x0a\x09\x09\x09\x09created_at\x20INTEGER\x20NOT\x20NULL\x0a\x09\x09\x09);\x0a\x09\x09\x09CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_sse_lock_heartbeat\x20ON\x20sse_connection_locks(last_heartbeat);\x0a\x09\x09'),a['exec']('\x0a\x09\x09\x09CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20polling_connection_locks\x20(\x0a\x09\x09\x09\x09account_address\x20TEXT\x20PRIMARY\x20KEY,\x0a\x09\x09\x09\x09process_id\x20TEXT\x20NOT\x20NULL,\x0a\x09\x09\x09\x09instance_id\x20TEXT\x20NOT\x20NULL,\x0a\x09\x09\x09\x09last_heartbeat\x20INTEGER\x20NOT\x20NULL,\x0a\x09\x09\x09\x09created_at\x20INTEGER\x20NOT\x20NULL\x0a\x09\x09\x09);\x0a\x09\x09\x09CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_polling_lock_heartbeat\x20ON\x20polling_connection_locks(last_heartbeat);\x0a\x09\x09');}['saveState'](a,b){const c=JSON['stringify'](b),d=Date['now']();this['db']['prepare']('\x0a\x09\x09\x09\x09INSERT\x20INTO\x20messenger_manager_state\x20(instance_id,\x20state_data,\x20updated_at)\x0a\x09\x09\x09\x09VALUES\x20(?,\x20?,\x20?)\x0a\x09\x09\x09\x09ON\x20CONFLICT(instance_id)\x20DO\x20UPDATE\x20SET\x0a\x09\x09\x09\x09\x09state_data\x20=\x20excluded.state_data,\x0a\x09\x09\x09\x09\x09updated_at\x20=\x20excluded.updated_at\x0a\x09\x09\x09')['run'](a,c,d);}['loadState'](a){const b=this['db']['prepare']('SELECT\x20state_data\x20FROM\x20messenger_manager_state\x20WHERE\x20instance_id\x20=\x20?')['get'](a);if(!b?.['state_data'])return null;try{return JSON['parse'](b['state_data']);}catch(c){return null;}}['deleteState'](a){this['db']['prepare']('DELETE\x20FROM\x20messenger_manager_state\x20WHERE\x20instance_id\x20=\x20?')['run'](a);}['getAllInstanceIds'](){return this['db']['prepare']('SELECT\x20instance_id\x20FROM\x20messenger_manager_state\x20ORDER\x20BY\x20updated_at\x20DESC')['all']()['map'](a=>a['instance_id']);}get['processId'](){return'pid_'+process['pid']+'_'+Date['now']();}['tryAcquireSSELock'](a,b){const c=Date['now'](),d=0x3a98,e=this['db']['transaction'](()=>{const f=this['db']['prepare']('SELECT\x20*\x20FROM\x20sse_connection_locks\x20WHERE\x20account_address\x20=\x20?')['get'](a['toLowerCase']());if(f){if(f['instance_id']===b)return this['db']['prepare']('UPDATE\x20sse_connection_locks\x20SET\x20last_heartbeat\x20=\x20?\x20WHERE\x20account_address\x20=\x20?')['run'](c,a['toLowerCase']()),!![];if(c-f['last_heartbeat']<d)return![];}return this['db']['prepare']('\x0a\x09\x09\x09\x09\x09INSERT\x20INTO\x20sse_connection_locks\x20(\x0a\x09\x09\x09\x09\x09\x09account_address,\x20process_id,\x20instance_id,\x20last_heartbeat,\x20created_at\x0a\x09\x09\x09\x09\x09)\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?)\x0a\x09\x09\x09\x09\x09ON\x20CONFLICT(account_address)\x20DO\x20UPDATE\x20SET\x0a\x09\x09\x09\x09\x09\x09process_id\x20=\x20excluded.process_id,\x0a\x09\x09\x09\x09\x09\x09instance_id\x20=\x20excluded.instance_id,\x0a\x09\x09\x09\x09\x09\x09last_heartbeat\x20=\x20excluded.last_heartbeat\x0a\x09\x09\x09\x09')['run'](a['toLowerCase'](),this['processId'],b,c,c),!![];});try{return e();}catch(f){return![];}}['updateSSELockHeartbeat'](a,b){const c=Date['now']();try{this['db']['prepare']('UPDATE\x20sse_connection_locks\x20SET\x20last_heartbeat\x20=\x20?\x20WHERE\x20account_address\x20=\x20?\x20AND\x20instance_id\x20=\x20?')['run'](c,a['toLowerCase'](),b);}catch(d){}}['releaseSSELock'](a,b){try{this['db']['prepare']('DELETE\x20FROM\x20sse_connection_locks\x20WHERE\x20account_address\x20=\x20?\x20AND\x20instance_id\x20=\x20?')['run'](a['toLowerCase'](),b);}catch(c){}}['holdsSSELock'](a,b){return!!this['db']['prepare']('SELECT\x20*\x20FROM\x20sse_connection_locks\x20WHERE\x20account_address\x20=\x20?\x20AND\x20instance_id\x20=\x20?')['get'](a['toLowerCase'](),b);}['tryAcquirePollingLock'](a,b){const c=Date['now'](),d=0xea60,e=this['db']['transaction'](()=>{const f=this['db']['prepare']('SELECT\x20*\x20FROM\x20polling_connection_locks\x20WHERE\x20account_address\x20=\x20?')['get'](a['toLowerCase']());if(f){if(f['instance_id']===b)return this['db']['prepare']('UPDATE\x20polling_connection_locks\x20SET\x20last_heartbeat\x20=\x20?\x20WHERE\x20account_address\x20=\x20?')['run'](c,a['toLowerCase']()),!![];if(c-f['last_heartbeat']<d)return![];}return this['db']['prepare']('\x0a\x09\x09\x09\x09\x09INSERT\x20INTO\x20polling_connection_locks\x20(\x0a\x09\x09\x09\x09\x09\x09account_address,\x20process_id,\x20instance_id,\x20last_heartbeat,\x20created_at\x0a\x09\x09\x09\x09\x09)\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?)\x0a\x09\x09\x09\x09\x09ON\x20CONFLICT(account_address)\x20DO\x20UPDATE\x20SET\x0a\x09\x09\x09\x09\x09\x09process_id\x20=\x20excluded.process_id,\x0a\x09\x09\x09\x09\x09\x09instance_id\x20=\x20excluded.instance_id,\x0a\x09\x09\x09\x09\x09\x09last_heartbeat\x20=\x20excluded.last_heartbeat\x0a\x09\x09\x09\x09')['run'](a['toLowerCase'](),this['processId'],b,c,c),!![];});try{return e();}catch(f){return![];}}['updatePollingLockHeartbeat'](a,b){const c=Date['now']();try{this['db']['prepare']('UPDATE\x20polling_connection_locks\x20SET\x20last_heartbeat\x20=\x20?\x20WHERE\x20account_address\x20=\x20?\x20AND\x20instance_id\x20=\x20?')['run'](c,a['toLowerCase'](),b);}catch(d){}}['releasePollingLock'](a,b){try{this['db']['prepare']('DELETE\x20FROM\x20polling_connection_locks\x20WHERE\x20account_address\x20=\x20?\x20AND\x20instance_id\x20=\x20?')['run'](a['toLowerCase'](),b);}catch(c){}}['holdsPollingLock'](a,b){return!!this['db']['prepare']('SELECT\x20*\x20FROM\x20polling_connection_locks\x20WHERE\x20account_address\x20=\x20?\x20AND\x20instance_id\x20=\x20?')['get'](a['toLowerCase'](),b);}};const defaultPersistStorage=new MessengerPersistStorage();export{MessageStorage,MessengerPersistStorage,SessionStateStorage,SignalProtocolStorage,defaultPersistStorage,ensureDirExists,getDatabase,getMessengerDbDir,resetDbConnection};
@@ -1,2 +1,2 @@
1
- import { $r as PullMessagesResponse, Ai as WtsFile, Ar as GetSettingsResponse, Bi as WtsSignatureVerification, Br as MessageIdRange, Ci as TimeRange, Cr as Empty, Di as WTS_FILE_BYTES_LIMIT, Dr as FetchMessagesRequest, Ei as UploadPreKeysResponse, Er as FailedPrekeyInfo, Fi as WtsPayload, Fr as MerkleProof, Gr as MessengerConfig, Hi as WtsVerificationResult, Hr as MessageStatus, Ii as WtsRange, Ir as Message, Jr as NORMAL_MESSAGE_BYTES_LIMIT, Kr as MessengerError, Li as WtsServerPublicKey, Lr as MessageContentType, Mi as WtsGenerationParams, Mr as ListOperationResponse, Ni as WtsMessage, Nr as MAX_QUERY_LIMIT, Oi as WTS_MAX_MESSAGE_COUNT, Or as GetBundleParams, Pi as WtsMeta, Pr as MerkleMetadata, Qr as PreKeyStatus, Ri as WtsSession, Rr as MessageDirection, Si as SsePreKeyLowEvent, Sr as DecryptedMessage, Ti as UploadPreKeysRequest, Tr as ExistListRequest, Ui as ZipContentType, Ur as MessageTimeField, Vi as WtsToHtmlOptions, Vr as MessageListResult, Wi as ZipMetadata, Wr as MessageType, Xr as PlaintextMessage, Yr as PQPreKeyPublic, Zr as PreKeyPublic, _i as SseEvent, _r as ConversationInfo, ai as SendMessageRequest, bi as SseGuardRejectedEvent, br as DEFAULT_MESSENGER_CONFIG, ci as SeqIndexRange, cr as AddressExistence, di as ServerRegisterResponse, dr as CURRENT_NETWORK, ei as RangeType, fi as SessionState, fr as ChainProofRequest, gi as SseCustomEvent, gr as ContactListsSyncResult, hi as SseArkConfirmedEvent, hr as ContactLists, ii as SERVER_URL, ji as WtsFileResult, jr as GuardListItem, ki as WTS_SCHEMA_URL, kr as GetSettingsRequest, li as ServerMessage, lr as BaseRange, mi as SignedRequestBase, mr as ClearListRequest, ni as RemoveListRequest, oi as SendMessageResponse, or as AddGuardListRequest, pi as SignedRequest, pr as ChainProofResponse, qr as MessengerErrorCode, ri as ReplyTo, si as SendMessageResult, sr as AddListRequest, ti as RemoteBundle, ui as ServerRegisterRequest, ur as CHAIN_PROOF_TYPE, vi as SseEventType, vr as ConversationsFilter, wi as UpdateSettingsRequest, wr as EventStreamParams, xi as SseNewMessageEvent, xr as DEFAULT_QUERY_LIMIT, yi as SseGuardConfirmedEvent, yr as DEFAULT_DEVICE_ID, zi as WtsSignature, zr as MessageFilter } from "../../index-5DmaIrpk.mjs";
2
- export { AddGuardListRequest, AddListRequest, AddressExistence, BaseRange, CHAIN_PROOF_TYPE, CURRENT_NETWORK, ChainProofRequest, ChainProofResponse, ClearListRequest, ContactLists, ContactListsSyncResult, ConversationInfo, ConversationsFilter, DEFAULT_DEVICE_ID, DEFAULT_MESSENGER_CONFIG, DEFAULT_QUERY_LIMIT, DecryptedMessage, Empty, EventStreamParams, ExistListRequest, FailedPrekeyInfo, FetchMessagesRequest, GetBundleParams, GetSettingsRequest, GetSettingsResponse, GuardListItem, ListOperationResponse, MAX_QUERY_LIMIT, MerkleMetadata, MerkleProof, Message, MessageContentType, MessageDirection, MessageFilter, MessageIdRange, MessageListResult, MessageStatus, MessageTimeField, MessageType, MessengerConfig, MessengerError, MessengerErrorCode, NORMAL_MESSAGE_BYTES_LIMIT, PQPreKeyPublic, PlaintextMessage, PreKeyPublic, PreKeyStatus, PullMessagesResponse, RangeType, RemoteBundle, RemoveListRequest, ReplyTo, SERVER_URL, SendMessageRequest, SendMessageResponse, SendMessageResult, SeqIndexRange, ServerMessage, ServerRegisterRequest, ServerRegisterResponse, SessionState, SignedRequest, SignedRequestBase, SseArkConfirmedEvent, SseCustomEvent, SseEvent, SseEventType, SseGuardConfirmedEvent, SseGuardRejectedEvent, SseNewMessageEvent, SsePreKeyLowEvent, TimeRange, UpdateSettingsRequest, UploadPreKeysRequest, UploadPreKeysResponse, WTS_FILE_BYTES_LIMIT, WTS_MAX_MESSAGE_COUNT, WTS_SCHEMA_URL, WtsFile, WtsFileResult, WtsGenerationParams, WtsMessage, WtsMeta, WtsPayload, WtsRange, WtsServerPublicKey, WtsSession, WtsSignature, WtsSignatureVerification, WtsToHtmlOptions, WtsVerificationResult, ZipContentType, ZipMetadata };
1
+ import { $i as UpdateSettingsRequest, $r as GetBundleParams, Ai as RemoveListRequest, Ar as Attachment, Bi as ServerRegisterResponse, Br as ContactLists, Ci as PlaintextMessage, Di as PullMessagesResponse, Dr as AddGuardListRequest, Ei as PullAccountResult, Fi as SendMessageResponse, Fr as CHAIN_PROOF_TYPE, Gi as SseCustomEvent, Gr as DEFAULT_MESSENGER_CONFIG, Hi as SignedRequest, Hr as ConversationInfo, Ii as SendMessageResult, Ir as CURRENT_NETWORK, Ji as SseGuardConfirmedEvent, Jr as Empty, Ki as SseEvent, Kr as DEFAULT_QUERY_LIMIT, Li as SeqIndexRange, Lr as ChainProofRequest, Mi as SERVER_URL, Mr as AttachmentKind, Ni as SendAttachmentOptions, Nr as AttachmentManifest, Oi as RangeType, Or as AddListRequest, Pi as SendMessageRequest, Pr as BaseRange, Qi as TimeRange, Qr as FetchMessagesRequest, Ri as ServerMessage, Rr as ChainProofResponse, Si as PQPreKeyPublic, Ti as PreKeyStatus, Ui as SignedRequestBase, Ur as ConversationsFilter, Vi as SessionState, Vr as ContactListsSyncResult, Wi as SseArkConfirmedEvent, Wr as DEFAULT_DEVICE_ID, Xi as SseNewMessageEvent, Xr as ExistListRequest, Yi as SseGuardRejectedEvent, Yr as EventStreamParams, Zi as SsePreKeyLowEvent, Zr as FailedPrekeyInfo, _a as WtsVerificationResult, _i as MessageType, aa as WtsFile, ai as MAX_QUERY_LIMIT, bi as MessengerErrorCode, ca as WtsMessage, ci as Message, da as WtsRange, di as MessageFilter, ea as UploadPreKeysRequest, ei as GetSettingsRequest, fa as WtsServerPublicKey, fi as MessageIdRange, ga as WtsToHtmlOptions, gi as MessageTimeField, ha as WtsSignatureVerification, hi as MessageStatus, ia as WTS_SCHEMA_URL, ii as ListOperationResponse, ji as ReplyTo, jr as AttachmentDescriptor, ki as RemoteBundle, kr as AddressExistence, la as WtsMeta, li as MessageContentType, ma as WtsSignature, mi as MessageProofRecord, na as WTS_FILE_BYTES_LIMIT, ni as GuardAuthRequiredResult, oa as WtsFileResult, oi as MerkleMetadata, pa as WtsSession, pi as MessageListResult, qi as SseEventType, qr as DecryptedMessage, ra as WTS_MAX_MESSAGE_COUNT, ri as GuardListItem, sa as WtsGenerationParams, si as MerkleProof, ta as UploadPreKeysResponse, ti as GetSettingsResponse, ua as WtsPayload, ui as MessageDirection, va as ZipContentType, vi as MessengerConfig, wi as PreKeyPublic, xi as NORMAL_MESSAGE_BYTES_LIMIT, ya as ZipMetadata, yi as MessengerError, zi as ServerRegisterRequest, zr as ClearListRequest } from "../../index-DKne9Aij.mjs";
2
+ export { AddGuardListRequest, AddListRequest, AddressExistence, Attachment, AttachmentDescriptor, AttachmentKind, AttachmentManifest, BaseRange, CHAIN_PROOF_TYPE, CURRENT_NETWORK, ChainProofRequest, ChainProofResponse, ClearListRequest, ContactLists, ContactListsSyncResult, ConversationInfo, ConversationsFilter, DEFAULT_DEVICE_ID, DEFAULT_MESSENGER_CONFIG, DEFAULT_QUERY_LIMIT, DecryptedMessage, Empty, EventStreamParams, ExistListRequest, FailedPrekeyInfo, FetchMessagesRequest, GetBundleParams, GetSettingsRequest, GetSettingsResponse, GuardAuthRequiredResult, GuardListItem, ListOperationResponse, MAX_QUERY_LIMIT, MerkleMetadata, MerkleProof, Message, MessageContentType, MessageDirection, MessageFilter, MessageIdRange, MessageListResult, MessageProofRecord, MessageStatus, MessageTimeField, MessageType, MessengerConfig, MessengerError, MessengerErrorCode, NORMAL_MESSAGE_BYTES_LIMIT, PQPreKeyPublic, PlaintextMessage, PreKeyPublic, PreKeyStatus, PullAccountResult, PullMessagesResponse, RangeType, RemoteBundle, RemoveListRequest, ReplyTo, SERVER_URL, SendAttachmentOptions, SendMessageRequest, SendMessageResponse, SendMessageResult, SeqIndexRange, ServerMessage, ServerRegisterRequest, ServerRegisterResponse, SessionState, SignedRequest, SignedRequestBase, SseArkConfirmedEvent, SseCustomEvent, SseEvent, SseEventType, SseGuardConfirmedEvent, SseGuardRejectedEvent, SseNewMessageEvent, SsePreKeyLowEvent, TimeRange, UpdateSettingsRequest, UploadPreKeysRequest, UploadPreKeysResponse, WTS_FILE_BYTES_LIMIT, WTS_MAX_MESSAGE_COUNT, WTS_SCHEMA_URL, WtsFile, WtsFileResult, WtsGenerationParams, WtsMessage, WtsMeta, WtsPayload, WtsRange, WtsServerPublicKey, WtsSession, WtsSignature, WtsSignatureVerification, WtsToHtmlOptions, WtsVerificationResult, ZipContentType, ZipMetadata };
@@ -1 +1 @@
1
- import'../../network-UpRYD8EM.mjs';let MessageType=function(a){return a[a['PREKEY_MESSAGE']=0x3]='PREKEY_MESSAGE',a[a['NORMAL_MESSAGE']=0x1]='NORMAL_MESSAGE',a;}({}),MessageDirection=function(a){return a['SENT']='sent',a['RECEIVED']='received',a;}({}),MessageStatus=function(a){return a['PENDING']='pending',a['CONFIRMED']='confirmed',a['READ']='read',a['FAILED']='failed',a['REJECTED']='rejected',a['DECRYPTED']='decrypted',a['DECRYPT_FAILED']='decrypt_failed',a;}({});const WTS_FILE_BYTES_LIMIT=0x5*0x400*0x400,WTS_MAX_MESSAGE_COUNT=0x1f4,NORMAL_MESSAGE_BYTES_LIMIT=0xa*0x400,DEFAULT_QUERY_LIMIT=0x32,MAX_QUERY_LIMIT=0x3e8,DEFAULT_DEVICE_ID=0x1,SERVER_URL='https://messenger.wowok.net',CHAIN_PROOF_TYPE=0x1,CURRENT_NETWORK='testnet',DEFAULT_MESSENGER_CONFIG={'prekey_count':0x28,'watch_interval_ms':0x3c*0x3e8,'serverUrl':SERVER_URL,'network':CURRENT_NETWORK,'prekeyCheckIntervalMs':0x5a0*0x3c*0x3e8,'defaultQueryLimit':0x32,'message_poll_default_interval_ms':0x168*0x3e8,'message_poll_fast_interval_ms':0x6*0x3e8,'prekey_poll_default_interval_ms':0xe10*0x3e8,'prekey_poll_fast_interval_ms':0x1e*0x3e8,'account_poll_delay_ms':0xc8,'message_poll_consecutive_empty_limit':0x3,'prekey_poll_consecutive_ok_limit':0x3,'requestTimeoutMs':0x7530};let MessengerErrorCode=function(a){return a['PREKEYS_FULL']='PREKEYS_FULL',a['ACCOUNT_NOT_FOUND']='ACCOUNT_NOT_FOUND',a['IDENTITY_NOT_FOUND']='IDENTITY_NOT_FOUND',a['IDENTITY_CONFLICT']='IDENTITY_CONFLICT',a['SESSION_NOT_ESTABLISHED']='SESSION_NOT_ESTABLISHED',a['ENCRYPTION_FAILED']='ENCRYPTION_FAILED',a['DECRYPTION_FAILED']='DECRYPTION_FAILED',a['SERVER_ERROR']='SERVER_ERROR',a['INVALID_PROOF']='INVALID_PROOF',a['NETWORK_ERROR']='NETWORK_ERROR',a['INVALID_INPUT']='INVALID_INPUT',a['FILE_NOT_FOUND']='FILE_NOT_FOUND',a['INVALID_MESSAGE_TYPE']='INVALID_MESSAGE_TYPE',a['MESSAGE_NOT_DECRYPTED']='MESSAGE_NOT_DECRYPTED',a['HASH_MISMATCH']='HASH_MISMATCH',a['ACCOUNT_MESSENGER_NOT_ENABLED']='ACCOUNT_MESSENGER_NOT_ENABLED',a['REGISTRATION_FAILED']='REGISTRATION_FAILED',a;}({});var MessengerError=class extends Error{constructor(a,b,c){super(b),this['code']=a,this['cause']=c,this['name']='MessengerError';}};const WTS_SCHEMA_URL='https://github.com/wowok-ai/docs/blob/main/WTS.md';export{CHAIN_PROOF_TYPE,CURRENT_NETWORK,DEFAULT_DEVICE_ID,DEFAULT_MESSENGER_CONFIG,DEFAULT_QUERY_LIMIT,MAX_QUERY_LIMIT,MessageDirection,MessageStatus,MessageType,MessengerError,MessengerErrorCode,NORMAL_MESSAGE_BYTES_LIMIT,SERVER_URL,WTS_FILE_BYTES_LIMIT,WTS_MAX_MESSAGE_COUNT,WTS_SCHEMA_URL};
1
+ import'../../network-UpRYD8EM.mjs';let MessageType=function(a){return a[a['PREKEY_MESSAGE']=0x3]='PREKEY_MESSAGE',a[a['NORMAL_MESSAGE']=0x1]='NORMAL_MESSAGE',a;}({}),MessageDirection=function(a){return a['SENT']='sent',a['RECEIVED']='received',a;}({}),MessageStatus=function(a){return a['PENDING']='pending',a['CONFIRMED']='confirmed',a['READ']='read',a['FAILED']='failed',a['REJECTED']='rejected',a['DECRYPTED']='decrypted',a['DECRYPT_FAILED']='decrypt_failed',a;}({});const WTS_FILE_BYTES_LIMIT=0x5*0x400*0x400,WTS_MAX_MESSAGE_COUNT=0x1f4,NORMAL_MESSAGE_BYTES_LIMIT=0xa*0x400,DEFAULT_QUERY_LIMIT=0x32,MAX_QUERY_LIMIT=0x3e8,DEFAULT_DEVICE_ID=0x1,SERVER_URL='https://messenger.wowok.net',CHAIN_PROOF_TYPE=0x1,CURRENT_NETWORK='testnet',DEFAULT_MESSENGER_CONFIG={'prekey_count':0x28,'watch_interval_ms':0x3c*0x3e8,'serverUrl':SERVER_URL,'network':CURRENT_NETWORK,'prekeyCheckIntervalMs':0x5a0*0x3c*0x3e8,'defaultQueryLimit':0x32,'message_poll_default_interval_ms':0xb4*0x3e8,'message_poll_fast_interval_ms':0x6*0x3e8,'message_poll_urgent_interval_ms':0x1e*0x3e8,'prekey_poll_default_interval_ms':0xe10*0x3e8,'prekey_poll_fast_interval_ms':0x1e*0x3e8,'account_poll_delay_ms':0xc8,'message_poll_consecutive_empty_limit':0x3,'prekey_poll_consecutive_ok_limit':0x3,'requestTimeoutMs':0x7530};let MessengerErrorCode=function(a){return a['PREKEYS_FULL']='PREKEYS_FULL',a['ACCOUNT_NOT_FOUND']='ACCOUNT_NOT_FOUND',a['IDENTITY_NOT_FOUND']='IDENTITY_NOT_FOUND',a['IDENTITY_CONFLICT']='IDENTITY_CONFLICT',a['SESSION_NOT_ESTABLISHED']='SESSION_NOT_ESTABLISHED',a['ENCRYPTION_FAILED']='ENCRYPTION_FAILED',a['DECRYPTION_FAILED']='DECRYPTION_FAILED',a['SERVER_ERROR']='SERVER_ERROR',a['INVALID_PROOF']='INVALID_PROOF',a['NETWORK_ERROR']='NETWORK_ERROR',a['INVALID_INPUT']='INVALID_INPUT',a['FILE_NOT_FOUND']='FILE_NOT_FOUND',a['INVALID_MESSAGE_TYPE']='INVALID_MESSAGE_TYPE',a['MESSAGE_NOT_DECRYPTED']='MESSAGE_NOT_DECRYPTED',a['HASH_MISMATCH']='HASH_MISMATCH',a['ACCOUNT_MESSENGER_NOT_ENABLED']='ACCOUNT_MESSENGER_NOT_ENABLED',a['REGISTRATION_FAILED']='REGISTRATION_FAILED',a;}({});var MessengerError=class extends Error{constructor(a,b,c){super(b),this['code']=a,this['cause']=c,this['name']='MessengerError';}};const WTS_SCHEMA_URL='https://github.com/wowok-ai/docs/blob/main/WTS.md';export{CHAIN_PROOF_TYPE,CURRENT_NETWORK,DEFAULT_DEVICE_ID,DEFAULT_MESSENGER_CONFIG,DEFAULT_QUERY_LIMIT,MAX_QUERY_LIMIT,MessageDirection,MessageStatus,MessageType,MessengerError,MessengerErrorCode,NORMAL_MESSAGE_BYTES_LIMIT,SERVER_URL,WTS_FILE_BYTES_LIMIT,WTS_MAX_MESSAGE_COUNT,WTS_SCHEMA_URL};
@@ -0,0 +1,31 @@
1
+ import { ci as Message } from "../../index-DKne9Aij.mjs";
2
+
3
+ //#region src/w/messenger/utils.d.ts
4
+ /**
5
+ * 规范化 JSON 对象(按键名排序)
6
+ *
7
+ * 用于生成确定性的 JSON 字符串,确保相同内容的对象
8
+ * 无论属性顺序如何,都能生成相同的字符串。
9
+ *
10
+ * @param obj 要规范化的对象
11
+ * @returns 规范化后的 JSON 字符串
12
+ */
13
+ declare function canonicalizeJson(obj: unknown): string;
14
+ /**
15
+ * Render the canonical human-readable preview of one message for list
16
+ * surfaces (watch_conversations, unread hints, global search).
17
+ *
18
+ * Attachment messages carry a base64-encoded zip envelope in `plaintext`;
19
+ * the zip envelope is a transport encoding and must never surface as raw
20
+ * characters. Such messages render a tagged descriptor
21
+ * (`[FILE]` / `[WTS]` / `[WIP]` plus the original file name) — the
22
+ * convention client UIs already understand. The send path appends one
23
+ * `.zip` suffix to the metadata file name, so strip exactly one copy to
24
+ * recover the user-facing name.
25
+ *
26
+ * Non-attachment messages keep the existing behavior: the reply line-format
27
+ * prefix is stripped and the body is returned as-is.
28
+ */
29
+ declare function messagePreviewText(msg: Pick<Message, "plaintext" | "zipMetadata">): string | undefined;
30
+ //#endregion
31
+ export { canonicalizeJson, messagePreviewText };
@@ -0,0 +1 @@
1
+ import{parseReplyPlaintext}from'./reply.mjs';function canonicalizeJson(a){if(a===void 0x0)return'null';if(a===null||typeof a!=='object')return JSON['stringify'](a);if(Array['isArray'](a))return'['+a['map'](canonicalizeJson)['join'](',')+']';const b=a;return'{'+Object['keys'](b)['sort']()['filter'](c=>b[c]!==void 0x0)['map'](c=>'\x22'+c+'\x22:'+canonicalizeJson(b[c]))['join'](',')+'}';}function messagePreviewText(a){const b=a['zipMetadata'];if(b)return'['+(b['contentType']==='wts'?'WTS':b['contentType']==='wip'?'WIP':'FILE')+']\x20'+b['fileName']['replace'](/\.zip$/i,'');if(!a['plaintext'])return a['plaintext'];return parseReplyPlaintext(a['plaintext'])['content'];}export{canonicalizeJson,messagePreviewText};
@@ -1,2 +1,2 @@
1
- import { $_ as queryOrdersByUser, $a as PaymentRevenue, $g as ServiceGuard, $h as Im, $i as TxBalanceChange, $y as ReceivedBalance, A_ as VoteWeight, Ag as ObjectTokenTypeInfo, Ah as Amount, Av as raw2type, B_ as getNumberFromObjectType, Ba as ArbitrationEvent, Bg as ProgressSession, Bh as CoreLinkView, C_ as TableItem_RewardRecord, Cg as ObjectPersonal, Cv as query_personal, D_ as TreasuryRecord, Dg as ObjectResource, Dh as AllocationSharing, Dv as query_table, E_ as TreasuryOp, Eg as ObjectRepository, Eh as AllocationMode, Ev as query_shared_objects_json, F_ as WowAddressKind, Fg as ObjectsQuery, Fh as ArbProposition, G_ as getObjectTypeFromNumber, Ga as EventBase, Gg as QueryOrdersByUser, Gh as ENTITY_ORDER_ROLE_OWNER, Gi as AddressActivityQuery, H_ as getObjectTypeDefinition, Ha as DemandFeedbackEvent, Hg as PurchasedItem, Hh as DemandsQuery, I_ as data2object, Ig as PaymentInfo, Ih as ArbStatus, J_ as isValidIdFromInput, Ja as EventType, Jg as QueryTableItem_byNameAddress, Jh as EntityPermissionItemView, Ji as ObjectLastUpdatedQuery, K_ as getObjectTypesFromNumbers, Ka as EventCursor, Kg as QueryTableItem_Entity, Kh as EntityContactItemView, Ki as ObjectHistoryQuery, L_ as getMoveNameFromNumber, Lg as PersonalQuery, Lh as ArbVoted, M_ as WReceivedObject, Mg as ObjectTreasury, Mh as AmountFromWithdrawGuard, Mv as wowObjectTypeNameForAddress, N_ as WitnessSourceType, Ng as ObjectTypeDefinition, Nh as AmountType, O_ as TxLinkView, Og as ObjectReward, Oh as Allocator, Ov as query_tableItem, P_ as WitnessTargetType, Pg as ObjectsAnswer, Ph as ArbIndemnity, Q_ as parseIdFrom, Qa as NewPaymentEvent, Qg as RoleEvidence, Qh as IdFromInput, Qi as TransactionQuery, Qy as QueryReceived, R_ as getMoveNameFromObjectType, Ra as AllocationEvent, Rg as PolicyRule, Rh as ArbsAnswer, S_ as TableItem_RepositoryData, Sg as ObjectPermission, Sv as query_objects_json, T_ as TableQuery, Tg as ObjectProof, Th as AddressProfile, Tv as query_shared_objects, U_ as getObjectTypeDefinitionFromNumber, Ua as DemandPresentEvent, Ug as QueryAddressProfile, Uh as DiscountType, V_ as getNumbersFromObjectTypes, Va as DemandChangedEvent, Vg as ProgressSessionHolder, Vh as DemandsAnswer, W_ as getObjectTypeFromMoveName, Wa as EventAnswer, Wg as QueryAddressProfiles, Wh as ENTITY_ORDER_ROLE_AGENT, X_ as objectTypeFromAddress, Xa as NewEntityEvent, Xg as QueryTableItem_byU64, Xh as GuardSubmission, Xi as TransactionHistoryAnswer, Y_ as numberToObjectType, Ya as FeedbackEvent, Yg as QueryTableItem_byString, Yh as GuardInPassport, Yi as TransactionDetail, Z_ as objectTypeToNumber, Za as NewOrderEvent, Zg as RewardGuard, Zh as IdFrom, Zi as TransactionHistoryItem, __ as TableItem_MachineNode, _a as queryPermissions, _g as ObjectGuard, _o as AffiliationEntry, _v as query_address_profiles, a_ as SharedObjectsAnswerItem, aa as query_object_history_json, ab as query_received, ag as NamedOperator, ao as VoteEvent, av as queryTableItem_EntityPermission, b_ as TableItem_PermissionPerm, bg as ObjectPassport, bo as query_affiliations, bv as query_object_token_type, c_ as TableAnswerItem, ca as query_transaction_json, cg as ObjectArb, co as query_events_json, cv as queryTableItem_ObjectLinkerCore, d_ as TableItem_DemandPresenter, da as CommonMistakeInfo, dg as ObjectContact, do as ServiceContextQuery, dv as queryTableItem_ProgressHistory, e_ as ServiceSale, ea as TxEvent, eb as ReceivedBalanceObject, eg as MAX_OBJECTS_PER_QUERY, eo as ProgressEvent, ep as ObjectType, ev as queryTableItem_AddressMark, f_ as TableItem_EntityContact, fa as FUNDING_GUIDANCE, fg as ObjectDemand, fo as ServiceContextResult, fv as queryTableItem_RepositoryData, g_ as TableItem_EntityRegistrar, ga as ProtocolInfoResult, gg as ObjectEntityRegistrar, go as AffiliationAnswer, gv as query_address_profile, h_ as TableItem_EntityPermission, ha as ProtocolInfoQuery, hg as ObjectEntityLinker, ho as AFFILIATION_TABLE_META, hv as queryTableItem_TreasuryHistory, i_ as SharedObjectsAnswer, ia as query_object_history, ib as ReceivedObjectsOrRecently, ig as MachineNodePair, io as TreasuryEvent, iv as queryTableItem_EntityOrder, j_ as VotingGuard, jg as ObjectTokenTypeQuery, jh as AmountFromDepositGuard, jv as wowAddressKind, k_ as UserOrderView, kg as ObjectService, kh as Allocators, kv as query_table_json, l_ as TableItemQuery, la as COMMON_MISTAKES, lg as ObjectArbitration, lo as queryObjectWithType, lv as queryTableItem_ObjectLinkerTx, m_ as TableItem_EntityOrder, ma as INFO_CONSTANT, mg as ObjectEntity, mo as AFFILIATION_TABLES_BY_TYPE, mv as queryTableItem_ServiceOrders, n_ as ServicesAnswer, na as query_address_activity, nb as ReceivedNormal, ng as MachineForwardGuard, no as RewardFundEvent, nv as queryTableItem_EntityContact, o_ as SharedObjectsQuery, oa as query_object_last_updated, og as OBJECT_TYPE_DEFINITIONS, oo as parseWowokEventItem, ov as queryTableItem_EntityRegistrar, p_ as TableItem_EntityLinker, pa as FundingGuidance, pg as ObjectDiscount, po as query_serviceContext, pv as queryTableItem_RewardRecord, q_ as idFromToString, qa as EventQuery, qg as QueryTableItem_byAddress, qh as EntityOrderItemView, qi as ObjectLastUpdated, r_ as ServicesQuery, ra as query_address_activity_json, rb as ReceivedObjects, rg as MachineNode, ro as ServiceEvent, rv as queryTableItem_EntityLinker, s_ as TableAnswer, sa as query_transaction, sg as ObjectAllocation, so as query_events, sv as queryTableItem_MachineNode, t_ as ServiceSummary, ta as TxObjectChange, tb as ReceivedBalanceOrRecently, tg as MachineForward, to as RewardClaimEvent, tv as queryTableItem_DemandPresenter, u_ as TableItem_AddressMark, ua as CommonMistakeFilter, ug as ObjectBase, uo as queryObjectsWithType, uv as queryTableItem_PermissionPerm, v_ as TableItem_ObjectLinkerCore, va as queryProtocolInfo, vg as ObjectMachine, vo as AffiliationTableKind, vv as query_arbs, w_ as TableItem_TreasuryHistory, wg as ObjectProgress, wh as AddressActivity, wv as query_services, x_ as TableItem_ProgressHistory, xg as ObjectPayment, xv as query_objects, y_ as TableItem_ObjectLinkerTx, ya as query_common_mistakes, yg as ObjectOrder, yo as QueryAffiliations, yv as query_demands, z_ as getNumberFromMoveName, za as ArbEvent, zg as PolicyWriteGuard, zh as ArbsQuery } from "../../index-5DmaIrpk.mjs";
2
- export { AFFILIATION_TABLES_BY_TYPE, AFFILIATION_TABLE_META, AddressActivity, AddressActivityQuery, AddressProfile, AffiliationAnswer, AffiliationEntry, AffiliationTableKind, AllocationEvent, AllocationMode, AllocationSharing, Allocator, Allocators, Amount, AmountFromDepositGuard, AmountFromWithdrawGuard, AmountType, ArbEvent, ArbIndemnity, ArbProposition, ArbStatus, ArbVoted, ArbitrationEvent, ArbsAnswer, ArbsQuery, COMMON_MISTAKES, CommonMistakeFilter, CommonMistakeInfo, CoreLinkView, DemandChangedEvent, DemandFeedbackEvent, DemandPresentEvent, DemandsAnswer, DemandsQuery, DiscountType, ENTITY_ORDER_ROLE_AGENT, ENTITY_ORDER_ROLE_OWNER, EntityContactItemView, EntityOrderItemView, EntityPermissionItemView, EventAnswer, EventBase, EventCursor, EventQuery, EventType, FUNDING_GUIDANCE, FeedbackEvent, FundingGuidance, GuardInPassport, GuardSubmission, INFO_CONSTANT, IdFrom, IdFromInput, Im, MAX_OBJECTS_PER_QUERY, MachineForward, MachineForwardGuard, MachineNode, MachineNodePair, NamedOperator, NewEntityEvent, NewOrderEvent, NewPaymentEvent, OBJECT_TYPE_DEFINITIONS, ObjectAllocation, ObjectArb, ObjectArbitration, ObjectBase, ObjectContact, ObjectDemand, ObjectDiscount, ObjectEntity, ObjectEntityLinker, ObjectEntityRegistrar, ObjectGuard, ObjectHistoryQuery, ObjectLastUpdated, ObjectLastUpdatedQuery, ObjectMachine, ObjectOrder, ObjectPassport, ObjectPayment, ObjectPermission, ObjectPersonal, ObjectProgress, ObjectProof, ObjectRepository, ObjectResource, ObjectReward, ObjectService, ObjectTokenTypeInfo, ObjectTokenTypeQuery, ObjectTreasury, ObjectType, ObjectTypeDefinition, ObjectsAnswer, ObjectsQuery, PaymentInfo, PaymentRevenue, PersonalQuery, PolicyRule, PolicyWriteGuard, ProgressEvent, ProgressSession, ProgressSessionHolder, ProtocolInfoQuery, ProtocolInfoResult, PurchasedItem, QueryAddressProfile, QueryAddressProfiles, QueryAffiliations, QueryOrdersByUser, QueryReceived, QueryTableItem_Entity, QueryTableItem_byAddress, QueryTableItem_byNameAddress, QueryTableItem_byString, QueryTableItem_byU64, ReceivedBalance, ReceivedBalanceObject, ReceivedBalanceOrRecently, ReceivedNormal, ReceivedObjects, ReceivedObjectsOrRecently, RewardClaimEvent, RewardFundEvent, RewardGuard, RoleEvidence, ServiceContextQuery, ServiceContextResult, ServiceEvent, ServiceGuard, ServiceSale, ServiceSummary, ServicesAnswer, ServicesQuery, SharedObjectsAnswer, SharedObjectsAnswerItem, SharedObjectsQuery, TableAnswer, TableAnswerItem, TableItemQuery, TableItem_AddressMark, TableItem_DemandPresenter, TableItem_EntityContact, TableItem_EntityLinker, TableItem_EntityOrder, TableItem_EntityPermission, TableItem_EntityRegistrar, TableItem_MachineNode, TableItem_ObjectLinkerCore, TableItem_ObjectLinkerTx, TableItem_PermissionPerm, TableItem_ProgressHistory, TableItem_RepositoryData, TableItem_RewardRecord, TableItem_TreasuryHistory, TableQuery, TransactionDetail, TransactionHistoryAnswer, TransactionHistoryItem, TransactionQuery, TreasuryEvent, TreasuryOp, TreasuryRecord, TxBalanceChange, TxEvent, TxLinkView, TxObjectChange, UserOrderView, VoteEvent, VoteWeight, VotingGuard, WReceivedObject, WitnessSourceType, WitnessTargetType, WowAddressKind, data2object, getMoveNameFromNumber, getMoveNameFromObjectType, getNumberFromMoveName, getNumberFromObjectType, getNumbersFromObjectTypes, getObjectTypeDefinition, getObjectTypeDefinitionFromNumber, getObjectTypeFromMoveName, getObjectTypeFromNumber, getObjectTypesFromNumbers, idFromToString, isValidIdFromInput, numberToObjectType, objectTypeFromAddress, objectTypeToNumber, parseIdFrom, parseWowokEventItem, queryObjectWithType, queryObjectsWithType, queryOrdersByUser, queryPermissions, queryProtocolInfo, queryTableItem_AddressMark, queryTableItem_DemandPresenter, queryTableItem_EntityContact, queryTableItem_EntityLinker, queryTableItem_EntityOrder, queryTableItem_EntityPermission, queryTableItem_EntityRegistrar, queryTableItem_MachineNode, queryTableItem_ObjectLinkerCore, queryTableItem_ObjectLinkerTx, queryTableItem_PermissionPerm, queryTableItem_ProgressHistory, queryTableItem_RepositoryData, queryTableItem_RewardRecord, queryTableItem_ServiceOrders, queryTableItem_TreasuryHistory, query_address_activity, query_address_activity_json, query_address_profile, query_address_profiles, query_affiliations, query_arbs, query_common_mistakes, query_demands, query_events, query_events_json, query_object_history, query_object_history_json, query_object_last_updated, query_object_token_type, query_objects, query_objects_json, query_personal, query_received, query_serviceContext, query_services, query_shared_objects, query_shared_objects_json, query_table, query_tableItem, query_table_json, query_transaction, query_transaction_json, raw2type, wowAddressKind, wowObjectTypeNameForAddress };
1
+ import { $_ as TableItem_ProgressHistory, $g as ObjectPayment, $v as query_objects, A_ as RoleEvidence, Aa as TransactionQuery, Ab as QueryReceived, Ag as IdFromInput, Ao as NewPaymentEvent, Av as parseIdFrom, B_ as TableAnswerItem, Ba as query_transaction_json, Bg as ObjectArb, Bo as query_events_json, Bv as queryTableItem_ObjectLinkerCore, C_ as QueryOrdersByUser, Ca as AddressActivityQuery, Cg as ENTITY_ORDER_ROLE_OWNER, Co as EventBase, Cv as getObjectTypeFromNumber, D_ as QueryTableItem_byString, Da as TransactionDetail, Dg as GuardInPassport, Do as FeedbackEvent, Dv as numberToObjectType, E_ as QueryTableItem_byNameAddress, Ea as ObjectLastUpdatedQuery, Eg as EntityPermissionItemView, Eo as EventType, Ev as isValidIdFromInput, F_ as ServicesQuery, Fa as query_address_activity_json, Fb as ReceivedObjects, Fg as MachineNode, Fo as ServiceEvent, Fv as queryTableItem_EntityLinker, G_ as TableItem_EntityLinker, Ga as FundingGuidance, Gg as ObjectDiscount, Go as query_serviceContext, Gv as queryTableItem_RewardRecord, H_ as TableItem_AddressMark, Ha as CommonMistakeFilter, Hg as ObjectBase, Ho as queryObjectsWithType, Hv as queryTableItem_PermissionPerm, I_ as SharedObjectsAnswer, Ia as query_object_history, Ib as ReceivedObjectsOrRecently, Ig as MachineNodePair, Io as TreasuryEvent, Iv as queryTableItem_EntityOrder, J_ as TableItem_EntityRegistrar, Ja as ProtocolInfoResult, Jg as ObjectEntityRegistrar, Jo as AffiliationAnswer, Jv as query_address_profile, K_ as TableItem_EntityOrder, Ka as INFO_CONSTANT, Kg as ObjectEntity, Ko as AFFILIATION_TABLES_BY_TYPE, Kv as queryTableItem_ServiceOrders, L_ as SharedObjectsAnswerItem, La as query_object_history_json, Lb as query_received, Lg as NamedOperator, Lo as VoteEvent, Lv as queryTableItem_EntityPermission, M_ as ServiceSale, Ma as TxEvent, Mb as ReceivedBalanceObject, Mg as MAX_OBJECTS_PER_QUERY, Mo as ProgressEvent, Mp as ObjectType, Mv as queryTableItem_AddressMark, N_ as ServiceSummary, Na as TxObjectChange, Nb as ReceivedBalanceOrRecently, Ng as MachineForward, No as RewardClaimEvent, Nv as queryTableItem_DemandPresenter, O_ as QueryTableItem_byU64, Oa as TransactionHistoryAnswer, Og as GuardSubmission, Oo as NewEntityEvent, Ov as objectTypeFromAddress, P_ as ServicesAnswer, Pa as query_address_activity, Pb as ReceivedNormal, Pg as MachineForwardGuard, Po as RewardFundEvent, Pv as queryTableItem_EntityContact, Q_ as TableItem_PermissionPerm, Qg as ObjectPassport, Qo as query_affiliations, Qv as query_object_token_type, R_ as SharedObjectsQuery, Ra as query_object_last_updated, Rg as OBJECT_TYPE_DEFINITIONS, Ro as parseWowokEventItem, Rv as queryTableItem_EntityRegistrar, S_ as QueryAddressProfiles, Sa as query_checkpoint_json, Sg as ENTITY_ORDER_ROLE_AGENT, So as EventAnswer, Sv as getObjectTypeFromMoveName, T_ as QueryTableItem_byAddress, Ta as ObjectLastUpdated, Tg as EntityOrderItemView, To as EventQuery, Tv as idFromToString, U_ as TableItem_DemandPresenter, Ua as CommonMistakeInfo, Ug as ObjectContact, Uo as ServiceContextQuery, Uv as queryTableItem_ProgressHistory, V_ as TableItemQuery, Va as COMMON_MISTAKES, Vg as ObjectArbitration, Vo as queryObjectWithType, Vv as queryTableItem_ObjectLinkerTx, W_ as TableItem_EntityContact, Wa as FUNDING_GUIDANCE, Wg as ObjectDemand, Wo as ServiceContextResult, Wv as queryTableItem_RepositoryData, X_ as TableItem_ObjectLinkerCore, Xa as queryProtocolInfo, Xg as ObjectMachine, Xo as AffiliationTableKind, Xv as query_arbs, Y_ as TableItem_MachineNode, Ya as queryPermissions, Yg as ObjectGuard, Yo as AffiliationEntry, Yv as query_address_profiles, Z_ as TableItem_ObjectLinkerTx, Za as query_common_mistakes, Zg as ObjectOrder, Zo as QueryAffiliations, Zv as query_demands, __ as PolicyWriteGuard, _g as ArbsQuery, _o as ArbEvent, _v as getNumberFromMoveName, a_ as ObjectResource, ag as AllocationSharing, av as TreasuryRecord, ay as query_table, b_ as PurchasedItem, ba as CheckpointQuery, bg as DemandsQuery, bo as DemandFeedbackEvent, bv as getObjectTypeDefinition, c_ as ObjectTokenTypeInfo, cg as Amount, cv as VoteWeight, cy as raw2type, d_ as ObjectTypeDefinition, dg as AmountType, dv as WitnessSourceType, e_ as ObjectPermission, ev as TableItem_RepositoryData, ey as query_objects_json, f_ as ObjectsAnswer, fg as ArbIndemnity, fv as WitnessTargetType, g_ as PolicyRule, gg as ArbsAnswer, go as AllocationEvent, gv as getMoveNameFromObjectType, h_ as PersonalQuery, hg as ArbVoted, hv as getMoveNameFromNumber, i_ as ObjectRepository, ig as AllocationMode, iv as TreasuryOp, iy as query_shared_objects_json, j_ as ServiceGuard, ja as TxBalanceChange, jb as ReceivedBalance, jg as Im, jo as PaymentRevenue, jv as queryOrdersByUser, k_ as RewardGuard, ka as TransactionHistoryItem, kg as IdFrom, ko as NewOrderEvent, kv as objectTypeToNumber, l_ as ObjectTokenTypeQuery, lg as AmountFromDepositGuard, lv as VotingGuard, ly as wowAddressKind, m_ as PaymentInfo, mg as ArbStatus, mv as data2object, n_ as ObjectProgress, ng as AddressActivity, nv as TableItem_TreasuryHistory, ny as query_services, o_ as ObjectReward, og as Allocator, ov as TxLinkView, oy as query_tableItem, p_ as ObjectsQuery, pg as ArbProposition, pv as WowAddressKind, q_ as TableItem_EntityPermission, qa as ProtocolInfoQuery, qg as ObjectEntityLinker, qo as AFFILIATION_TABLE_META, qv as queryTableItem_TreasuryHistory, r_ as ObjectProof, rg as AddressProfile, rv as TableQuery, ry as query_shared_objects, s_ as ObjectService, sg as Allocators, sv as UserOrderView, sy as query_table_json, t_ as ObjectPersonal, tv as TableItem_RewardRecord, ty as query_personal, u_ as ObjectTreasury, ug as AmountFromWithdrawGuard, uv as WReceivedObject, uy as wowObjectTypeNameForAddress, v_ as ProgressSession, vg as CoreLinkView, vo as ArbitrationEvent, vv as getNumberFromObjectType, w_ as QueryTableItem_Entity, wa as ObjectHistoryQuery, wg as EntityContactItemView, wo as EventCursor, wv as getObjectTypesFromNumbers, x_ as QueryAddressProfile, xa as query_checkpoint, xg as DiscountType, xo as DemandPresentEvent, xv as getObjectTypeDefinitionFromNumber, y_ as ProgressSessionHolder, yg as DemandsAnswer, yo as DemandChangedEvent, yv as getNumbersFromObjectTypes, z_ as TableAnswer, za as query_transaction, zg as ObjectAllocation, zo as query_events, zv as queryTableItem_MachineNode } from "../../index-DKne9Aij.mjs";
2
+ export { AFFILIATION_TABLES_BY_TYPE, AFFILIATION_TABLE_META, AddressActivity, AddressActivityQuery, AddressProfile, AffiliationAnswer, AffiliationEntry, AffiliationTableKind, AllocationEvent, AllocationMode, AllocationSharing, Allocator, Allocators, Amount, AmountFromDepositGuard, AmountFromWithdrawGuard, AmountType, ArbEvent, ArbIndemnity, ArbProposition, ArbStatus, ArbVoted, ArbitrationEvent, ArbsAnswer, ArbsQuery, COMMON_MISTAKES, CheckpointQuery, CommonMistakeFilter, CommonMistakeInfo, CoreLinkView, DemandChangedEvent, DemandFeedbackEvent, DemandPresentEvent, DemandsAnswer, DemandsQuery, DiscountType, ENTITY_ORDER_ROLE_AGENT, ENTITY_ORDER_ROLE_OWNER, EntityContactItemView, EntityOrderItemView, EntityPermissionItemView, EventAnswer, EventBase, EventCursor, EventQuery, EventType, FUNDING_GUIDANCE, FeedbackEvent, FundingGuidance, GuardInPassport, GuardSubmission, INFO_CONSTANT, IdFrom, IdFromInput, Im, MAX_OBJECTS_PER_QUERY, MachineForward, MachineForwardGuard, MachineNode, MachineNodePair, NamedOperator, NewEntityEvent, NewOrderEvent, NewPaymentEvent, OBJECT_TYPE_DEFINITIONS, ObjectAllocation, ObjectArb, ObjectArbitration, ObjectBase, ObjectContact, ObjectDemand, ObjectDiscount, ObjectEntity, ObjectEntityLinker, ObjectEntityRegistrar, ObjectGuard, ObjectHistoryQuery, ObjectLastUpdated, ObjectLastUpdatedQuery, ObjectMachine, ObjectOrder, ObjectPassport, ObjectPayment, ObjectPermission, ObjectPersonal, ObjectProgress, ObjectProof, ObjectRepository, ObjectResource, ObjectReward, ObjectService, ObjectTokenTypeInfo, ObjectTokenTypeQuery, ObjectTreasury, ObjectType, ObjectTypeDefinition, ObjectsAnswer, ObjectsQuery, PaymentInfo, PaymentRevenue, PersonalQuery, PolicyRule, PolicyWriteGuard, ProgressEvent, ProgressSession, ProgressSessionHolder, ProtocolInfoQuery, ProtocolInfoResult, PurchasedItem, QueryAddressProfile, QueryAddressProfiles, QueryAffiliations, QueryOrdersByUser, QueryReceived, QueryTableItem_Entity, QueryTableItem_byAddress, QueryTableItem_byNameAddress, QueryTableItem_byString, QueryTableItem_byU64, ReceivedBalance, ReceivedBalanceObject, ReceivedBalanceOrRecently, ReceivedNormal, ReceivedObjects, ReceivedObjectsOrRecently, RewardClaimEvent, RewardFundEvent, RewardGuard, RoleEvidence, ServiceContextQuery, ServiceContextResult, ServiceEvent, ServiceGuard, ServiceSale, ServiceSummary, ServicesAnswer, ServicesQuery, SharedObjectsAnswer, SharedObjectsAnswerItem, SharedObjectsQuery, TableAnswer, TableAnswerItem, TableItemQuery, TableItem_AddressMark, TableItem_DemandPresenter, TableItem_EntityContact, TableItem_EntityLinker, TableItem_EntityOrder, TableItem_EntityPermission, TableItem_EntityRegistrar, TableItem_MachineNode, TableItem_ObjectLinkerCore, TableItem_ObjectLinkerTx, TableItem_PermissionPerm, TableItem_ProgressHistory, TableItem_RepositoryData, TableItem_RewardRecord, TableItem_TreasuryHistory, TableQuery, TransactionDetail, TransactionHistoryAnswer, TransactionHistoryItem, TransactionQuery, TreasuryEvent, TreasuryOp, TreasuryRecord, TxBalanceChange, TxEvent, TxLinkView, TxObjectChange, UserOrderView, VoteEvent, VoteWeight, VotingGuard, WReceivedObject, WitnessSourceType, WitnessTargetType, WowAddressKind, data2object, getMoveNameFromNumber, getMoveNameFromObjectType, getNumberFromMoveName, getNumberFromObjectType, getNumbersFromObjectTypes, getObjectTypeDefinition, getObjectTypeDefinitionFromNumber, getObjectTypeFromMoveName, getObjectTypeFromNumber, getObjectTypesFromNumbers, idFromToString, isValidIdFromInput, numberToObjectType, objectTypeFromAddress, objectTypeToNumber, parseIdFrom, parseWowokEventItem, queryObjectWithType, queryObjectsWithType, queryOrdersByUser, queryPermissions, queryProtocolInfo, queryTableItem_AddressMark, queryTableItem_DemandPresenter, queryTableItem_EntityContact, queryTableItem_EntityLinker, queryTableItem_EntityOrder, queryTableItem_EntityPermission, queryTableItem_EntityRegistrar, queryTableItem_MachineNode, queryTableItem_ObjectLinkerCore, queryTableItem_ObjectLinkerTx, queryTableItem_PermissionPerm, queryTableItem_ProgressHistory, queryTableItem_RepositoryData, queryTableItem_RewardRecord, queryTableItem_ServiceOrders, queryTableItem_TreasuryHistory, query_address_activity, query_address_activity_json, query_address_profile, query_address_profiles, query_affiliations, query_arbs, query_checkpoint, query_checkpoint_json, query_common_mistakes, query_demands, query_events, query_events_json, query_object_history, query_object_history_json, query_object_last_updated, query_object_token_type, query_objects, query_objects_json, query_personal, query_received, query_serviceContext, query_services, query_shared_objects, query_shared_objects_json, query_table, query_tableItem, query_table_json, query_transaction, query_transaction_json, raw2type, wowAddressKind, wowObjectTypeNameForAddress };