@wowok/wowok 2.6.0 → 2.6.2

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 (118) hide show
  1. package/README.md +10 -1
  2. package/dist/esm/{arb-CnbQw0LB.mjs → arb-DVWx1QfD.mjs} +1 -1
  3. package/dist/esm/{base-BT5c3H9N.mjs → base-BAe63oAT.mjs} +1 -1
  4. package/dist/esm/bcs/index.d.mts +2 -2
  5. package/dist/esm/{call-Btobs8kp.mjs → call-BZIT0pHs.mjs} +1 -1
  6. package/dist/esm/client/index.d.mts +1 -1
  7. package/dist/esm/client/index.mjs +1 -1
  8. package/dist/esm/{client-Jb2DzzQN.mjs → client-4RLOGmzt.mjs} +1 -1
  9. package/dist/esm/cryptography/index.d.mts +1 -1
  10. package/dist/esm/{evm-account-035ZY9P1.d.mts → evm-account-DHHNdYtg.d.mts} +7 -11
  11. package/dist/esm/graphql/index.d.mts +1 -1
  12. package/dist/esm/graphql/index.mjs +1 -1
  13. package/dist/esm/graphql/schema/index.d.mts +1 -0
  14. package/dist/esm/{graphql-CS8zWneq.mjs → graphql-gC65K0Ol.mjs} +1 -1
  15. package/dist/esm/grpc/index.d.mts +1 -1
  16. package/dist/esm/grpc/index.mjs +1 -1
  17. package/dist/esm/{grpc-CEHMfCxs.mjs → grpc-DXUftsa8.mjs} +1 -1
  18. package/dist/esm/{index-CXN4AMVV.d.mts → index-CiEBi_Uf.d.mts} +604 -501
  19. package/dist/esm/{index-C8LSh5DK.d.mts → index-Db8Hn9N8.d.mts} +2 -1
  20. package/dist/esm/{index-B8BZSNzI.d.mts → index-o_aMVwsK.d.mts} +5 -4
  21. package/dist/esm/index.d.mts +9 -9
  22. package/dist/esm/index.mjs +1 -1
  23. package/dist/esm/jsonRpc/index.d.mts +1 -1
  24. package/dist/esm/jsonRpc/index.mjs +1 -1
  25. package/dist/esm/keypairs/ed25519/index.d.mts +1 -1
  26. package/dist/esm/keypairs/falcon512/index.d.mts +1 -1
  27. package/dist/esm/keypairs/passkey/index.d.mts +1 -1
  28. package/dist/esm/keypairs/secp256k1/index.d.mts +1 -1
  29. package/dist/esm/keypairs/secp256r1/index.d.mts +1 -1
  30. package/dist/esm/{messenger-BBo7c4o_.mjs → messenger-Co1M8e5T.mjs} +1 -1
  31. package/dist/esm/{messenger-api-xT1DE3pm.mjs → messenger-api-uoBMSPx-.mjs} +1 -1
  32. package/dist/esm/multisig/index.d.mts +1 -1
  33. package/dist/esm/{networks-Cab2UR8C.d.mts → networks-ByH0We-G.d.mts} +3 -6
  34. package/dist/esm/object-U0GIwoIo.mjs +1 -0
  35. package/dist/esm/{passport-CeZG1Lh0.mjs → passport-U9BAD6tV.mjs} +1 -1
  36. package/dist/esm/{pqxdh-BqO4C7fY.d.mts → pqxdh-BYnIUIE_.d.mts} +1 -0
  37. package/dist/esm/{project-B8BG7hWF.d.mts → project-B3Z3z_Z_.d.mts} +2 -0
  38. package/dist/esm/{proof-BrkOg0AA.mjs → proof-DmXvb0fs.mjs} +1 -1
  39. package/dist/esm/{query-BgVxf09y.mjs → query-D-J4v6JL.mjs} +1 -1
  40. package/dist/esm/{received-GC349zpH.mjs → received-eMOAzbYT.mjs} +1 -1
  41. package/dist/esm/{secure-storage-DFF-RQn-.d.mts → secure-storage-CHe7jmEz.d.mts} +2 -1
  42. package/dist/esm/service-Cnr2PLD7.mjs +1 -0
  43. package/dist/esm/{storage-D6ZEdlgz.d.mts → storage-BegHqtD4.d.mts} +1 -0
  44. package/dist/esm/transactions/index.d.mts +1 -1
  45. package/dist/esm/{type-tag-serializer-66hzljbG.d.mts → type-tag-serializer-BOCNO96r.d.mts} +1 -0
  46. package/dist/esm/{util-BHAkupts.mjs → util-D_L6mPoZ.mjs} +1 -1
  47. package/dist/esm/utils/index.d.mts +2 -2
  48. package/dist/esm/verify/index.d.mts +1 -1
  49. package/dist/esm/w/call/allocation.d.mts +1 -1
  50. package/dist/esm/w/call/allocation.mjs +1 -1
  51. package/dist/esm/w/call/arbitration.d.mts +1 -1
  52. package/dist/esm/w/call/arbitration.mjs +1 -1
  53. package/dist/esm/w/call/base.d.mts +1 -1
  54. package/dist/esm/w/call/base.mjs +1 -1
  55. package/dist/esm/w/call/demand.d.mts +1 -1
  56. package/dist/esm/w/call/demand.mjs +1 -1
  57. package/dist/esm/w/call/guard.d.mts +1 -1
  58. package/dist/esm/w/call/guard.mjs +1 -1
  59. package/dist/esm/w/call/index.d.mts +1 -1
  60. package/dist/esm/w/call/index.mjs +1 -1
  61. package/dist/esm/w/call/machine.d.mts +1 -1
  62. package/dist/esm/w/call/machine.mjs +1 -1
  63. package/dist/esm/w/call/passport.d.mts +1 -1
  64. package/dist/esm/w/call/passport.mjs +1 -1
  65. package/dist/esm/w/call/payment.d.mts +2 -2
  66. package/dist/esm/w/call/payment.mjs +1 -1
  67. package/dist/esm/w/call/permission.d.mts +1 -1
  68. package/dist/esm/w/call/permission.mjs +1 -1
  69. package/dist/esm/w/call/progress.d.mts +1 -1
  70. package/dist/esm/w/call/progress.mjs +1 -1
  71. package/dist/esm/w/call/repository.d.mts +1 -1
  72. package/dist/esm/w/call/repository.mjs +1 -1
  73. package/dist/esm/w/call/reward.d.mts +1 -1
  74. package/dist/esm/w/call/reward.mjs +1 -1
  75. package/dist/esm/w/call/service.d.mts +2 -2
  76. package/dist/esm/w/call/service.mjs +1 -1
  77. package/dist/esm/w/call/treasury.d.mts +1 -1
  78. package/dist/esm/w/call/treasury.mjs +1 -1
  79. package/dist/esm/w/common.d.mts +1 -1
  80. package/dist/esm/w/index.d.mts +6 -6
  81. package/dist/esm/w/index.mjs +1 -1
  82. package/dist/esm/w/local/account.d.mts +2 -2
  83. package/dist/esm/w/local/account.mjs +1 -1
  84. package/dist/esm/w/local/evm/networks.d.mts +1 -1
  85. package/dist/esm/w/local/evm-account.d.mts +1 -1
  86. package/dist/esm/w/local/index.d.mts +6 -6
  87. package/dist/esm/w/local/project.d.mts +1 -1
  88. package/dist/esm/w/local/project.mjs +1 -1
  89. package/dist/esm/w/local/secure-storage.d.mts +1 -1
  90. package/dist/esm/w/local/storage.d.mts +1 -1
  91. package/dist/esm/w/local/storage.mjs +1 -1
  92. package/dist/esm/w/local/token.d.mts +1 -1
  93. package/dist/esm/w/local/token.mjs +1 -1
  94. package/dist/esm/w/messenger/crypto.d.mts +3 -6
  95. package/dist/esm/w/messenger/index.d.mts +1 -1
  96. package/dist/esm/w/messenger/index.mjs +1 -1
  97. package/dist/esm/w/messenger/messenger-api.d.mts +1 -1
  98. package/dist/esm/w/messenger/messenger-api.mjs +1 -1
  99. package/dist/esm/w/messenger/messenger.d.mts +1 -1
  100. package/dist/esm/w/messenger/messenger.mjs +1 -1
  101. package/dist/esm/w/messenger/pq/crypto.d.mts +1 -0
  102. package/dist/esm/w/messenger/pq/index.d.mts +1 -1
  103. package/dist/esm/w/messenger/pq/pqxdh.d.mts +1 -1
  104. package/dist/esm/w/messenger/pq/ratchet.d.mts +1 -0
  105. package/dist/esm/w/messenger/pq/session.d.mts +2 -1
  106. package/dist/esm/w/messenger/pq/spqr.d.mts +1 -0
  107. package/dist/esm/w/messenger/pq/store-adapter.d.mts +1 -0
  108. package/dist/esm/w/messenger/storage.d.mts +2 -1
  109. package/dist/esm/w/messenger/storage.mjs +1 -1
  110. package/dist/esm/w/messenger/types.d.mts +1 -1
  111. package/dist/esm/w/query/index.d.mts +1 -1
  112. package/dist/esm/w/query/index.mjs +1 -1
  113. package/dist/esm/w/query/object.d.mts +1 -1
  114. package/dist/esm/w/query/object.mjs +1 -1
  115. package/dist/esm/{w-Br6b3uC4.mjs → w-D3w1ryxR.mjs} +1 -1
  116. package/package.json +3 -3
  117. package/dist/esm/object-DJOqAJAQ.mjs +0 -1
  118. package/dist/esm/service-BP423P7F.mjs +0 -1
@@ -1 +1 @@
1
- import{o as a84a}from'../../exception-0GqTGX2P.mjs';import{getWowDir}from'./util.mjs';import{t as a84b}from'../../lock-QdrQzo0u.mjs';import a84c from'libsql';import*as a84d from'path';import*as a84e from'fs';const WOW_DIR=getWowDir(),PROJECT_DB_PATH=a84d['join'](WOW_DIR,'project.db');function ensureWowDirExists(){if(!a84e['existsSync'](WOW_DIR))a84e['mkdirSync'](WOW_DIR,{'recursive':!![]});}let projectDbInstance=null;function getProjectDatabase(){ensureWowDirExists();const a=new a84c(PROJECT_DB_PATH);return a['pragma']('journal_mode\x20=\x20WAL'),a['pragma']('synchronous\x20=\x20NORMAL'),a['exec'](SCHEMA_SQL),a;}function getProjectDb(){if(projectDbInstance)return projectDbInstance;return projectDbInstance=getProjectDatabase(),projectDbInstance;}const SCHEMA_SQL='\x0a--\x20Project\x20metadata\x0aCREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20projects\x20(\x0a\x20\x20\x20\x20id\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20prefix\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20TEXT\x20UNIQUE\x20NOT\x20NULL,\x0a\x20\x20\x20\x20name\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20description\x20\x20\x20\x20\x20TEXT,\x0a\x20\x20\x20\x20industry\x20\x20\x20\x20\x20\x20\x20\x20TEXT,\x0a\x20\x20\x20\x20perspective\x20\x20\x20\x20\x20TEXT\x20DEFAULT\x20\x27producer\x27,\x0a\x20\x20\x20\x20status\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20TEXT\x20DEFAULT\x20\x27draft\x27,\x0a\x20\x20\x20\x20labels\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20TEXT,\x0a\x20\x20\x20\x20current_version\x20TEXT,\x0a\x20\x20\x20\x20service_address\x20TEXT,\x0a\x20\x20\x20\x20default_account\x20TEXT,\x0a\x20\x20\x20\x20network\x20\x20\x20\x20\x20\x20\x20\x20\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20\x27testnet\x27,\x0a\x20\x20\x20\x20created_at\x20\x20\x20\x20\x20\x20INTEGER,\x0a\x20\x20\x20\x20updated_at\x20\x20\x20\x20\x20\x20INTEGER,\x0a\x20\x20\x20\x20metadata\x20\x20\x20\x20\x20\x20\x20\x20TEXT\x0a);\x0aCREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_projects_status\x20ON\x20projects(status);\x0aCREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_projects_network\x20ON\x20projects(network);\x0aCREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_projects_perspective\x20ON\x20projects(perspective);\x0aCREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_projects_service\x20ON\x20projects(service_address);\x0a\x0a--\x20Project\x20version\x20history\x0aCREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20project_versions\x20(\x0a\x20\x20\x20\x20id\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20project_id\x20\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20version\x20\x20\x20\x20\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20description\x20TEXT,\x0a\x20\x20\x20\x20created_at\x20\x20INTEGER,\x0a\x20\x20\x20\x20metadata\x20\x20\x20\x20TEXT,\x0a\x20\x20\x20\x20FOREIGN\x20KEY\x20(project_id)\x20REFERENCES\x20projects(id)\x20ON\x20DELETE\x20CASCADE,\x0a\x20\x20\x20\x20UNIQUE(project_id,\x20version)\x0a);\x0aCREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_versions_project\x20ON\x20project_versions(project_id);\x0a\x0a--\x20Project-object\x20relationships\x20(rigid,\x20not\x20tag-based)\x0a--\x20An\x20object\x20can\x20belong\x20to\x20multiple\x20projects\x20(no\x20UNIQUE\x20on\x20object_address)\x0aCREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20project_objects\x20(\x0a\x20\x20\x20\x20id\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20project_id\x20\x20\x20\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20object_address\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20object_type\x20\x20\x20TEXT,\x0a\x20\x20\x20\x20object_name\x20\x20\x20TEXT,\x0a\x20\x20\x20\x20role\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20TEXT\x20DEFAULT\x20\x27reference\x27,\x0a\x20\x20\x20\x20tags\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20TEXT,\x0a\x20\x20\x20\x20added_at\x20\x20\x20\x20\x20\x20INTEGER,\x0a\x20\x20\x20\x20metadata\x20\x20\x20\x20\x20\x20TEXT,\x0a\x20\x20\x20\x20FOREIGN\x20KEY\x20(project_id)\x20REFERENCES\x20projects(id)\x20ON\x20DELETE\x20CASCADE\x0a);\x0aCREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_objects_project\x20ON\x20project_objects(project_id);\x0aCREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_objects_address\x20ON\x20project_objects(object_address);\x0aCREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_objects_type\x20ON\x20project_objects(object_type);\x0a\x0a--\x20Cached\x20on-chain\x20object\x20data\x20with\x20timestamps\x0aCREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20object_cache\x20(\x0a\x20\x20\x20\x20address\x20\x20\x20\x20\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20object_type\x20TEXT,\x0a\x20\x20\x20\x20data\x20\x20\x20\x20\x20\x20\x20\x20TEXT,\x0a\x20\x20\x20\x20fetched_at\x20\x20INTEGER,\x0a\x20\x20\x20\x20network\x20\x20\x20\x20\x20TEXT\x0a);\x0aCREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_cache_type\x20ON\x20object_cache(object_type);\x0aCREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_cache_network\x20ON\x20object_cache(network);\x0aCREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_cache_fetched\x20ON\x20object_cache(fetched_at);\x0a\x0a--\x20Historical\x20snapshots\x20for\x20diff\x20analysis\x0aCREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20object_cache_history\x20(\x0a\x20\x20\x20\x20id\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20address\x20\x20\x20\x20\x20\x20\x20\x20\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20object_type\x20\x20\x20\x20\x20TEXT,\x0a\x20\x20\x20\x20data\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20TEXT,\x0a\x20\x20\x20\x20fetched_at\x20\x20\x20\x20\x20\x20INTEGER,\x0a\x20\x20\x20\x20network\x20\x20\x20\x20\x20\x20\x20\x20\x20TEXT,\x0a\x20\x20\x20\x20changed_fields\x20\x20TEXT\x0a);\x0aCREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_history_address\x20ON\x20object_cache_history(address);\x0aCREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_history_time\x20ON\x20object_cache_history(fetched_at);\x0a\x0a--\x20Relationship\x20graph\x20edges\x20(3-pathway\x20fusion)\x0aCREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20graph_edges\x20(\x0a\x20\x20\x20\x20id\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20project_id\x20\x20\x20\x20\x20\x20\x20\x20TEXT,\x0a\x20\x20\x20\x20source_object\x20\x20\x20\x20\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20target_object\x20\x20\x20\x20\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20edge_source\x20\x20\x20\x20\x20\x20\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20relationship_type\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20field_name\x20\x20\x20\x20\x20\x20\x20\x20TEXT,\x0a\x20\x20\x20\x20depth\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20INTEGER\x20DEFAULT\x200,\x0a\x20\x20\x20\x20verified\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20INTEGER\x20DEFAULT\x200,\x0a\x20\x20\x20\x20weight\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20REAL\x20DEFAULT\x200.5,\x0a\x20\x20\x20\x20direction\x20\x20\x20\x20\x20\x20\x20\x20\x20TEXT,\x0a\x20\x20\x20\x20metadata\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20TEXT,\x0a\x20\x20\x20\x20cached_at\x20\x20\x20\x20\x20\x20\x20\x20\x20INTEGER\x0a);\x0aCREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_edges_project\x20ON\x20graph_edges(project_id);\x0aCREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_edges_source\x20ON\x20graph_edges(source_object);\x0aCREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_edges_target\x20ON\x20graph_edges(target_object);\x0a\x0a--\x20Evaluation\x20results\x20(cached\x20with\x20timestamps)\x0aCREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20evaluations\x20(\x0a\x20\x20\x20\x20id\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20project_id\x20\x20\x20\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20eval_type\x20\x20\x20\x20\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20score\x20\x20\x20\x20\x20\x20\x20\x20\x20REAL,\x0a\x20\x20\x20\x20summary\x20\x20\x20\x20\x20\x20\x20TEXT,\x0a\x20\x20\x20\x20details\x20\x20\x20\x20\x20\x20\x20TEXT,\x0a\x20\x20\x20\x20evaluated_at\x20\x20INTEGER,\x0a\x20\x20\x20\x20metadata\x20\x20\x20\x20\x20\x20TEXT,\x0a\x20\x20\x20\x20FOREIGN\x20KEY\x20(project_id)\x20REFERENCES\x20projects(id)\x20ON\x20DELETE\x20CASCADE\x0a);\x0aCREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_eval_project\x20ON\x20evaluations(project_id);\x0aCREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_eval_type\x20ON\x20evaluations(eval_type);\x0a\x0a--\x20Project\x20deployment\x20documents\x20(generated\x20from\x20SQLite\x20data)\x0aCREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20project_documents\x20(\x0a\x20\x20\x20\x20id\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20project_id\x20\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20version\x20\x20\x20\x20\x20TEXT,\x0a\x20\x20\x20\x20network\x20\x20\x20\x20\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20doc_type\x20\x20\x20\x20TEXT\x20DEFAULT\x20\x27deployment\x27,\x0a\x20\x20\x20\x20content\x20\x20\x20\x20\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20checksum\x20\x20\x20\x20TEXT,\x0a\x20\x20\x20\x20generated_at\x20INTEGER,\x0a\x20\x20\x20\x20updated_at\x20\x20\x20INTEGER,\x0a\x20\x20\x20\x20FOREIGN\x20KEY\x20(project_id)\x20REFERENCES\x20projects(id)\x20ON\x20DELETE\x20CASCADE\x0a);\x0aCREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_docs_project\x20ON\x20project_documents(project_id);\x0aCREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_docs_network\x20ON\x20project_documents(network);\x0a';function generateId(){if(typeof crypto!=='undefined'&&crypto['randomUUID'])return crypto['randomUUID']();return Date['now']()+'-'+Math['random']()['toString'](0x24)['slice'](0x2,0xb);}function parseJSON(a){if(!a)return null;try{return JSON['parse'](a);}catch{return null;}}function parseStringArray(a){if(!a)return null;try{const b=JSON['parse'](a);return Array['isArray'](b)?b:null;}catch{return null;}}function rowToProject(a){return{'id':a['id'],'prefix':a['prefix'],'name':a['name'],'description':a['description'],'industry':a['industry'],'perspective':a['perspective'],'status':a['status'],'labels':parseStringArray(a['labels']),'currentVersion':a['current_version'],'serviceAddress':a['service_address'],'defaultAccount':a['default_account'],'network':a['network'],'createdAt':a['created_at'],'updatedAt':a['updated_at'],'metadata':parseJSON(a['metadata'])};}function rowToVersion(a){return{'id':a['id'],'projectId':a['project_id'],'version':a['version'],'description':a['description'],'createdAt':a['created_at'],'metadata':parseJSON(a['metadata'])};}function rowToProjectObject(a){return{'id':a['id'],'projectId':a['project_id'],'objectAddress':a['object_address'],'objectType':a['object_type'],'objectName':a['object_name'],'role':a['role'],'tags':parseStringArray(a['tags']),'addedAt':a['added_at'],'metadata':parseJSON(a['metadata'])};}function rowToGraphEdge(a){return{'id':a['id'],'projectId':a['project_id'],'sourceObject':a['source_object'],'targetObject':a['target_object'],'edgeSource':a['edge_source'],'relationshipType':a['relationship_type'],'fieldName':a['field_name'],'depth':a['depth'],'verified':a['verified']===0x1,'weight':a['weight'],'direction':a['direction'],'metadata':parseJSON(a['metadata']),'cachedAt':a['cached_at']};}function rowToEvaluation(a){return{'id':a['id'],'projectId':a['project_id'],'evalType':a['eval_type'],'score':a['score'],'summary':a['summary'],'details':parseJSON(a['details']),'evaluatedAt':a['evaluated_at'],'metadata':parseJSON(a['metadata'])};}function rowToProjectDocument(a){return{'id':a['id'],'project_id':a['project_id'],'version':a['version']??void 0x0,'network':a['network'],'doc_type':a['doc_type'],'content':a['content'],'checksum':a['checksum']??void 0x0,'generated_at':a['generated_at']??void 0x0,'updated_at':a['updated_at']??void 0x0};}var LocalProject=class LocalProject{static{this['_instanceLock']=new a84b();}constructor(){this['_dbLock']=new a84b();}static['Instance'](){if(LocalProject['_instance'])return LocalProject['_instance'];if(!LocalProject['_instance'])LocalProject['_instance']=new LocalProject();return LocalProject['_instance'];}get['db'](){return getProjectDb();}async['createProject'](a){return this['_dbLock']['run'](async()=>{const b=generateId(),c=Date['now'](),d=a['network']??'testnet',e=a['perspective']??'producer';return this['db']['prepare']('INSERT\x20INTO\x20projects\x20(id,\x20prefix,\x20name,\x20description,\x20industry,\x20perspective,\x20status,\x20labels,\x0a\x09\x09\x09\x09\x09\x09current_version,\x20service_address,\x20default_account,\x20network,\x20created_at,\x20updated_at,\x20metadata)\x0a\x09\x09\x09\x09\x09\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20\x27draft\x27,\x20?,\x20NULL,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?)')['run'](b,a['prefix'],a['name'],a['description']??null,a['industry']??null,e,a['labels']?JSON['stringify'](a['labels']):null,a['serviceAddress']??null,a['defaultAccount']??null,d,c,c,a['metadata']?JSON['stringify'](a['metadata']):null),await this['getProject'](b);});}async['updateProject'](a,b){return this['_dbLock']['run'](async()=>{if(!await this['getProject'](a))a84a('invalid\x20parameter','Project\x20not\x20found:\x20'+a);const c=Date['now'](),d=[],e=[];return b['name']!==void 0x0&&(d['push']('name\x20=\x20?'),e['push'](b['name'])),b['description']!==void 0x0&&(d['push']('description\x20=\x20?'),e['push'](b['description'])),b['industry']!==void 0x0&&(d['push']('industry\x20=\x20?'),e['push'](b['industry'])),b['perspective']!==void 0x0&&(d['push']('perspective\x20=\x20?'),e['push'](b['perspective'])),b['status']!==void 0x0&&(d['push']('status\x20=\x20?'),e['push'](b['status'])),b['labels']!==void 0x0&&(d['push']('labels\x20=\x20?'),e['push'](b['labels']?JSON['stringify'](b['labels']):null)),b['currentVersion']!==void 0x0&&(d['push']('current_version\x20=\x20?'),e['push'](b['currentVersion'])),b['serviceAddress']!==void 0x0&&(d['push']('service_address\x20=\x20?'),e['push'](b['serviceAddress'])),b['defaultAccount']!==void 0x0&&(d['push']('default_account\x20=\x20?'),e['push'](b['defaultAccount'])),b['metadata']!==void 0x0&&(d['push']('metadata\x20=\x20?'),e['push'](b['metadata']?JSON['stringify'](b['metadata']):null)),d['push']('updated_at\x20=\x20?'),e['push'](c),e['push'](a),this['db']['prepare']('UPDATE\x20projects\x20SET\x20'+d['join'](',\x20')+'\x20WHERE\x20id\x20=\x20?')['run'](...e),await this['getProject'](a);});}async['getProject'](a){const b=this['db']['prepare']('SELECT\x20*\x20FROM\x20projects\x20WHERE\x20id\x20=\x20?')['get'](a);return b?rowToProject(b):void 0x0;}async['getProjectByPrefix'](a){const b=this['db']['prepare']('SELECT\x20*\x20FROM\x20projects\x20WHERE\x20prefix\x20=\x20?')['get'](a);return b?rowToProject(b):void 0x0;}async['listProjects'](a){const b=[],c=[];a?.['status']&&(b['push']('status\x20=\x20?'),c['push'](a['status']));a?.['perspective']&&(b['push']('perspective\x20=\x20?'),c['push'](a['perspective']));a?.['network']&&(b['push']('network\x20=\x20?'),c['push'](a['network']));a?.['industry']&&(b['push']('industry\x20=\x20?'),c['push'](a['industry']));a?.['serviceAddress']&&(b['push']('service_address\x20=\x20?'),c['push'](a['serviceAddress']));let d='SELECT\x20*\x20FROM\x20projects';if(b['length']>0x0)d+='\x20WHERE\x20'+b['join']('\x20AND\x20');d+='\x20ORDER\x20BY\x20updated_at\x20DESC';let e=this['db']['prepare'](d)['all'](...c);if(a?.['labels']&&a['labels']['length']>0x0)e=e['filter'](f=>{const g=parseStringArray(f['labels']);if(!g)return![];return a['labels']['some'](h=>g['includes'](h));});return e['map'](rowToProject);}async['deleteProject'](a){return this['_dbLock']['run'](async()=>{this['db']['prepare']('DELETE\x20FROM\x20projects\x20WHERE\x20id\x20=\x20?')['run'](a);});}async['createVersion'](a,b,c,d){return this['_dbLock']['run'](async()=>{const e=generateId(),f=Date['now']();return this['db']['prepare']('INSERT\x20INTO\x20project_versions\x20(id,\x20project_id,\x20version,\x20description,\x20created_at,\x20metadata)\x0a\x09\x09\x09\x09\x09\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?,\x20?)')['run'](e,a,b,c??null,f,d?JSON['stringify'](d):null),this['db']['prepare']('UPDATE\x20projects\x20SET\x20current_version\x20=\x20?,\x20updated_at\x20=\x20?\x20WHERE\x20id\x20=\x20?')['run'](b,f,a),await this['getVersion'](e);});}async['getVersion'](a){const b=this['db']['prepare']('SELECT\x20*\x20FROM\x20project_versions\x20WHERE\x20id\x20=\x20?')['get'](a);return b?rowToVersion(b):void 0x0;}async['listVersions'](a){return this['db']['prepare']('SELECT\x20*\x20FROM\x20project_versions\x20WHERE\x20project_id\x20=\x20?\x20ORDER\x20BY\x20created_at\x20DESC')['all'](a)['map'](rowToVersion);}async['addObject'](a,b){return this['_dbLock']['run'](async()=>{const c=generateId(),d=Date['now'](),e=b['role']??'reference';return this['db']['prepare']('INSERT\x20INTO\x20project_objects\x20(id,\x20project_id,\x20object_address,\x20object_type,\x20object_name,\x20role,\x20tags,\x20added_at,\x20metadata)\x0a\x09\x09\x09\x09\x09\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?)')['run'](c,a,b['objectAddress'],b['objectType']??null,b['objectName']??null,e,b['tags']?JSON['stringify'](b['tags']):null,d,b['metadata']?JSON['stringify'](b['metadata']):null),await this['getObject'](c);});}async['addObjects'](a,b){const c=[];for(const d of b)c['push'](await this['addObject'](a,d));return c;}async['getObject'](a){const b=this['db']['prepare']('SELECT\x20*\x20FROM\x20project_objects\x20WHERE\x20id\x20=\x20?')['get'](a);return b?rowToProjectObject(b):void 0x0;}async['listObjects'](a,b){const c=['project_id\x20=\x20?'],d=[a];return b?.['objectType']&&(c['push']('object_type\x20=\x20?'),d['push'](b['objectType'])),b?.['role']&&(c['push']('role\x20=\x20?'),d['push'](b['role'])),this['db']['prepare']('SELECT\x20*\x20FROM\x20project_objects\x20WHERE\x20'+c['join']('\x20AND\x20')+'\x20ORDER\x20BY\x20added_at\x20DESC')['all'](...d)['map'](rowToProjectObject);}async['removeObject'](a){this['db']['prepare']('DELETE\x20FROM\x20project_objects\x20WHERE\x20id\x20=\x20?')['run'](a);}async['removeObjectByAddress'](a,b){this['db']['prepare']('DELETE\x20FROM\x20project_objects\x20WHERE\x20project_id\x20=\x20?\x20AND\x20object_address\x20=\x20?')['run'](a,b);}async['updateObject'](a,b){const c=[],d=[];b['objectName']!==void 0x0&&(c['push']('object_name\x20=\x20?'),d['push'](b['objectName']));b['objectType']!==void 0x0&&(c['push']('object_type\x20=\x20?'),d['push'](b['objectType']));b['role']!==void 0x0&&(c['push']('role\x20=\x20?'),d['push'](b['role']));b['tags']!==void 0x0&&(c['push']('tags\x20=\x20?'),d['push'](JSON['stringify'](b['tags'])));if(c['length']===0x0)throw new Error('No\x20fields\x20to\x20update');return d['push'](a),this['db']['prepare']('UPDATE\x20project_objects\x20SET\x20'+c['join'](',\x20')+'\x20WHERE\x20id\x20=\x20?')['run'](...d),await this['getObject'](a);}async['findObjectsByAddress'](a){return this['db']['prepare']('SELECT\x20*\x20FROM\x20project_objects\x20WHERE\x20object_address\x20=\x20?\x20ORDER\x20BY\x20added_at\x20DESC')['all'](a)['map'](rowToProjectObject);}async['cacheObject'](a,b,c,d){return this['_dbLock']['run'](async()=>{const e=Date['now'](),f=this['db']['prepare']('SELECT\x20*\x20FROM\x20object_cache\x20WHERE\x20address\x20=\x20?')['get'](a);if(f){const g=this['computeChangedFields'](f['data'],c);this['db']['prepare']('INSERT\x20INTO\x20object_cache_history\x20(id,\x20address,\x20object_type,\x20data,\x20fetched_at,\x20network,\x20changed_fields)\x0a\x09\x09\x09\x09\x09\x09\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?)')['run'](generateId(),a,f['object_type'],f['data'],f['fetched_at'],f['network'],g['length']>0x0?JSON['stringify'](g):null);}this['db']['prepare']('INSERT\x20INTO\x20object_cache\x20(address,\x20object_type,\x20data,\x20fetched_at,\x20network)\x0a\x09\x09\x09\x09\x09\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?)\x0a\x09\x09\x09\x09\x09\x20ON\x20CONFLICT(address)\x20DO\x20UPDATE\x20SET\x20object_type\x20=\x20excluded.object_type,\x0a\x09\x09\x09\x09\x09\x09data\x20=\x20excluded.data,\x20fetched_at\x20=\x20excluded.fetched_at,\x20network\x20=\x20excluded.network')['run'](a,b,c,e,d);});}async['getCachedObject'](a){const b=this['db']['prepare']('SELECT\x20*\x20FROM\x20object_cache\x20WHERE\x20address\x20=\x20?')['get'](a);if(!b)return void 0x0;return{'address':b['address'],'objectType':b['object_type'],'data':b['data'],'fetchedAt':b['fetched_at'],'network':b['network']};}async['getCachedObjects'](a){const b=new Map();if(a['length']===0x0)return b;const c=a['map'](()=>'?')['join'](','),d=this['db']['prepare']('SELECT\x20*\x20FROM\x20object_cache\x20WHERE\x20address\x20IN\x20('+c+')')['all'](...a);for(const e of d)b['set'](e['address'],{'address':e['address'],'objectType':e['object_type'],'data':e['data'],'fetchedAt':e['fetched_at'],'network':e['network']});return b;}async['deleteCachedObject'](a){this['db']['prepare']('DELETE\x20FROM\x20object_cache\x20WHERE\x20address\x20=\x20?')['run'](a);}async['getObjectDiff'](a,b,c){const d=this['db']['prepare']('SELECT\x20*\x20FROM\x20object_cache_history\x0a\x09\x09\x09\x09\x20WHERE\x20address\x20=\x20?\x20AND\x20fetched_at\x20BETWEEN\x20?\x20AND\x20?\x0a\x09\x09\x09\x09\x20ORDER\x20BY\x20fetched_at\x20ASC')['all'](a,b,c),e=await this['getCachedObject'](a);if(e&&e['fetchedAt']>=b&&e['fetchedAt']<=c)d['push']({'id':'current','address':e['address'],'object_type':e['objectType'],'data':e['data'],'fetched_at':e['fetchedAt'],'network':e['network'],'changed_fields':null});const f=[];if(d['length']>=0x2){const g=d[0x0],h=d[d['length']-0x1],i=this['computeDiff'](g['data'],h['data'],g['data'],h['data']);f['push'](...i);}return{'address':a,'fromTime':b,'toTime':c,'changedFields':f};}async['getObjectHistory'](a){return this['db']['prepare']('SELECT\x20*\x20FROM\x20object_cache_history\x20WHERE\x20address\x20=\x20?\x20ORDER\x20BY\x20fetched_at\x20DESC')['all'](a)['map'](b=>({'id':b['id'],'address':b['address'],'objectType':b['object_type'],'data':b['data'],'fetchedAt':b['fetched_at'],'network':b['network'],'changedFields':parseStringArray(b['changed_fields'])}));}['computeChangedFields'](a,b){try{const c=JSON['parse'](a),d=JSON['parse'](b),e=[];return this['collectChangedPaths'](c,d,'',e),e;}catch{return[];}}['collectChangedPaths'](a,b,c,d){if(typeof a!==typeof b){d['push'](c||'(root)');return;}if(typeof a!=='object'||a===null||b===null){if(a!==b)d['push'](c||'(root)');return;}const e=a,f=b,g=new Set([...Object['keys'](e),...Object['keys'](f)]);for(const h of g){const i=c?c+'.'+h:h;if(!(h in e))d['push'](i);else{if(!(h in f))d['push'](i);else this['collectChangedPaths'](e[h],f[h],i,d);}}}['computeDiff'](a,b,c,d){try{const e=JSON['parse'](a),f=JSON['parse'](b),g=[];return this['collectDiff'](e,f,'',g),g;}catch{return[];}}['collectDiff'](a,b,c,d){if(typeof a!==typeof b){d['push']({'fieldPath':c||'(root)','oldValue':a,'newValue':b,'changeType':'modified'});return;}if(typeof a!=='object'||a===null||b===null){if(a!==b)d['push']({'fieldPath':c||'(root)','oldValue':a,'newValue':b,'changeType':'modified'});return;}const e=a,f=b,g=new Set([...Object['keys'](e),...Object['keys'](f)]);for(const h of g){const i=c?c+'.'+h:h;if(!(h in e))d['push']({'fieldPath':i,'oldValue':void 0x0,'newValue':f[h],'changeType':'added'});else{if(!(h in f))d['push']({'fieldPath':i,'oldValue':e[h],'newValue':void 0x0,'changeType':'removed'});else this['collectDiff'](e[h],f[h],i,d);}}}async['saveGraphEdges'](a,b){return this['_dbLock']['run'](async()=>{const c=Date['now']();if(a)this['db']['prepare']('DELETE\x20FROM\x20graph_edges\x20WHERE\x20project_id\x20=\x20?')['run'](a);const d=this['db']['prepare']('INSERT\x20INTO\x20graph_edges\x20(id,\x20project_id,\x20source_object,\x20target_object,\x20edge_source,\x0a\x09\x09\x09\x09\x09relationship_type,\x20field_name,\x20depth,\x20verified,\x20weight,\x20direction,\x20metadata,\x20cached_at)\x0a\x09\x09\x09\x09\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?)');return this['db']['transaction'](e=>{for(const f of e){const g=generateId();d['run'](g,a??f['projectId']??null,f['sourceObject'],f['targetObject'],f['edgeSource'],f['relationshipType'],f['fieldName']??null,f['depth']??0x0,f['verified']?0x1:0x0,f['weight']??0.5,f['direction']??null,f['metadata']?JSON['stringify'](f['metadata']):null,c);}})(b),(a?this['db']['prepare']('SELECT\x20*\x20FROM\x20graph_edges\x20WHERE\x20project_id\x20=\x20?')['all'](a):this['db']['prepare']('SELECT\x20*\x20FROM\x20graph_edges\x20WHERE\x20project_id\x20IS\x20NULL')['all']())['map'](rowToGraphEdge);});}async['getGraph'](a){return(a?this['db']['prepare']('SELECT\x20*\x20FROM\x20graph_edges\x20WHERE\x20project_id\x20=\x20?')['all'](a):this['db']['prepare']('SELECT\x20*\x20FROM\x20graph_edges')['all']())['map'](rowToGraphEdge);}async['getGraphForObject'](a){return this['db']['prepare']('SELECT\x20*\x20FROM\x20graph_edges\x20WHERE\x20source_object\x20=\x20?\x20OR\x20target_object\x20=\x20?')['all'](a,a)['map'](rowToGraphEdge);}async['clearGraph'](a){if(a)this['db']['prepare']('DELETE\x20FROM\x20graph_edges\x20WHERE\x20project_id\x20=\x20?')['run'](a);else this['db']['exec']('DELETE\x20FROM\x20graph_edges');}async['saveEvaluation'](a){return this['_dbLock']['run'](async()=>{const b=generateId(),c=Date['now']();return this['db']['prepare']('INSERT\x20INTO\x20evaluations\x20(id,\x20project_id,\x20eval_type,\x20score,\x20summary,\x20details,\x20evaluated_at,\x20metadata)\x0a\x09\x09\x09\x09\x09\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?)')['run'](b,a['projectId'],a['evalType'],a['score']??null,a['summary']??null,a['details']?JSON['stringify'](a['details']):null,c,a['metadata']?JSON['stringify'](a['metadata']):null),await this['getEvaluation'](b);});}async['getEvaluation'](a){const b=this['db']['prepare']('SELECT\x20*\x20FROM\x20evaluations\x20WHERE\x20id\x20=\x20?')['get'](a);return b?rowToEvaluation(b):void 0x0;}async['listEvaluations'](a,b){const c=['project_id\x20=\x20?'],d=[a];return b?.['evalType']&&(c['push']('eval_type\x20=\x20?'),d['push'](b['evalType'])),this['db']['prepare']('SELECT\x20*\x20FROM\x20evaluations\x20WHERE\x20'+c['join']('\x20AND\x20')+'\x20ORDER\x20BY\x20evaluated_at\x20DESC')['all'](...d)['map'](rowToEvaluation);}async['getLatestEvaluation'](a,b){const c=this['db']['prepare']('SELECT\x20*\x20FROM\x20evaluations\x20WHERE\x20project_id\x20=\x20?\x20AND\x20eval_type\x20=\x20?\x0a\x09\x09\x09\x09\x20ORDER\x20BY\x20evaluated_at\x20DESC\x20LIMIT\x201')['get'](a,b);return c?rowToEvaluation(c):void 0x0;}async['saveDocument'](a,b,c,d='deployment'){return this['_dbLock']['run'](async()=>{const e=generateId(),f=Date['now'](),g=this['computeChecksum'](c),h=this['db']['prepare']('SELECT\x20id\x20FROM\x20project_documents\x20WHERE\x20project_id\x20=\x20?\x20AND\x20network\x20=\x20?\x20AND\x20doc_type\x20=\x20?')['get'](a,b,d);if(h)return this['db']['prepare']('UPDATE\x20project_documents\x20SET\x20content\x20=\x20?,\x20checksum\x20=\x20?,\x20updated_at\x20=\x20?\x20WHERE\x20id\x20=\x20?')['run'](c,g,f,h['id']),this['getDocument'](a,b,d);return this['db']['prepare']('INSERT\x20INTO\x20project_documents\x20(id,\x20project_id,\x20network,\x20doc_type,\x20content,\x20checksum,\x20generated_at,\x20updated_at)\x0a\x09\x09\x09\x09\x09\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?)')['run'](e,a,b,d,c,g,f,f),this['getDocument'](a,b,d);});}async['getDocument'](a,b,c='deployment'){const d=this['db']['prepare']('SELECT\x20*\x20FROM\x20project_documents\x20WHERE\x20project_id\x20=\x20?\x20AND\x20network\x20=\x20?\x20AND\x20doc_type\x20=\x20?')['get'](a,b,c);return d?rowToProjectDocument(d):void 0x0;}async['listDocuments'](a){return this['db']['prepare']('SELECT\x20*\x20FROM\x20project_documents\x20WHERE\x20project_id\x20=\x20?\x20ORDER\x20BY\x20updated_at\x20DESC')['all'](a)['map'](rowToProjectDocument);}async['deleteDocument'](a,b,c='deployment'){return this['_dbLock']['run'](async()=>{return this['db']['prepare']('DELETE\x20FROM\x20project_documents\x20WHERE\x20project_id\x20=\x20?\x20AND\x20network\x20=\x20?\x20AND\x20doc_type\x20=\x20?')['run'](a,b,c)['changes']>0x0;});}['computeChecksum'](a){let b=0x0;for(let c=0x0;c<a['length'];c++){const d=a['charCodeAt'](c);b=(b<<0x5)-b+d,b=b&b;}return b['toString'](0x10);}static['resetDbConnection'](){if(projectDbInstance){try{projectDbInstance['close']();}catch{}projectDbInstance=null;}}};process['on']('exit',()=>{LocalProject['resetDbConnection']();}),process['on']('SIGINT',()=>{LocalProject['resetDbConnection'](),process['exit'](0x0);}),process['on']('SIGTERM',()=>{LocalProject['resetDbConnection'](),process['exit'](0x0);});export{LocalProject};
1
+ import{o as a84a}from'../../exception-0GqTGX2P.mjs';import{getWowDir}from'./util.mjs';import{t as a84b}from'../../lock-QdrQzo0u.mjs';import a84c from'libsql';import*as a84d from'path';import*as a84e from'fs';const WOW_DIR=getWowDir(),PROJECT_DB_PATH=a84d['join'](WOW_DIR,'project.db');function ensureWowDirExists(){if(!a84e['existsSync'](WOW_DIR))a84e['mkdirSync'](WOW_DIR,{'recursive':!![]});}let projectDbInstance=null;function getProjectDatabase(){ensureWowDirExists();const a=new a84c(PROJECT_DB_PATH);return a['pragma']('journal_mode\x20=\x20WAL'),a['pragma']('synchronous\x20=\x20NORMAL'),a['pragma']('busy_timeout\x20=\x205000'),a['exec'](SCHEMA_SQL),a;}function getProjectDb(){if(projectDbInstance)return projectDbInstance;return projectDbInstance=getProjectDatabase(),projectDbInstance;}const SCHEMA_SQL='\x0a--\x20Project\x20metadata\x0aCREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20projects\x20(\x0a\x20\x20\x20\x20id\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20prefix\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20TEXT\x20UNIQUE\x20NOT\x20NULL,\x0a\x20\x20\x20\x20name\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20description\x20\x20\x20\x20\x20TEXT,\x0a\x20\x20\x20\x20industry\x20\x20\x20\x20\x20\x20\x20\x20TEXT,\x0a\x20\x20\x20\x20perspective\x20\x20\x20\x20\x20TEXT\x20DEFAULT\x20\x27producer\x27,\x0a\x20\x20\x20\x20status\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20TEXT\x20DEFAULT\x20\x27draft\x27,\x0a\x20\x20\x20\x20labels\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20TEXT,\x0a\x20\x20\x20\x20current_version\x20TEXT,\x0a\x20\x20\x20\x20service_address\x20TEXT,\x0a\x20\x20\x20\x20default_account\x20TEXT,\x0a\x20\x20\x20\x20network\x20\x20\x20\x20\x20\x20\x20\x20\x20TEXT\x20NOT\x20NULL\x20DEFAULT\x20\x27testnet\x27,\x0a\x20\x20\x20\x20created_at\x20\x20\x20\x20\x20\x20INTEGER,\x0a\x20\x20\x20\x20updated_at\x20\x20\x20\x20\x20\x20INTEGER,\x0a\x20\x20\x20\x20metadata\x20\x20\x20\x20\x20\x20\x20\x20TEXT\x0a);\x0aCREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_projects_status\x20ON\x20projects(status);\x0aCREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_projects_network\x20ON\x20projects(network);\x0aCREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_projects_perspective\x20ON\x20projects(perspective);\x0aCREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_projects_service\x20ON\x20projects(service_address);\x0a\x0a--\x20Project\x20version\x20history\x0aCREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20project_versions\x20(\x0a\x20\x20\x20\x20id\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20project_id\x20\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20version\x20\x20\x20\x20\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20description\x20TEXT,\x0a\x20\x20\x20\x20created_at\x20\x20INTEGER,\x0a\x20\x20\x20\x20metadata\x20\x20\x20\x20TEXT,\x0a\x20\x20\x20\x20FOREIGN\x20KEY\x20(project_id)\x20REFERENCES\x20projects(id)\x20ON\x20DELETE\x20CASCADE,\x0a\x20\x20\x20\x20UNIQUE(project_id,\x20version)\x0a);\x0aCREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_versions_project\x20ON\x20project_versions(project_id);\x0a\x0a--\x20Project-object\x20relationships\x20(rigid,\x20not\x20tag-based)\x0a--\x20An\x20object\x20can\x20belong\x20to\x20multiple\x20projects\x20(no\x20UNIQUE\x20on\x20object_address)\x0aCREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20project_objects\x20(\x0a\x20\x20\x20\x20id\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20project_id\x20\x20\x20\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20object_address\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20object_type\x20\x20\x20TEXT,\x0a\x20\x20\x20\x20object_name\x20\x20\x20TEXT,\x0a\x20\x20\x20\x20role\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20TEXT\x20DEFAULT\x20\x27reference\x27,\x0a\x20\x20\x20\x20tags\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20TEXT,\x0a\x20\x20\x20\x20added_at\x20\x20\x20\x20\x20\x20INTEGER,\x0a\x20\x20\x20\x20metadata\x20\x20\x20\x20\x20\x20TEXT,\x0a\x20\x20\x20\x20FOREIGN\x20KEY\x20(project_id)\x20REFERENCES\x20projects(id)\x20ON\x20DELETE\x20CASCADE\x0a);\x0aCREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_objects_project\x20ON\x20project_objects(project_id);\x0aCREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_objects_address\x20ON\x20project_objects(object_address);\x0aCREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_objects_type\x20ON\x20project_objects(object_type);\x0a\x0a--\x20Cached\x20on-chain\x20object\x20data\x20with\x20timestamps\x0aCREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20object_cache\x20(\x0a\x20\x20\x20\x20address\x20\x20\x20\x20\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20object_type\x20TEXT,\x0a\x20\x20\x20\x20data\x20\x20\x20\x20\x20\x20\x20\x20TEXT,\x0a\x20\x20\x20\x20fetched_at\x20\x20INTEGER,\x0a\x20\x20\x20\x20network\x20\x20\x20\x20\x20TEXT\x0a);\x0aCREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_cache_type\x20ON\x20object_cache(object_type);\x0aCREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_cache_network\x20ON\x20object_cache(network);\x0aCREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_cache_fetched\x20ON\x20object_cache(fetched_at);\x0a\x0a--\x20Historical\x20snapshots\x20for\x20diff\x20analysis\x0aCREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20object_cache_history\x20(\x0a\x20\x20\x20\x20id\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20address\x20\x20\x20\x20\x20\x20\x20\x20\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20object_type\x20\x20\x20\x20\x20TEXT,\x0a\x20\x20\x20\x20data\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20TEXT,\x0a\x20\x20\x20\x20fetched_at\x20\x20\x20\x20\x20\x20INTEGER,\x0a\x20\x20\x20\x20network\x20\x20\x20\x20\x20\x20\x20\x20\x20TEXT,\x0a\x20\x20\x20\x20changed_fields\x20\x20TEXT\x0a);\x0aCREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_history_address\x20ON\x20object_cache_history(address);\x0aCREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_history_time\x20ON\x20object_cache_history(fetched_at);\x0a\x0a--\x20Relationship\x20graph\x20edges\x20(3-pathway\x20fusion)\x0aCREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20graph_edges\x20(\x0a\x20\x20\x20\x20id\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20project_id\x20\x20\x20\x20\x20\x20\x20\x20TEXT,\x0a\x20\x20\x20\x20source_object\x20\x20\x20\x20\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20target_object\x20\x20\x20\x20\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20edge_source\x20\x20\x20\x20\x20\x20\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20relationship_type\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20field_name\x20\x20\x20\x20\x20\x20\x20\x20TEXT,\x0a\x20\x20\x20\x20depth\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20INTEGER\x20DEFAULT\x200,\x0a\x20\x20\x20\x20verified\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20INTEGER\x20DEFAULT\x200,\x0a\x20\x20\x20\x20weight\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20REAL\x20DEFAULT\x200.5,\x0a\x20\x20\x20\x20direction\x20\x20\x20\x20\x20\x20\x20\x20\x20TEXT,\x0a\x20\x20\x20\x20metadata\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20TEXT,\x0a\x20\x20\x20\x20cached_at\x20\x20\x20\x20\x20\x20\x20\x20\x20INTEGER\x0a);\x0aCREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_edges_project\x20ON\x20graph_edges(project_id);\x0aCREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_edges_source\x20ON\x20graph_edges(source_object);\x0aCREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_edges_target\x20ON\x20graph_edges(target_object);\x0a\x0a--\x20Evaluation\x20results\x20(cached\x20with\x20timestamps)\x0aCREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20evaluations\x20(\x0a\x20\x20\x20\x20id\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20project_id\x20\x20\x20\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20eval_type\x20\x20\x20\x20\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20score\x20\x20\x20\x20\x20\x20\x20\x20\x20REAL,\x0a\x20\x20\x20\x20summary\x20\x20\x20\x20\x20\x20\x20TEXT,\x0a\x20\x20\x20\x20details\x20\x20\x20\x20\x20\x20\x20TEXT,\x0a\x20\x20\x20\x20evaluated_at\x20\x20INTEGER,\x0a\x20\x20\x20\x20metadata\x20\x20\x20\x20\x20\x20TEXT,\x0a\x20\x20\x20\x20FOREIGN\x20KEY\x20(project_id)\x20REFERENCES\x20projects(id)\x20ON\x20DELETE\x20CASCADE\x0a);\x0aCREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_eval_project\x20ON\x20evaluations(project_id);\x0aCREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_eval_type\x20ON\x20evaluations(eval_type);\x0a\x0a--\x20Project\x20deployment\x20documents\x20(generated\x20from\x20SQLite\x20data)\x0aCREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20project_documents\x20(\x0a\x20\x20\x20\x20id\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20project_id\x20\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20version\x20\x20\x20\x20\x20TEXT,\x0a\x20\x20\x20\x20network\x20\x20\x20\x20\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20doc_type\x20\x20\x20\x20TEXT\x20DEFAULT\x20\x27deployment\x27,\x0a\x20\x20\x20\x20content\x20\x20\x20\x20\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20checksum\x20\x20\x20\x20TEXT,\x0a\x20\x20\x20\x20generated_at\x20INTEGER,\x0a\x20\x20\x20\x20updated_at\x20\x20\x20INTEGER,\x0a\x20\x20\x20\x20FOREIGN\x20KEY\x20(project_id)\x20REFERENCES\x20projects(id)\x20ON\x20DELETE\x20CASCADE\x0a);\x0aCREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_docs_project\x20ON\x20project_documents(project_id);\x0aCREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_docs_network\x20ON\x20project_documents(network);\x0a';function generateId(){if(typeof crypto!=='undefined'&&crypto['randomUUID'])return crypto['randomUUID']();return Date['now']()+'-'+Math['random']()['toString'](0x24)['slice'](0x2,0xb);}function parseJSON(a){if(!a)return null;try{return JSON['parse'](a);}catch{return null;}}function parseStringArray(a){if(!a)return null;try{const b=JSON['parse'](a);return Array['isArray'](b)?b:null;}catch{return null;}}function rowToProject(a){return{'id':a['id'],'prefix':a['prefix'],'name':a['name'],'description':a['description'],'industry':a['industry'],'perspective':a['perspective'],'status':a['status'],'labels':parseStringArray(a['labels']),'currentVersion':a['current_version'],'serviceAddress':a['service_address'],'defaultAccount':a['default_account'],'network':a['network'],'createdAt':a['created_at'],'updatedAt':a['updated_at'],'metadata':parseJSON(a['metadata'])};}function rowToVersion(a){return{'id':a['id'],'projectId':a['project_id'],'version':a['version'],'description':a['description'],'createdAt':a['created_at'],'metadata':parseJSON(a['metadata'])};}function rowToProjectObject(a){return{'id':a['id'],'projectId':a['project_id'],'objectAddress':a['object_address'],'objectType':a['object_type'],'objectName':a['object_name'],'role':a['role'],'tags':parseStringArray(a['tags']),'addedAt':a['added_at'],'metadata':parseJSON(a['metadata'])};}function rowToGraphEdge(a){return{'id':a['id'],'projectId':a['project_id'],'sourceObject':a['source_object'],'targetObject':a['target_object'],'edgeSource':a['edge_source'],'relationshipType':a['relationship_type'],'fieldName':a['field_name'],'depth':a['depth'],'verified':a['verified']===0x1,'weight':a['weight'],'direction':a['direction'],'metadata':parseJSON(a['metadata']),'cachedAt':a['cached_at']};}function rowToEvaluation(a){return{'id':a['id'],'projectId':a['project_id'],'evalType':a['eval_type'],'score':a['score'],'summary':a['summary'],'details':parseJSON(a['details']),'evaluatedAt':a['evaluated_at'],'metadata':parseJSON(a['metadata'])};}function rowToProjectDocument(a){return{'id':a['id'],'project_id':a['project_id'],'version':a['version']??void 0x0,'network':a['network'],'doc_type':a['doc_type'],'content':a['content'],'checksum':a['checksum']??void 0x0,'generated_at':a['generated_at']??void 0x0,'updated_at':a['updated_at']??void 0x0};}var LocalProject=class LocalProject{static{this['_instanceLock']=new a84b();}constructor(){this['_dbLock']=new a84b();}static['Instance'](){if(LocalProject['_instance'])return LocalProject['_instance'];if(!LocalProject['_instance'])LocalProject['_instance']=new LocalProject();return LocalProject['_instance'];}get['db'](){return getProjectDb();}async['createProject'](a){return this['_dbLock']['run'](async()=>{const b=generateId(),c=Date['now'](),d=a['network']??'testnet',e=a['perspective']??'producer';return this['db']['prepare']('INSERT\x20INTO\x20projects\x20(id,\x20prefix,\x20name,\x20description,\x20industry,\x20perspective,\x20status,\x20labels,\x0a\x09\x09\x09\x09\x09\x09current_version,\x20service_address,\x20default_account,\x20network,\x20created_at,\x20updated_at,\x20metadata)\x0a\x09\x09\x09\x09\x09\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20\x27draft\x27,\x20?,\x20NULL,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?)')['run'](b,a['prefix'],a['name'],a['description']??null,a['industry']??null,e,a['labels']?JSON['stringify'](a['labels']):null,a['serviceAddress']??null,a['defaultAccount']??null,d,c,c,a['metadata']?JSON['stringify'](a['metadata']):null),await this['getProject'](b);});}async['updateProject'](a,b){return this['_dbLock']['run'](async()=>{if(!await this['getProject'](a))a84a('invalid\x20parameter','Project\x20not\x20found:\x20'+a);const c=Date['now'](),d=[],e=[];return b['name']!==void 0x0&&(d['push']('name\x20=\x20?'),e['push'](b['name'])),b['description']!==void 0x0&&(d['push']('description\x20=\x20?'),e['push'](b['description'])),b['industry']!==void 0x0&&(d['push']('industry\x20=\x20?'),e['push'](b['industry'])),b['perspective']!==void 0x0&&(d['push']('perspective\x20=\x20?'),e['push'](b['perspective'])),b['status']!==void 0x0&&(d['push']('status\x20=\x20?'),e['push'](b['status'])),b['labels']!==void 0x0&&(d['push']('labels\x20=\x20?'),e['push'](b['labels']?JSON['stringify'](b['labels']):null)),b['currentVersion']!==void 0x0&&(d['push']('current_version\x20=\x20?'),e['push'](b['currentVersion'])),b['serviceAddress']!==void 0x0&&(d['push']('service_address\x20=\x20?'),e['push'](b['serviceAddress'])),b['defaultAccount']!==void 0x0&&(d['push']('default_account\x20=\x20?'),e['push'](b['defaultAccount'])),b['metadata']!==void 0x0&&(d['push']('metadata\x20=\x20?'),e['push'](b['metadata']?JSON['stringify'](b['metadata']):null)),d['push']('updated_at\x20=\x20?'),e['push'](c),e['push'](a),this['db']['prepare']('UPDATE\x20projects\x20SET\x20'+d['join'](',\x20')+'\x20WHERE\x20id\x20=\x20?')['run'](...e),await this['getProject'](a);});}async['getProject'](a){const b=this['db']['prepare']('SELECT\x20*\x20FROM\x20projects\x20WHERE\x20id\x20=\x20?')['get'](a);return b?rowToProject(b):void 0x0;}async['getProjectByPrefix'](a){const b=this['db']['prepare']('SELECT\x20*\x20FROM\x20projects\x20WHERE\x20prefix\x20=\x20?')['get'](a);return b?rowToProject(b):void 0x0;}async['listProjects'](a){const b=[],c=[];a?.['status']&&(b['push']('status\x20=\x20?'),c['push'](a['status']));a?.['perspective']&&(b['push']('perspective\x20=\x20?'),c['push'](a['perspective']));a?.['network']&&(b['push']('network\x20=\x20?'),c['push'](a['network']));a?.['industry']&&(b['push']('industry\x20=\x20?'),c['push'](a['industry']));a?.['serviceAddress']&&(b['push']('service_address\x20=\x20?'),c['push'](a['serviceAddress']));let d='SELECT\x20*\x20FROM\x20projects';if(b['length']>0x0)d+='\x20WHERE\x20'+b['join']('\x20AND\x20');d+='\x20ORDER\x20BY\x20updated_at\x20DESC';let e=this['db']['prepare'](d)['all'](...c);if(a?.['labels']&&a['labels']['length']>0x0)e=e['filter'](f=>{const g=parseStringArray(f['labels']);if(!g)return![];return a['labels']['some'](h=>g['includes'](h));});return e['map'](rowToProject);}async['deleteProject'](a){return this['_dbLock']['run'](async()=>{this['db']['prepare']('DELETE\x20FROM\x20projects\x20WHERE\x20id\x20=\x20?')['run'](a);});}async['createVersion'](a,b,c,d){return this['_dbLock']['run'](async()=>{const e=generateId(),f=Date['now']();return this['db']['prepare']('INSERT\x20INTO\x20project_versions\x20(id,\x20project_id,\x20version,\x20description,\x20created_at,\x20metadata)\x0a\x09\x09\x09\x09\x09\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?,\x20?)')['run'](e,a,b,c??null,f,d?JSON['stringify'](d):null),this['db']['prepare']('UPDATE\x20projects\x20SET\x20current_version\x20=\x20?,\x20updated_at\x20=\x20?\x20WHERE\x20id\x20=\x20?')['run'](b,f,a),await this['getVersion'](e);});}async['getVersion'](a){const b=this['db']['prepare']('SELECT\x20*\x20FROM\x20project_versions\x20WHERE\x20id\x20=\x20?')['get'](a);return b?rowToVersion(b):void 0x0;}async['listVersions'](a){return this['db']['prepare']('SELECT\x20*\x20FROM\x20project_versions\x20WHERE\x20project_id\x20=\x20?\x20ORDER\x20BY\x20created_at\x20DESC')['all'](a)['map'](rowToVersion);}async['addObject'](a,b){return this['_dbLock']['run'](async()=>{const c=generateId(),d=Date['now'](),e=b['role']??'reference';return this['db']['prepare']('INSERT\x20INTO\x20project_objects\x20(id,\x20project_id,\x20object_address,\x20object_type,\x20object_name,\x20role,\x20tags,\x20added_at,\x20metadata)\x0a\x09\x09\x09\x09\x09\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?)')['run'](c,a,b['objectAddress'],b['objectType']??null,b['objectName']??null,e,b['tags']?JSON['stringify'](b['tags']):null,d,b['metadata']?JSON['stringify'](b['metadata']):null),await this['getObject'](c);});}async['addObjects'](a,b){const c=[];for(const d of b)c['push'](await this['addObject'](a,d));return c;}async['getObject'](a){const b=this['db']['prepare']('SELECT\x20*\x20FROM\x20project_objects\x20WHERE\x20id\x20=\x20?')['get'](a);return b?rowToProjectObject(b):void 0x0;}async['listObjects'](a,b){const c=['project_id\x20=\x20?'],d=[a];return b?.['objectType']&&(c['push']('object_type\x20=\x20?'),d['push'](b['objectType'])),b?.['role']&&(c['push']('role\x20=\x20?'),d['push'](b['role'])),this['db']['prepare']('SELECT\x20*\x20FROM\x20project_objects\x20WHERE\x20'+c['join']('\x20AND\x20')+'\x20ORDER\x20BY\x20added_at\x20DESC')['all'](...d)['map'](rowToProjectObject);}async['removeObject'](a){this['db']['prepare']('DELETE\x20FROM\x20project_objects\x20WHERE\x20id\x20=\x20?')['run'](a);}async['removeObjectByAddress'](a,b){this['db']['prepare']('DELETE\x20FROM\x20project_objects\x20WHERE\x20project_id\x20=\x20?\x20AND\x20object_address\x20=\x20?')['run'](a,b);}async['updateObject'](a,b){const c=[],d=[];b['objectName']!==void 0x0&&(c['push']('object_name\x20=\x20?'),d['push'](b['objectName']));b['objectType']!==void 0x0&&(c['push']('object_type\x20=\x20?'),d['push'](b['objectType']));b['role']!==void 0x0&&(c['push']('role\x20=\x20?'),d['push'](b['role']));b['tags']!==void 0x0&&(c['push']('tags\x20=\x20?'),d['push'](JSON['stringify'](b['tags'])));if(c['length']===0x0)throw new Error('No\x20fields\x20to\x20update');return d['push'](a),this['db']['prepare']('UPDATE\x20project_objects\x20SET\x20'+c['join'](',\x20')+'\x20WHERE\x20id\x20=\x20?')['run'](...d),await this['getObject'](a);}async['findObjectsByAddress'](a){return this['db']['prepare']('SELECT\x20*\x20FROM\x20project_objects\x20WHERE\x20object_address\x20=\x20?\x20ORDER\x20BY\x20added_at\x20DESC')['all'](a)['map'](rowToProjectObject);}async['cacheObject'](a,b,c,d){return this['_dbLock']['run'](async()=>{const e=Date['now'](),f=this['db']['prepare']('SELECT\x20*\x20FROM\x20object_cache\x20WHERE\x20address\x20=\x20?')['get'](a);if(f){const g=this['computeChangedFields'](f['data'],c);this['db']['prepare']('INSERT\x20INTO\x20object_cache_history\x20(id,\x20address,\x20object_type,\x20data,\x20fetched_at,\x20network,\x20changed_fields)\x0a\x09\x09\x09\x09\x09\x09\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?)')['run'](generateId(),a,f['object_type'],f['data'],f['fetched_at'],f['network'],g['length']>0x0?JSON['stringify'](g):null);}this['db']['prepare']('INSERT\x20INTO\x20object_cache\x20(address,\x20object_type,\x20data,\x20fetched_at,\x20network)\x0a\x09\x09\x09\x09\x09\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?)\x0a\x09\x09\x09\x09\x09\x20ON\x20CONFLICT(address)\x20DO\x20UPDATE\x20SET\x20object_type\x20=\x20excluded.object_type,\x0a\x09\x09\x09\x09\x09\x09data\x20=\x20excluded.data,\x20fetched_at\x20=\x20excluded.fetched_at,\x20network\x20=\x20excluded.network')['run'](a,b,c,e,d);});}async['getCachedObject'](a){const b=this['db']['prepare']('SELECT\x20*\x20FROM\x20object_cache\x20WHERE\x20address\x20=\x20?')['get'](a);if(!b)return void 0x0;return{'address':b['address'],'objectType':b['object_type'],'data':b['data'],'fetchedAt':b['fetched_at'],'network':b['network']};}async['getCachedObjects'](a){const b=new Map();if(a['length']===0x0)return b;const c=a['map'](()=>'?')['join'](','),d=this['db']['prepare']('SELECT\x20*\x20FROM\x20object_cache\x20WHERE\x20address\x20IN\x20('+c+')')['all'](...a);for(const e of d)b['set'](e['address'],{'address':e['address'],'objectType':e['object_type'],'data':e['data'],'fetchedAt':e['fetched_at'],'network':e['network']});return b;}async['deleteCachedObject'](a){this['db']['prepare']('DELETE\x20FROM\x20object_cache\x20WHERE\x20address\x20=\x20?')['run'](a);}async['getObjectDiff'](a,b,c){const d=this['db']['prepare']('SELECT\x20*\x20FROM\x20object_cache_history\x0a\x09\x09\x09\x09\x20WHERE\x20address\x20=\x20?\x20AND\x20fetched_at\x20BETWEEN\x20?\x20AND\x20?\x0a\x09\x09\x09\x09\x20ORDER\x20BY\x20fetched_at\x20ASC')['all'](a,b,c),e=await this['getCachedObject'](a);if(e&&e['fetchedAt']>=b&&e['fetchedAt']<=c)d['push']({'id':'current','address':e['address'],'object_type':e['objectType'],'data':e['data'],'fetched_at':e['fetchedAt'],'network':e['network'],'changed_fields':null});const f=[];if(d['length']>=0x2){const g=d[0x0],h=d[d['length']-0x1],i=this['computeDiff'](g['data'],h['data'],g['data'],h['data']);f['push'](...i);}return{'address':a,'fromTime':b,'toTime':c,'changedFields':f};}async['getObjectHistory'](a){return this['db']['prepare']('SELECT\x20*\x20FROM\x20object_cache_history\x20WHERE\x20address\x20=\x20?\x20ORDER\x20BY\x20fetched_at\x20DESC')['all'](a)['map'](b=>({'id':b['id'],'address':b['address'],'objectType':b['object_type'],'data':b['data'],'fetchedAt':b['fetched_at'],'network':b['network'],'changedFields':parseStringArray(b['changed_fields'])}));}['computeChangedFields'](a,b){try{const c=JSON['parse'](a),d=JSON['parse'](b),e=[];return this['collectChangedPaths'](c,d,'',e),e;}catch{return[];}}['collectChangedPaths'](a,b,c,d){if(typeof a!==typeof b){d['push'](c||'(root)');return;}if(typeof a!=='object'||a===null||b===null){if(a!==b)d['push'](c||'(root)');return;}const e=a,f=b,g=new Set([...Object['keys'](e),...Object['keys'](f)]);for(const h of g){const i=c?c+'.'+h:h;if(!(h in e))d['push'](i);else{if(!(h in f))d['push'](i);else this['collectChangedPaths'](e[h],f[h],i,d);}}}['computeDiff'](a,b,c,d){try{const e=JSON['parse'](a),f=JSON['parse'](b),g=[];return this['collectDiff'](e,f,'',g),g;}catch{return[];}}['collectDiff'](a,b,c,d){if(typeof a!==typeof b){d['push']({'fieldPath':c||'(root)','oldValue':a,'newValue':b,'changeType':'modified'});return;}if(typeof a!=='object'||a===null||b===null){if(a!==b)d['push']({'fieldPath':c||'(root)','oldValue':a,'newValue':b,'changeType':'modified'});return;}const e=a,f=b,g=new Set([...Object['keys'](e),...Object['keys'](f)]);for(const h of g){const i=c?c+'.'+h:h;if(!(h in e))d['push']({'fieldPath':i,'oldValue':void 0x0,'newValue':f[h],'changeType':'added'});else{if(!(h in f))d['push']({'fieldPath':i,'oldValue':e[h],'newValue':void 0x0,'changeType':'removed'});else this['collectDiff'](e[h],f[h],i,d);}}}async['saveGraphEdges'](a,b){return this['_dbLock']['run'](async()=>{const c=Date['now']();if(a)this['db']['prepare']('DELETE\x20FROM\x20graph_edges\x20WHERE\x20project_id\x20=\x20?')['run'](a);const d=this['db']['prepare']('INSERT\x20INTO\x20graph_edges\x20(id,\x20project_id,\x20source_object,\x20target_object,\x20edge_source,\x0a\x09\x09\x09\x09\x09relationship_type,\x20field_name,\x20depth,\x20verified,\x20weight,\x20direction,\x20metadata,\x20cached_at)\x0a\x09\x09\x09\x09\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?)');return this['db']['transaction'](e=>{for(const f of e){const g=generateId();d['run'](g,a??f['projectId']??null,f['sourceObject'],f['targetObject'],f['edgeSource'],f['relationshipType'],f['fieldName']??null,f['depth']??0x0,f['verified']?0x1:0x0,f['weight']??0.5,f['direction']??null,f['metadata']?JSON['stringify'](f['metadata']):null,c);}})(b),(a?this['db']['prepare']('SELECT\x20*\x20FROM\x20graph_edges\x20WHERE\x20project_id\x20=\x20?')['all'](a):this['db']['prepare']('SELECT\x20*\x20FROM\x20graph_edges\x20WHERE\x20project_id\x20IS\x20NULL')['all']())['map'](rowToGraphEdge);});}async['getGraph'](a){return(a?this['db']['prepare']('SELECT\x20*\x20FROM\x20graph_edges\x20WHERE\x20project_id\x20=\x20?')['all'](a):this['db']['prepare']('SELECT\x20*\x20FROM\x20graph_edges')['all']())['map'](rowToGraphEdge);}async['getGraphForObject'](a){return this['db']['prepare']('SELECT\x20*\x20FROM\x20graph_edges\x20WHERE\x20source_object\x20=\x20?\x20OR\x20target_object\x20=\x20?')['all'](a,a)['map'](rowToGraphEdge);}async['clearGraph'](a){if(a)this['db']['prepare']('DELETE\x20FROM\x20graph_edges\x20WHERE\x20project_id\x20=\x20?')['run'](a);else this['db']['exec']('DELETE\x20FROM\x20graph_edges');}async['saveEvaluation'](a){return this['_dbLock']['run'](async()=>{const b=generateId(),c=Date['now']();return this['db']['prepare']('INSERT\x20INTO\x20evaluations\x20(id,\x20project_id,\x20eval_type,\x20score,\x20summary,\x20details,\x20evaluated_at,\x20metadata)\x0a\x09\x09\x09\x09\x09\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?)')['run'](b,a['projectId'],a['evalType'],a['score']??null,a['summary']??null,a['details']?JSON['stringify'](a['details']):null,c,a['metadata']?JSON['stringify'](a['metadata']):null),await this['getEvaluation'](b);});}async['getEvaluation'](a){const b=this['db']['prepare']('SELECT\x20*\x20FROM\x20evaluations\x20WHERE\x20id\x20=\x20?')['get'](a);return b?rowToEvaluation(b):void 0x0;}async['listEvaluations'](a,b){const c=['project_id\x20=\x20?'],d=[a];return b?.['evalType']&&(c['push']('eval_type\x20=\x20?'),d['push'](b['evalType'])),this['db']['prepare']('SELECT\x20*\x20FROM\x20evaluations\x20WHERE\x20'+c['join']('\x20AND\x20')+'\x20ORDER\x20BY\x20evaluated_at\x20DESC')['all'](...d)['map'](rowToEvaluation);}async['getLatestEvaluation'](a,b){const c=this['db']['prepare']('SELECT\x20*\x20FROM\x20evaluations\x20WHERE\x20project_id\x20=\x20?\x20AND\x20eval_type\x20=\x20?\x0a\x09\x09\x09\x09\x20ORDER\x20BY\x20evaluated_at\x20DESC\x20LIMIT\x201')['get'](a,b);return c?rowToEvaluation(c):void 0x0;}async['saveDocument'](a,b,c,d='deployment'){return this['_dbLock']['run'](async()=>{const e=generateId(),f=Date['now'](),g=this['computeChecksum'](c),h=this['db']['prepare']('SELECT\x20id\x20FROM\x20project_documents\x20WHERE\x20project_id\x20=\x20?\x20AND\x20network\x20=\x20?\x20AND\x20doc_type\x20=\x20?')['get'](a,b,d);if(h)return this['db']['prepare']('UPDATE\x20project_documents\x20SET\x20content\x20=\x20?,\x20checksum\x20=\x20?,\x20updated_at\x20=\x20?\x20WHERE\x20id\x20=\x20?')['run'](c,g,f,h['id']),this['getDocument'](a,b,d);return this['db']['prepare']('INSERT\x20INTO\x20project_documents\x20(id,\x20project_id,\x20network,\x20doc_type,\x20content,\x20checksum,\x20generated_at,\x20updated_at)\x0a\x09\x09\x09\x09\x09\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?)')['run'](e,a,b,d,c,g,f,f),this['getDocument'](a,b,d);});}async['getDocument'](a,b,c='deployment'){const d=this['db']['prepare']('SELECT\x20*\x20FROM\x20project_documents\x20WHERE\x20project_id\x20=\x20?\x20AND\x20network\x20=\x20?\x20AND\x20doc_type\x20=\x20?')['get'](a,b,c);return d?rowToProjectDocument(d):void 0x0;}async['listDocuments'](a){return this['db']['prepare']('SELECT\x20*\x20FROM\x20project_documents\x20WHERE\x20project_id\x20=\x20?\x20ORDER\x20BY\x20updated_at\x20DESC')['all'](a)['map'](rowToProjectDocument);}async['deleteDocument'](a,b,c='deployment'){return this['_dbLock']['run'](async()=>{return this['db']['prepare']('DELETE\x20FROM\x20project_documents\x20WHERE\x20project_id\x20=\x20?\x20AND\x20network\x20=\x20?\x20AND\x20doc_type\x20=\x20?')['run'](a,b,c)['changes']>0x0;});}['computeChecksum'](a){let b=0x0;for(let c=0x0;c<a['length'];c++){const d=a['charCodeAt'](c);b=(b<<0x5)-b+d,b=b&b;}return b['toString'](0x10);}static['resetDbConnection'](){if(projectDbInstance){try{projectDbInstance['close']();}catch{}projectDbInstance=null;}}};process['on']('exit',()=>{LocalProject['resetDbConnection']();}),process['on']('SIGINT',()=>{LocalProject['resetDbConnection'](),process['exit'](0x0);}),process['on']('SIGTERM',()=>{LocalProject['resetDbConnection'](),process['exit'](0x0);});export{LocalProject};
@@ -1,2 +1,2 @@
1
- import { a as SecureEnvelope, i as SecureAccountStorage, n as EncryptionMode, r as KeyMetadata, t as CryptoVault } from "../../secure-storage-DFF-RQn-.mjs";
1
+ import { a as SecureEnvelope, i as SecureAccountStorage, n as EncryptionMode, r as KeyMetadata, t as CryptoVault } from "../../secure-storage-CHe7jmEz.mjs";
2
2
  export { CryptoVault, EncryptionMode, KeyMetadata, SecureAccountStorage, SecureEnvelope };
@@ -1,2 +1,2 @@
1
- import { a as SQLiteStorage, c as defaultStorage, d as resetAllStorage, i as SQLiteAccountStorage, l as getAccountDb, n as IStorage, o as clearKeyMetadata, r as KEY_METADATA_TABLE, s as defaultAccountStorage, t as IAccountStorage, u as resetAllDbConnections } from "../../storage-D6ZEdlgz.mjs";
1
+ import { a as SQLiteStorage, c as defaultStorage, d as resetAllStorage, i as SQLiteAccountStorage, l as getAccountDb, n as IStorage, o as clearKeyMetadata, r as KEY_METADATA_TABLE, s as defaultAccountStorage, t as IAccountStorage, u as resetAllDbConnections } from "../../storage-BegHqtD4.mjs";
2
2
  export { IAccountStorage, IStorage, KEY_METADATA_TABLE, SQLiteAccountStorage, SQLiteStorage, clearKeyMetadata, defaultAccountStorage, defaultStorage, getAccountDb, resetAllDbConnections, resetAllStorage };
@@ -1 +1 @@
1
- import{getWowDir}from'./util.mjs';import{t as a86a}from'../../lock-QdrQzo0u.mjs';import a86b from'libsql';import*as a86c from'path';import*as a86d from'fs';const WOW_DIR=getWowDir(),CACHE_DB_PATH=a86c['join'](WOW_DIR,'cache.db'),ACCOUNT_DB_PATH=a86c['join'](WOW_DIR,'account.db');function ensureWowDirExists(){if(!a86d['existsSync'](WOW_DIR))a86d['mkdirSync'](WOW_DIR,{'recursive':!![]});}ensureWowDirExists();function getCacheDatabase(){ensureWowDirExists();const a=new a86b(CACHE_DB_PATH);return a['pragma']('journal_mode\x20=\x20WAL'),a['pragma']('synchronous\x20=\x20NORMAL'),a['exec']('\x0a\x09\x09CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20cache\x20(\x0a\x09\x09\x09key\x20TEXT\x20PRIMARY\x20KEY,\x0a\x09\x09\x09value\x20TEXT\x20NOT\x20NULL,\x0a\x09\x09\x09updated_at\x20INTEGER\x20DEFAULT\x20(strftime(\x27%s\x27,\x20\x27now\x27))\x0a\x09\x09);\x0a\x09'),a;}let cacheDbInstance=null;new a86a();function getCacheDb(){if(cacheDbInstance)return cacheDbInstance;if(!cacheDbInstance)cacheDbInstance=getCacheDatabase();return cacheDbInstance;}function getAccountDatabase(){ensureWowDirExists();const a=new a86b(ACCOUNT_DB_PATH);a['pragma']('journal_mode\x20=\x20WAL'),a['pragma']('synchronous\x20=\x20NORMAL');try{a86d['chmodSync'](ACCOUNT_DB_PATH,0x180);}catch{}return a['exec']('\x0a\x09\x09CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20accounts\x20(\x0a\x09\x09\x09id\x20INTEGER\x20PRIMARY\x20KEY\x20CHECK\x20(id\x20=\x201),\x0a\x09\x09\x09data\x20TEXT\x20NOT\x20NULL,\x0a\x09\x09\x09updated_at\x20INTEGER\x20DEFAULT\x20(strftime(\x27%s\x27,\x20\x27now\x27))\x0a\x09\x09);\x0a\x09'),a;}let accountDbInstance=null;new a86a();function getAccountDb(){if(accountDbInstance)return accountDbInstance;if(!accountDbInstance)accountDbInstance=getAccountDatabase();return accountDbInstance;}const KEY_METADATA_TABLE='key_metadata';var SQLiteStorage=class{constructor(a){this['_dbSource']=a;}get['db'](){if(this['_dbSource'])return this['_dbSource'];if(!this['_db'])this['_db']=getCacheDb();return this['_db'];}async['get'](a){return this['db']['prepare']('SELECT\x20value\x20FROM\x20cache\x20WHERE\x20key\x20=\x20?')['get'](a)?.['value'];}async['getMany'](a){const b=a['map'](()=>'?')['join'](','),c=this['db']['prepare']('SELECT\x20key,\x20value\x20FROM\x20cache\x20WHERE\x20key\x20IN\x20('+b+')')['all'](...a),d=new Map(c['map'](e=>[e['key'],e['value']]));return a['map'](e=>d['get'](e));}async['put'](a,b){this['db']['prepare']('\x0a\x09\x09\x09INSERT\x20INTO\x20cache\x20(key,\x20value,\x20updated_at)\x20\x0a\x09\x09\x09VALUES\x20(?,\x20?,\x20strftime(\x27%s\x27,\x20\x27now\x27))\x0a\x09\x09\x09ON\x20CONFLICT(key)\x20DO\x20UPDATE\x20SET\x20value\x20=\x20excluded.value,\x20updated_at\x20=\x20excluded.updated_at\x0a\x09\x09')['run'](a,b);}async['putMany'](a){const b=this['db']['prepare']('\x0a\x09\x09\x09INSERT\x20INTO\x20cache\x20(key,\x20value,\x20updated_at)\x20\x0a\x09\x09\x09VALUES\x20(?,\x20?,\x20strftime(\x27%s\x27,\x20\x27now\x27))\x0a\x09\x09\x09ON\x20CONFLICT(key)\x20DO\x20UPDATE\x20SET\x20value\x20=\x20excluded.value,\x20updated_at\x20=\x20excluded.updated_at\x0a\x09\x09');this['db']['transaction'](c=>{for(const d of c)b['run'](d['key'],d['value']);})(a);}async['del'](a){this['db']['prepare']('DELETE\x20FROM\x20cache\x20WHERE\x20key\x20=\x20?')['run'](a);}async['clear'](){this['db']['exec']('DELETE\x20FROM\x20cache');}},SQLiteAccountStorage=class{constructor(a,b='accounts'){this['_tableName']=b,this['_tableInitialized']=![],this['_dbSource']=a;}get['db'](){if(this['_dbSource'])return this['_dbSource'];if(!this['_db'])this['_db']=getAccountDb();return!this['_tableInitialized']&&this['_tableName']!=='accounts'&&(this['_db']['exec']('\x0a\x09\x09\x09\x09CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20'+this['_tableName']+'\x20(\x0a\x09\x09\x09\x09\x09id\x20INTEGER\x20PRIMARY\x20KEY\x20CHECK\x20(id\x20=\x201),\x0a\x09\x09\x09\x09\x09data\x20TEXT\x20NOT\x20NULL,\x0a\x09\x09\x09\x09\x09updated_at\x20INTEGER\x20DEFAULT\x20(strftime(\x27%s\x27,\x20\x27now\x27))\x0a\x09\x09\x09\x09);\x0a\x09\x09\x09'),this['_tableInitialized']=!![]),this['_db'];}async['get'](){return this['db']['prepare']('SELECT\x20data\x20FROM\x20'+this['_tableName']+'\x20WHERE\x20id\x20=\x201')['get']()?.['data'];}async['put'](a){this['db']['prepare']('\x0a\x09\x09\x09INSERT\x20INTO\x20'+this['_tableName']+'\x20(id,\x20data,\x20updated_at)\x20\x0a\x09\x09\x09VALUES\x20(1,\x20?,\x20strftime(\x27%s\x27,\x20\x27now\x27))\x0a\x09\x09\x09ON\x20CONFLICT(id)\x20DO\x20UPDATE\x20SET\x20data\x20=\x20excluded.data,\x20updated_at\x20=\x20excluded.updated_at\x0a\x09\x09')['run'](a);}async['clear'](){this['db']['exec']('DELETE\x20FROM\x20'+this['_tableName']);}};function resetAllDbConnections(){if(cacheDbInstance){try{cacheDbInstance['close']();}catch(a){}cacheDbInstance=null;}if(accountDbInstance){try{accountDbInstance['close']();}catch(b){}accountDbInstance=null;}}process['on']('exit',()=>{resetAllDbConnections();}),process['on']('SIGINT',()=>{resetAllDbConnections(),process['exit'](0x0);}),process['on']('SIGTERM',()=>{resetAllDbConnections(),process['exit'](0x0);});function clearKeyMetadata(){try{getAccountDb()['exec']('DELETE\x20FROM\x20'+KEY_METADATA_TABLE);}catch{}}function resetAllStorage(){clearKeyMetadata(),resetAllDbConnections();}const defaultStorage=new SQLiteStorage(),defaultAccountStorage=new SQLiteAccountStorage();export{KEY_METADATA_TABLE,SQLiteAccountStorage,SQLiteStorage,clearKeyMetadata,defaultAccountStorage,defaultStorage,getAccountDb,resetAllDbConnections,resetAllStorage};
1
+ import{getWowDir}from'./util.mjs';import{t as a86a}from'../../lock-QdrQzo0u.mjs';import a86b from'libsql';import*as a86c from'path';import*as a86d from'fs';const WOW_DIR=getWowDir(),CACHE_DB_PATH=a86c['join'](WOW_DIR,'cache.db'),ACCOUNT_DB_PATH=a86c['join'](WOW_DIR,'account.db');function ensureWowDirExists(){if(!a86d['existsSync'](WOW_DIR))a86d['mkdirSync'](WOW_DIR,{'recursive':!![]});}ensureWowDirExists();function getCacheDatabase(){ensureWowDirExists();const a=new a86b(CACHE_DB_PATH);return a['pragma']('journal_mode\x20=\x20WAL'),a['pragma']('synchronous\x20=\x20NORMAL'),a['pragma']('busy_timeout\x20=\x205000'),a['exec']('\x0a\x09\x09CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20cache\x20(\x0a\x09\x09\x09key\x20TEXT\x20PRIMARY\x20KEY,\x0a\x09\x09\x09value\x20TEXT\x20NOT\x20NULL,\x0a\x09\x09\x09updated_at\x20INTEGER\x20DEFAULT\x20(strftime(\x27%s\x27,\x20\x27now\x27))\x0a\x09\x09);\x0a\x09'),a;}let cacheDbInstance=null;new a86a();function getCacheDb(){if(cacheDbInstance)return cacheDbInstance;if(!cacheDbInstance)cacheDbInstance=getCacheDatabase();return cacheDbInstance;}function getAccountDatabase(){ensureWowDirExists();const a=new a86b(ACCOUNT_DB_PATH);a['pragma']('journal_mode\x20=\x20WAL'),a['pragma']('synchronous\x20=\x20NORMAL'),a['pragma']('busy_timeout\x20=\x205000');try{a86d['chmodSync'](ACCOUNT_DB_PATH,0x180);}catch{}return a['exec']('\x0a\x09\x09CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20accounts\x20(\x0a\x09\x09\x09id\x20INTEGER\x20PRIMARY\x20KEY\x20CHECK\x20(id\x20=\x201),\x0a\x09\x09\x09data\x20TEXT\x20NOT\x20NULL,\x0a\x09\x09\x09updated_at\x20INTEGER\x20DEFAULT\x20(strftime(\x27%s\x27,\x20\x27now\x27))\x0a\x09\x09);\x0a\x09'),a;}let accountDbInstance=null;new a86a();function getAccountDb(){if(accountDbInstance)return accountDbInstance;if(!accountDbInstance)accountDbInstance=getAccountDatabase();return accountDbInstance;}const KEY_METADATA_TABLE='key_metadata';var SQLiteStorage=class{constructor(a){this['_dbSource']=a;}get['db'](){if(this['_dbSource'])return this['_dbSource'];if(!this['_db'])this['_db']=getCacheDb();return this['_db'];}async['get'](a){return this['db']['prepare']('SELECT\x20value\x20FROM\x20cache\x20WHERE\x20key\x20=\x20?')['get'](a)?.['value'];}async['getMany'](a){const b=a['map'](()=>'?')['join'](','),c=this['db']['prepare']('SELECT\x20key,\x20value\x20FROM\x20cache\x20WHERE\x20key\x20IN\x20('+b+')')['all'](...a),d=new Map(c['map'](e=>[e['key'],e['value']]));return a['map'](e=>d['get'](e));}async['put'](a,b){this['db']['prepare']('\x0a\x09\x09\x09INSERT\x20INTO\x20cache\x20(key,\x20value,\x20updated_at)\x20\x0a\x09\x09\x09VALUES\x20(?,\x20?,\x20strftime(\x27%s\x27,\x20\x27now\x27))\x0a\x09\x09\x09ON\x20CONFLICT(key)\x20DO\x20UPDATE\x20SET\x20value\x20=\x20excluded.value,\x20updated_at\x20=\x20excluded.updated_at\x0a\x09\x09')['run'](a,b);}async['putMany'](a){const b=this['db']['prepare']('\x0a\x09\x09\x09INSERT\x20INTO\x20cache\x20(key,\x20value,\x20updated_at)\x20\x0a\x09\x09\x09VALUES\x20(?,\x20?,\x20strftime(\x27%s\x27,\x20\x27now\x27))\x0a\x09\x09\x09ON\x20CONFLICT(key)\x20DO\x20UPDATE\x20SET\x20value\x20=\x20excluded.value,\x20updated_at\x20=\x20excluded.updated_at\x0a\x09\x09');this['db']['transaction'](c=>{for(const d of c)b['run'](d['key'],d['value']);})(a);}async['del'](a){this['db']['prepare']('DELETE\x20FROM\x20cache\x20WHERE\x20key\x20=\x20?')['run'](a);}async['clear'](){this['db']['exec']('DELETE\x20FROM\x20cache');}},SQLiteAccountStorage=class{constructor(a,b='accounts'){this['_tableName']=b,this['_tableInitialized']=![],this['_dbSource']=a;}get['db'](){if(this['_dbSource'])return this['_dbSource'];if(!this['_db'])this['_db']=getAccountDb();return!this['_tableInitialized']&&this['_tableName']!=='accounts'&&(this['_db']['exec']('\x0a\x09\x09\x09\x09CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20'+this['_tableName']+'\x20(\x0a\x09\x09\x09\x09\x09id\x20INTEGER\x20PRIMARY\x20KEY\x20CHECK\x20(id\x20=\x201),\x0a\x09\x09\x09\x09\x09data\x20TEXT\x20NOT\x20NULL,\x0a\x09\x09\x09\x09\x09updated_at\x20INTEGER\x20DEFAULT\x20(strftime(\x27%s\x27,\x20\x27now\x27))\x0a\x09\x09\x09\x09);\x0a\x09\x09\x09'),this['_tableInitialized']=!![]),this['_db'];}async['get'](){return this['db']['prepare']('SELECT\x20data\x20FROM\x20'+this['_tableName']+'\x20WHERE\x20id\x20=\x201')['get']()?.['data'];}async['put'](a){this['db']['prepare']('\x0a\x09\x09\x09INSERT\x20INTO\x20'+this['_tableName']+'\x20(id,\x20data,\x20updated_at)\x20\x0a\x09\x09\x09VALUES\x20(1,\x20?,\x20strftime(\x27%s\x27,\x20\x27now\x27))\x0a\x09\x09\x09ON\x20CONFLICT(id)\x20DO\x20UPDATE\x20SET\x20data\x20=\x20excluded.data,\x20updated_at\x20=\x20excluded.updated_at\x0a\x09\x09')['run'](a);}async['clear'](){this['db']['exec']('DELETE\x20FROM\x20'+this['_tableName']);}};function resetAllDbConnections(){if(cacheDbInstance){try{cacheDbInstance['close']();}catch(a){}cacheDbInstance=null;}if(accountDbInstance){try{accountDbInstance['close']();}catch(b){}accountDbInstance=null;}}process['on']('exit',()=>{resetAllDbConnections();}),process['on']('SIGINT',()=>{resetAllDbConnections(),process['exit'](0x0);}),process['on']('SIGTERM',()=>{resetAllDbConnections(),process['exit'](0x0);});function clearKeyMetadata(){try{getAccountDb()['exec']('DELETE\x20FROM\x20'+KEY_METADATA_TABLE);}catch{}}function resetAllStorage(){clearKeyMetadata(),resetAllDbConnections();}const defaultStorage=new SQLiteStorage(),defaultAccountStorage=new SQLiteAccountStorage();export{KEY_METADATA_TABLE,SQLiteAccountStorage,SQLiteStorage,clearKeyMetadata,defaultAccountStorage,defaultStorage,getAccountDb,resetAllDbConnections,resetAllStorage};
@@ -1,2 +1,2 @@
1
- import { Ay as TokenInfo, jy as TokenTypeInfo, ky as TokenDataFilter } from "../../index-CXN4AMVV.mjs";
1
+ import { My as TokenInfo, Ny as TokenTypeInfo, jy as TokenDataFilter } from "../../index-CiEBi_Uf.mjs";
2
2
  export { TokenDataFilter, TokenInfo, TokenTypeInfo };
@@ -1 +1 @@
1
- import{t as a87a}from'../../client-Jb2DzzQN.mjs';import{n as a87b}from'../../network-CeDd07Hg.mjs';import'../../common-asa9BxDq.mjs';import{o as a87c}from'../../exception-0GqTGX2P.mjs';import{t as a87d}from'../../lock-QdrQzo0u.mjs';import{Cache}from'./cache.mjs';import{Config}from'./config.mjs';var TokenInfo=class TokenInfo{constructor(){this['cacheKey']=['token'];}static{this['_instanceLock']=new a87d();}static['Instance'](){if(TokenInfo['_instance'])return TokenInfo['_instance'];if(!TokenInfo['_instance'])TokenInfo['_instance']=new TokenInfo();return TokenInfo['_instance'];}async['fetch_imp'](a,b,c){const d=await new a87a({'url':a87b(a),'network':a})['getCoinMetadata']({'coinType':b});if(d)return{'alias':c,'type':b,...d};}async['fetch'](a,b,c){a=a??'0x2::wow::WOW';const d=await Config['Instance']()['network_get'](c),e=await Cache['read']([...this['cacheKey'],d],async g=>{return{'expire':'INFINITE','data':[]};});let f=e?.['data']?.['find'](g=>g['type']===a);if(!f){f=await this['fetch_imp'](d,a,b);if(!f){a87c('token\x20not\x20found','token\x20type:\x20'+a);return;}const g=[...e?.['data']||[],f];await Cache['read']([...this['cacheKey'],d],async h=>({'expire':'INFINITE','data':g}),!![]);}else{if(b&&f['alias']!==b){f['alias']=b;const h=e?.['data']?.['map'](i=>i['type']===a?f:i)||[];await Cache['read']([...this['cacheKey'],d],async i=>({'expire':'INFINITE','data':h}),!![]);}}return f;}async['list'](a,b){const c=await Config['Instance']()['network_get'](b);let d=await Cache['read']([...this['cacheKey'],c],async h=>{return{'expire':'INFINITE','data':[]};}),e=d?.['data']||[];const f=a?.['type']??'0x2::wow::WOW',g=a?.['type']?a?.['alias_or_name']:void 0x0;if(!e['find'](h=>h['type']===f)){const h=await this['fetch_imp'](c,f,g);if(h){const i=[...e,h];await Cache['read']([...this['cacheKey'],c],async j=>({'expire':'INFINITE','data':i}),!![]),d=await Cache['read']([...this['cacheKey'],c],async j=>({'expire':'INFINITE','data':i})),e=d?.['data']||[];}}if(a){e=e['filter'](j=>{let k=!![];if(a['symbol']&&k)k=j['symbol']===a['symbol'];if(a['type']&&k)k=j['type']===f;return k;});if(a['alias_or_name']){const j=a['alias_or_name']['toLowerCase']();e=e['map'](k=>{let l=0x0;const m=k['alias']?.['toLowerCase']()||'',n=k['name']?.['toLowerCase']()||'';if(m===j||n===j)l=0x3;else{if(m['startsWith'](j)||n['startsWith'](j))l=0x2;else{if(m['includes'](j)||n['includes'](j))l=0x1;}}return{...k,'_score':l};}),e=e['filter'](k=>k['_score']>0x0)['sort']((k,l)=>{const m=l['_score']-k['_score'];if(m!==0x0)return m;return(k['alias']?.['length']||0x0)+(k['name']?.['length']||0x0)-((l['alias']?.['length']||0x0)+(l['name']?.['length']||0x0));}),e=e['map'](k=>{const {_score:l,...m}=k;return m;});}}return e;}};export{TokenInfo};
1
+ import{t as a87a}from'../../client-4RLOGmzt.mjs';import{n as a87b}from'../../network-CeDd07Hg.mjs';import'../../common-asa9BxDq.mjs';import{o as a87c}from'../../exception-0GqTGX2P.mjs';import{t as a87d}from'../../lock-QdrQzo0u.mjs';import{Cache}from'./cache.mjs';import{Config}from'./config.mjs';var TokenInfo=class TokenInfo{constructor(){this['cacheKey']=['token'];}static{this['_instanceLock']=new a87d();}static['Instance'](){if(TokenInfo['_instance'])return TokenInfo['_instance'];if(!TokenInfo['_instance'])TokenInfo['_instance']=new TokenInfo();return TokenInfo['_instance'];}async['fetch_imp'](a,b,c){const d=await new a87a({'url':a87b(a),'network':a})['getCoinMetadata']({'coinType':b});if(d)return{'alias':c,'type':b,...d};}async['fetch'](a,b,c){a=a??'0x2::wow::WOW';const d=await Config['Instance']()['network_get'](c),e=await Cache['read']([...this['cacheKey'],d],async g=>{return{'expire':'INFINITE','data':[]};});let f=e?.['data']?.['find'](g=>g['type']===a);if(!f){f=await this['fetch_imp'](d,a,b);if(!f){a87c('token\x20not\x20found','token\x20type:\x20'+a);return;}const g=[...e?.['data']||[],f];await Cache['read']([...this['cacheKey'],d],async h=>({'expire':'INFINITE','data':g}),!![]);}else{if(b&&f['alias']!==b){f['alias']=b;const h=e?.['data']?.['map'](i=>i['type']===a?f:i)||[];await Cache['read']([...this['cacheKey'],d],async i=>({'expire':'INFINITE','data':h}),!![]);}}return f;}async['list'](a,b){const c=await Config['Instance']()['network_get'](b);let d=await Cache['read']([...this['cacheKey'],c],async h=>{return{'expire':'INFINITE','data':[]};}),e=d?.['data']||[];const f=a?.['type']??'0x2::wow::WOW',g=a?.['type']?a?.['alias_or_name']:void 0x0;if(!e['find'](h=>h['type']===f)){const h=await this['fetch_imp'](c,f,g);if(h){const i=[...e,h];await Cache['read']([...this['cacheKey'],c],async j=>({'expire':'INFINITE','data':i}),!![]),d=await Cache['read']([...this['cacheKey'],c],async j=>({'expire':'INFINITE','data':i})),e=d?.['data']||[];}}if(a){e=e['filter'](j=>{let k=!![];if(a['symbol']&&k)k=j['symbol']===a['symbol'];if(a['type']&&k)k=j['type']===f;return k;});if(a['alias_or_name']){const j=a['alias_or_name']['toLowerCase']();e=e['map'](k=>{let l=0x0;const m=k['alias']?.['toLowerCase']()||'',n=k['name']?.['toLowerCase']()||'';if(m===j||n===j)l=0x3;else{if(m['startsWith'](j)||n['startsWith'](j))l=0x2;else{if(m['includes'](j)||n['includes'](j))l=0x1;}}return{...k,'_score':l};}),e=e['filter'](k=>k['_score']>0x0)['sort']((k,l)=>{const m=l['_score']-k['_score'];if(m!==0x0)return m;return(k['alias']?.['length']||0x0)+(k['name']?.['length']||0x0)-((l['alias']?.['length']||0x0)+(l['name']?.['length']||0x0));}),e=e['map'](k=>{const {_score:l,...m}=k;return m;});}}return e;}};export{TokenInfo};
@@ -170,14 +170,11 @@ interface MessageVerificationParams {
170
170
  /** Merkle 元数据(可选,如果提供则验证 Merkle) */
171
171
  merkleMetadata?: {
172
172
  prevRoot?: string;
173
- newRoot: string;
174
- /** 服务器时间戳(优先使用 timestamp 字段,兼容 serverTimestamp) */
173
+ newRoot: string; /** 服务器时间戳(优先使用 timestamp 字段,兼容 serverTimestamp) */
175
174
  timestamp?: number;
176
175
  serverTimestamp?: number;
177
- leafIndex: number;
178
- /** Merkle proof siblings(服务器拉取消息时不返回) */
179
- proofSiblings?: string[];
180
- /** Merkle proof indices(服务器拉取消息时不返回) */
176
+ leafIndex: number; /** Merkle proof siblings(服务器拉取消息时不返回) */
177
+ proofSiblings?: string[]; /** Merkle proof indices(服务器拉取消息时不返回) */
181
178
  proofIndices?: number[];
182
179
  };
183
180
  }
@@ -1,2 +1,2 @@
1
- import { $n as wts2html, An as GuardParam, Bn as getMessengerManager, Br as MessageType, Ci as WTS_MAX_MESSAGE_COUNT, Di as WtsGenerationParams, Dn as BlacklistResponse, Ei as WtsFileResult, En as BlacklistRequest, Fn as blacklist, Fr as MessageFilter, Gn as pull_messages, Hn as mark_conversation_as_viewed, Hr as MessengerError, In as extractZipFromPlaintext, Jn as settings, Kn as send_file, Ln as extract_zip_messages, Lr as MessageListResult, Mn as GuardlistResponse, Mr as Message, Nn as SettingsRequest, Nr as MessageContentType, On as FriendslistRequest, Pn as SettingsResponse, Pr as MessageDirection, Qn as watch_messages, Rn as friendslist, Rr as MessageStatus, Si as WTS_FILE_BYTES_LIMIT, Un as mark_messages_as_viewed, Ur as MessengerErrorCode, Vn as guardlist, Vr as MessengerConfig, Wn as proof_message, Wr as NORMAL_MESSAGE_BYTES_LIMIT, Xn as verify_wts, Yn as sign_wts, Zn as watch_conversations, _r as DEFAULT_QUERY_LIMIT, er as MessengerManager, gr as DEFAULT_MESSENGER_CONFIG, jn as GuardlistRequest, kn as FriendslistResponse, kr as MAX_QUERY_LIMIT, mr as ConversationsFilter, ni as SendMessageResult, pr as ConversationInfo, qn as send_message, tr as Messenger, vr as DecryptedMessage, zn as generate_wts } from "../../index-CXN4AMVV.mjs";
1
+ import { $n as wts2html, An as GuardParam, Bn as getMessengerManager, Br as MessageType, Ci as WTS_MAX_MESSAGE_COUNT, Di as WtsGenerationParams, Dn as BlacklistResponse, Ei as WtsFileResult, En as BlacklistRequest, Fn as blacklist, Fr as MessageFilter, Gn as pull_messages, Hn as mark_conversation_as_viewed, Hr as MessengerError, In as extractZipFromPlaintext, Jn as settings, Kn as send_file, Ln as extract_zip_messages, Lr as MessageListResult, Mn as GuardlistResponse, Mr as Message, Nn as SettingsRequest, Nr as MessageContentType, On as FriendslistRequest, Pn as SettingsResponse, Pr as MessageDirection, Qn as watch_messages, Rn as friendslist, Rr as MessageStatus, Si as WTS_FILE_BYTES_LIMIT, Un as mark_messages_as_viewed, Ur as MessengerErrorCode, Vn as guardlist, Vr as MessengerConfig, Wn as proof_message, Wr as NORMAL_MESSAGE_BYTES_LIMIT, Xn as verify_wts, Yn as sign_wts, Zn as watch_conversations, _r as DEFAULT_QUERY_LIMIT, er as MessengerManager, gr as DEFAULT_MESSENGER_CONFIG, jn as GuardlistRequest, kn as FriendslistResponse, kr as MAX_QUERY_LIMIT, mr as ConversationsFilter, ni as SendMessageResult, pr as ConversationInfo, qn as send_message, tr as Messenger, vr as DecryptedMessage, zn as generate_wts } from "../../index-CiEBi_Uf.mjs";
2
2
  export { BlacklistRequest, BlacklistResponse, type ConversationInfo, type ConversationsFilter, DEFAULT_MESSENGER_CONFIG, DEFAULT_QUERY_LIMIT, type DecryptedMessage, FriendslistRequest, FriendslistResponse, GuardParam, GuardlistRequest, GuardlistResponse, MAX_QUERY_LIMIT, type Message, type MessageContentType, MessageDirection, type MessageFilter, type MessageListResult, MessageStatus, MessageType, Messenger, type MessengerConfig, MessengerError, MessengerErrorCode, MessengerManager, NORMAL_MESSAGE_BYTES_LIMIT, type SendMessageResult, SettingsRequest, SettingsResponse, WTS_FILE_BYTES_LIMIT, WTS_MAX_MESSAGE_COUNT, type WtsFileResult, type WtsGenerationParams, blacklist, extractZipFromPlaintext, extract_zip_messages, friendslist, generate_wts, getMessengerManager, guardlist, mark_conversation_as_viewed, mark_messages_as_viewed, proof_message, pull_messages, send_file, send_message, settings, sign_wts, verify_wts, watch_conversations, watch_messages, wts2html };
@@ -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 a91a}from'../../messenger-BBo7c4o_.mjs';import{_ as a91b,a as a91c,b as a91d,c as a91e,d as a91f,f as a91g,g as a91h,h as a91i,i as a91j,l as a91k,m as a91l,n as a91m,o as a91n,p as a91o,r as a91p,s as a91q,t as a91r,u as a91s,v as a91t,y as a91u}from'../../messenger-api-xT1DE3pm.mjs';export{DEFAULT_MESSENGER_CONFIG,DEFAULT_QUERY_LIMIT,MAX_QUERY_LIMIT,MessageDirection,MessageStatus,MessageType,a91a as Messenger,MessengerError,MessengerErrorCode,a91d as MessengerManager,NORMAL_MESSAGE_BYTES_LIMIT,WTS_FILE_BYTES_LIMIT,WTS_MAX_MESSAGE_COUNT,a91r as blacklist,a91m as extractZipFromPlaintext,a91p as extract_zip_messages,a91j as friendslist,a91c as generate_wts,a91n as getMessengerManager,a91q as guardlist,a91e as mark_conversation_as_viewed,a91k as mark_messages_as_viewed,a91s as proof_message,a91f as pull_messages,a91g as send_file,a91o as send_message,a91l as settings,a91i as sign_wts,a91h as verify_wts,a91b as watch_conversations,a91t as watch_messages,a91u 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-Co1M8e5T.mjs';import{_ as a91b,a as a91c,b as a91d,c as a91e,d as a91f,f as a91g,g as a91h,h as a91i,i as a91j,l as a91k,m as a91l,n as a91m,o as a91n,p as a91o,r as a91p,s as a91q,t as a91r,u as a91s,v as a91t,y as a91u}from'../../messenger-api-uoBMSPx-.mjs';export{DEFAULT_MESSENGER_CONFIG,DEFAULT_QUERY_LIMIT,MAX_QUERY_LIMIT,MessageDirection,MessageStatus,MessageType,a91a as Messenger,MessengerError,MessengerErrorCode,a91d as MessengerManager,NORMAL_MESSAGE_BYTES_LIMIT,WTS_FILE_BYTES_LIMIT,WTS_MAX_MESSAGE_COUNT,a91r as blacklist,a91m as extractZipFromPlaintext,a91p as extract_zip_messages,a91j as friendslist,a91c as generate_wts,a91n as getMessengerManager,a91q as guardlist,a91e as mark_conversation_as_viewed,a91k as mark_messages_as_viewed,a91s as proof_message,a91f as pull_messages,a91g as send_file,a91o as send_message,a91l as settings,a91i as sign_wts,a91h as verify_wts,a91b as watch_conversations,a91t as watch_messages,a91u as wts2html};
@@ -1,2 +1,2 @@
1
- import { $n as wts2html, An as GuardParam, Bn as getMessengerManager, Dn as BlacklistResponse, En as BlacklistRequest, Fn as blacklist, Gn as pull_messages, Hn as mark_conversation_as_viewed, In as extractZipFromPlaintext, Jn as settings, Kn as send_file, Ln as extract_zip_messages, Mn as GuardlistResponse, Nn as SettingsRequest, On as FriendslistRequest, Pn as SettingsResponse, Qn as watch_messages, Rn as friendslist, Un as mark_messages_as_viewed, Vn as guardlist, Wn as proof_message, Xn as verify_wts, Yn as sign_wts, Zn as watch_conversations, jn as GuardlistRequest, kn as FriendslistResponse, qn as send_message, zn as generate_wts } from "../../index-CXN4AMVV.mjs";
1
+ import { $n as wts2html, An as GuardParam, Bn as getMessengerManager, Dn as BlacklistResponse, En as BlacklistRequest, Fn as blacklist, Gn as pull_messages, Hn as mark_conversation_as_viewed, In as extractZipFromPlaintext, Jn as settings, Kn as send_file, Ln as extract_zip_messages, Mn as GuardlistResponse, Nn as SettingsRequest, On as FriendslistRequest, Pn as SettingsResponse, Qn as watch_messages, Rn as friendslist, Un as mark_messages_as_viewed, Vn as guardlist, Wn as proof_message, Xn as verify_wts, Yn as sign_wts, Zn as watch_conversations, jn as GuardlistRequest, kn as FriendslistResponse, qn as send_message, zn as generate_wts } from "../../index-CiEBi_Uf.mjs";
2
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, send_file, send_message, settings, sign_wts, verify_wts, watch_conversations, watch_messages, wts2html };
@@ -1 +1 @@
1
- import{_ as a92a,a as a92b,c as a92c,d as a92d,f as a92e,g as a92f,h as a92g,i as a92h,l as a92i,m as a92j,n as a92k,o as a92l,p as a92m,r as a92n,s as a92o,t as a92p,u as a92q,v as a92r,y as a92s}from'../../messenger-api-xT1DE3pm.mjs';export{a92p as blacklist,a92k as extractZipFromPlaintext,a92n as extract_zip_messages,a92h as friendslist,a92b as generate_wts,a92l as getMessengerManager,a92o as guardlist,a92c as mark_conversation_as_viewed,a92i as mark_messages_as_viewed,a92q as proof_message,a92d as pull_messages,a92e as send_file,a92m as send_message,a92j as settings,a92g as sign_wts,a92f as verify_wts,a92a as watch_conversations,a92r as watch_messages,a92s as wts2html};
1
+ import{_ as a92a,a as a92b,c as a92c,d as a92d,f as a92e,g as a92f,h as a92g,i as a92h,l as a92i,m as a92j,n as a92k,o as a92l,p as a92m,r as a92n,s as a92o,t as a92p,u as a92q,v as a92r,y as a92s}from'../../messenger-api-uoBMSPx-.mjs';export{a92p as blacklist,a92k as extractZipFromPlaintext,a92n as extract_zip_messages,a92h as friendslist,a92b as generate_wts,a92l as getMessengerManager,a92o as guardlist,a92c as mark_conversation_as_viewed,a92i as mark_messages_as_viewed,a92q as proof_message,a92d as pull_messages,a92e as send_file,a92m as send_message,a92j as settings,a92g as sign_wts,a92f as verify_wts,a92a as watch_conversations,a92r as watch_messages,a92s as wts2html};
@@ -1,2 +1,2 @@
1
- import { tr as Messenger } from "../../index-CXN4AMVV.mjs";
1
+ import { tr as Messenger } from "../../index-CiEBi_Uf.mjs";
2
2
  export { Messenger };
@@ -1 +1 @@
1
- import{t as a93a}from'../../messenger-BBo7c4o_.mjs';export{a93a as Messenger};
1
+ import{t as a93a}from'../../messenger-Co1M8e5T.mjs';export{a93a as Messenger};
@@ -1,4 +1,5 @@
1
1
  import { Falcon512KeyPair, MLKEMKeyPair, X25519KeyPair } from "./types.mjs";
2
+
2
3
  //#region src/w/messenger/pq/crypto.d.ts
3
4
  declare function generateRandomBytes(length: number): Uint8Array;
4
5
  declare function generateX25519KeyPair(): X25519KeyPair;
@@ -1,7 +1,7 @@
1
1
  import { AES_GCM_IV_SIZE, AES_GCM_TAG_SIZE, CHAIN_KEY_SIZE, DEFAULT_DEVICE_ID, DH_KEY_SIZE, EncryptedMessage, Falcon512KeyPair, KeyPair, MESSAGE_KEY_SIZE, MLKEMKeyPair, MLKEM_CIPHERTEXT_SIZE, MLKEM_PUBLIC_KEY_SIZE, MLKEM_SECRET_KEY_SIZE, MLKEM_SHARED_SECRET_SIZE, MessageType, PQError, PQErrorCode, PQIdentity, PQPreKeyBundle, PQSessionState, PQXDHResult, ROOT_KEY_SIZE, RatchetState, SIGNATURE_SIZE, SPQRChunk, SPQRPhase, SPQRReceivePhase, SPQRState, SPQR_CHUNK_DATA_SIZE, SPQR_CHUNK_HEADER_SIZE, SPQR_CHUNK_SIZE, SPQR_DATA_CHUNKS, SPQR_TOTAL_CHUNKS, SerializedPQSessionState, SerializedRatchetState, SerializedSPQRState, X25519KeyPair } from "./types.mjs";
2
2
  import { 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 } from "./crypto.mjs";
3
3
  import { DATA_SHARDS, PARITY_SHARDS, SHARD_DATA_SIZE, SHARD_HEADER_SIZE, SHARD_SIZE, SPQRChunkData, TOTAL_SHARDS, decodeShards, encodeShards, packChunk, unpackChunk } from "./erasure.mjs";
4
- import { a as pqxdhReceive, i as pqxdhInitiate, n as PQXDHInitiateResult, o as verifyPreKeyBundle, r as generatePreKeyBundle, t as GeneratedPreKeyBundle } from "../../../pqxdh-BqO4C7fY.mjs";
4
+ import { a as pqxdhReceive, i as pqxdhInitiate, n as PQXDHInitiateResult, o as verifyPreKeyBundle, r as generatePreKeyBundle, t as GeneratedPreKeyBundle } from "../../../pqxdh-BYnIUIE_.mjs";
5
5
  import { deserializeRatchetState, initRatchet, ratchetDecrypt, ratchetEncrypt, serializeRatchetState } from "./ratchet.mjs";
6
6
  import { deserializeSPQRState, initSPQR, serializeSPQRState, spqrActivatePendingKey, spqrGetCurrentKey, spqrGetNextChunk, spqrOnPeerPQPKReceived, spqrReceiveChunk } from "./spqr.mjs";
7
7
  import { combineKeys } from "./keycombiner.mjs";
@@ -1,2 +1,2 @@
1
- import { a as pqxdhReceive, i as pqxdhInitiate, n as PQXDHInitiateResult, o as verifyPreKeyBundle, r as generatePreKeyBundle, t as GeneratedPreKeyBundle } from "../../../pqxdh-BqO4C7fY.mjs";
1
+ import { a as pqxdhReceive, i as pqxdhInitiate, n as PQXDHInitiateResult, o as verifyPreKeyBundle, r as generatePreKeyBundle, t as GeneratedPreKeyBundle } from "../../../pqxdh-BYnIUIE_.mjs";
2
2
  export { GeneratedPreKeyBundle, PQXDHInitiateResult, generatePreKeyBundle, pqxdhInitiate, pqxdhReceive, verifyPreKeyBundle };
@@ -1,4 +1,5 @@
1
1
  import { EncryptedMessage, RatchetState, SerializedRatchetState, X25519KeyPair } from "./types.mjs";
2
+
2
3
  //#region src/w/messenger/pq/ratchet.d.ts
3
4
  declare function initRatchet(rootKey: Uint8Array, sendingChainKey: Uint8Array, receivingChainKey: Uint8Array, ourDHKeyPair: X25519KeyPair, peerDHPublicKey: Uint8Array): RatchetState;
4
5
  declare function ratchetEncrypt(state: RatchetState, plaintext: Uint8Array, keyCombiner?: (messageKey: Uint8Array) => Uint8Array): {
@@ -1,5 +1,6 @@
1
1
  import { EncryptedMessage, MLKEMKeyPair, PQIdentity, PQPreKeyBundle, SerializedPQSessionState, X25519KeyPair } from "./types.mjs";
2
- import { t as GeneratedPreKeyBundle } from "../../../pqxdh-BqO4C7fY.mjs";
2
+ import { t as GeneratedPreKeyBundle } from "../../../pqxdh-BYnIUIE_.mjs";
3
+
3
4
  //#region src/w/messenger/pq/session.d.ts
4
5
  interface PQSessionStore {
5
6
  getIdentityKeyPair(): Promise<X25519KeyPair | null>;
@@ -1,4 +1,5 @@
1
1
  import { SPQRChunk, SPQRState, SerializedSPQRState } from "./types.mjs";
2
+
2
3
  //#region src/w/messenger/pq/spqr.d.ts
3
4
  declare function initSPQR(): SPQRState;
4
5
  declare function spqrGetNextChunk(state: SPQRState, messageCount: number): {
@@ -1,6 +1,7 @@
1
1
  import { MLKEMKeyPair, SerializedPQSessionState, X25519KeyPair } from "./types.mjs";
2
2
  import { PQSessionStore } from "./session.mjs";
3
3
  import Database from "libsql";
4
+
4
5
  //#region src/w/messenger/pq/store-adapter.d.ts
5
6
  declare class PQSessionStoreAdapter implements PQSessionStore {
6
7
  private db;
@@ -1,5 +1,6 @@
1
- import { Mr as Message, Vr as MessengerConfig, si as SessionState } from "../../index-CXN4AMVV.mjs";
1
+ import { Mr as Message, Vr as MessengerConfig, si as SessionState } from "../../index-CiEBi_Uf.mjs";
2
2
  import Database from "libsql";
3
+
3
4
  //#region src/w/messenger/storage.d.ts
4
5
  type KeyPairType = {
5
6
  pubKey: ArrayBuffer;
@@ -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']('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);\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']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_from_to\x20ON\x20messages(from_address,\x20to_address)');}catch(j){}try{c['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_status\x20ON\x20messages(status)');}catch(k){}try{c['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_leaf\x20ON\x20messages(leaf_index)');}catch(l){}try{c['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_created_at\x20ON\x20messages(created_at)');}catch(m){}try{c['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_server_ts\x20ON\x20messages(server_timestamp)');}catch(n){}try{c['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_received_at\x20ON\x20messages(received_at)');}catch(o){}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['exit'](0x0);}),process['on']('SIGTERM',()=>{resetDbConnection(),process['exit'](0x0);});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\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?)\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')['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);}['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));}['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,'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,'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 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);\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']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_from_to\x20ON\x20messages(from_address,\x20to_address)');}catch(j){}try{c['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_status\x20ON\x20messages(status)');}catch(k){}try{c['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_leaf\x20ON\x20messages(leaf_index)');}catch(l){}try{c['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_created_at\x20ON\x20messages(created_at)');}catch(m){}try{c['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_server_ts\x20ON\x20messages(server_timestamp)');}catch(n){}try{c['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_received_at\x20ON\x20messages(received_at)');}catch(o){}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['exit'](0x0);}),process['on']('SIGTERM',()=>{resetDbConnection(),process['exit'](0x0);});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\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?)\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')['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);}['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));}['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,'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,'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,2 +1,2 @@
1
- import { $r as SERVER_URL, Ai as WtsPayload, Ar as MerkleMetadata, Br as MessageType, Ci as WTS_MAX_MESSAGE_COUNT, Cr as FetchMessagesRequest, Di as WtsGenerationParams, Dr as GuardListItem, Ei as WtsFileResult, Er as GetSettingsResponse, Fi as WtsSignatureVerification, Fr as MessageFilter, Gr as PQPreKeyPublic, Hr as MessengerError, Ii as WtsToHtmlOptions, Ir as MessageIdRange, Jr as PreKeyStatus, Kr as PlaintextMessage, Li as WtsVerificationResult, Lr as MessageListResult, Mi as WtsServerPublicKey, Mr as Message, Ni as WtsSession, Nr as MessageContentType, Oi as WtsMessage, Or as ListOperationResponse, Pi as WtsSignature, Pr as MessageDirection, Qr as RemoveListRequest, Ri as ZipContentType, Rr as MessageStatus, Si as WTS_FILE_BYTES_LIMIT, Sr as FailedPrekeyInfo, Ti as WtsFile, Tr as GetSettingsRequest, Ur as MessengerErrorCode, Vr as MessengerConfig, Wr as NORMAL_MESSAGE_BYTES_LIMIT, Xr as RangeType, Yr as PullMessagesResponse, Zr as RemoteBundle, _i as SsePreKeyLowEvent, _r as DEFAULT_QUERY_LIMIT, ai as ServerRegisterRequest, ar as BaseRange, bi as UploadPreKeysRequest, br as EventStreamParams, ci as SignedRequest, cr as ChainProofRequest, di as SseCustomEvent, dr as ContactLists, ei as SendMessageRequest, fi as SseEvent, fr as ContactListsSyncResult, gi as SseNewMessageEvent, gr as DEFAULT_MESSENGER_CONFIG, hi as SseGuardRejectedEvent, hr as DEFAULT_DEVICE_ID, ii as ServerMessage, ir as AddressExistence, ji as WtsRange, jr as MerkleProof, ki as WtsMeta, kr as MAX_QUERY_LIMIT, li as SignedRequestBase, lr as ChainProofResponse, mi as SseGuardConfirmedEvent, mr as ConversationsFilter, ni as SendMessageResult, nr as AddGuardListRequest, oi as ServerRegisterResponse, or as CHAIN_PROOF_TYPE, pi as SseEventType, pr as ConversationInfo, qr as PreKeyPublic, ri as SeqIndexRange, rr as AddListRequest, si as SessionState, sr as CURRENT_NETWORK, ti as SendMessageResponse, ui as SseArkConfirmedEvent, ur as ClearListRequest, vi as TimeRange, vr as DecryptedMessage, wi as WTS_SCHEMA_URL, wr as GetBundleParams, xi as UploadPreKeysResponse, xr as ExistListRequest, yi as UpdateSettingsRequest, yr as Empty, zi as ZipMetadata, zr as MessageTimeField } from "../../index-CXN4AMVV.mjs";
1
+ import { $r as SERVER_URL, Ai as WtsPayload, Ar as MerkleMetadata, Br as MessageType, Ci as WTS_MAX_MESSAGE_COUNT, Cr as FetchMessagesRequest, Di as WtsGenerationParams, Dr as GuardListItem, Ei as WtsFileResult, Er as GetSettingsResponse, Fi as WtsSignatureVerification, Fr as MessageFilter, Gr as PQPreKeyPublic, Hr as MessengerError, Ii as WtsToHtmlOptions, Ir as MessageIdRange, Jr as PreKeyStatus, Kr as PlaintextMessage, Li as WtsVerificationResult, Lr as MessageListResult, Mi as WtsServerPublicKey, Mr as Message, Ni as WtsSession, Nr as MessageContentType, Oi as WtsMessage, Or as ListOperationResponse, Pi as WtsSignature, Pr as MessageDirection, Qr as RemoveListRequest, Ri as ZipContentType, Rr as MessageStatus, Si as WTS_FILE_BYTES_LIMIT, Sr as FailedPrekeyInfo, Ti as WtsFile, Tr as GetSettingsRequest, Ur as MessengerErrorCode, Vr as MessengerConfig, Wr as NORMAL_MESSAGE_BYTES_LIMIT, Xr as RangeType, Yr as PullMessagesResponse, Zr as RemoteBundle, _i as SsePreKeyLowEvent, _r as DEFAULT_QUERY_LIMIT, ai as ServerRegisterRequest, ar as BaseRange, bi as UploadPreKeysRequest, br as EventStreamParams, ci as SignedRequest, cr as ChainProofRequest, di as SseCustomEvent, dr as ContactLists, ei as SendMessageRequest, fi as SseEvent, fr as ContactListsSyncResult, gi as SseNewMessageEvent, gr as DEFAULT_MESSENGER_CONFIG, hi as SseGuardRejectedEvent, hr as DEFAULT_DEVICE_ID, ii as ServerMessage, ir as AddressExistence, ji as WtsRange, jr as MerkleProof, ki as WtsMeta, kr as MAX_QUERY_LIMIT, li as SignedRequestBase, lr as ChainProofResponse, mi as SseGuardConfirmedEvent, mr as ConversationsFilter, ni as SendMessageResult, nr as AddGuardListRequest, oi as ServerRegisterResponse, or as CHAIN_PROOF_TYPE, pi as SseEventType, pr as ConversationInfo, qr as PreKeyPublic, ri as SeqIndexRange, rr as AddListRequest, si as SessionState, sr as CURRENT_NETWORK, ti as SendMessageResponse, ui as SseArkConfirmedEvent, ur as ClearListRequest, vi as TimeRange, vr as DecryptedMessage, wi as WTS_SCHEMA_URL, wr as GetBundleParams, xi as UploadPreKeysResponse, xr as ExistListRequest, yi as UpdateSettingsRequest, yr as Empty, zi as ZipMetadata, zr as MessageTimeField } from "../../index-CiEBi_Uf.mjs";
2
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, 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 };