@nostrwatch/route66 0.0.1

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 (1522) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +346 -0
  3. package/adapters/cache/NostrSqliteAdapter/README.md +1 -0
  4. package/adapters/cache/NostrSqliteAdapter/build.js +64 -0
  5. package/adapters/cache/NostrSqliteAdapter/dist/browser/index.js +11789 -0
  6. package/adapters/cache/NostrSqliteAdapter/dist/browser/index.js.map +7 -0
  7. package/adapters/cache/NostrSqliteAdapter/dist/browser/workers/nostrsqlite.worker.js +9512 -0
  8. package/adapters/cache/NostrSqliteAdapter/dist/browser/workers/nostrsqlite.worker.js.map +7 -0
  9. package/adapters/cache/NostrSqliteAdapter/node_modules/.bin/esbuild +14 -0
  10. package/adapters/cache/NostrSqliteAdapter/node_modules/.bin/tsc +17 -0
  11. package/adapters/cache/NostrSqliteAdapter/node_modules/.bin/tsserver +17 -0
  12. package/adapters/cache/NostrSqliteAdapter/node_modules/.bin/vite +17 -0
  13. package/adapters/cache/NostrSqliteAdapter/package.json +49 -0
  14. package/adapters/cache/NostrSqliteAdapter/package.tgz +0 -0
  15. package/adapters/cache/NostrSqliteAdapter/src/NostrSqLiteMethods.ts +5 -0
  16. package/adapters/cache/NostrSqliteAdapter/src/NostrSqliteAdapter.ts +246 -0
  17. package/adapters/cache/NostrSqliteAdapter/src/NostrSqliteWorker.ts +113 -0
  18. package/adapters/cache/NostrSqliteAdapter/src/index.ts +1 -0
  19. package/adapters/cache/NostrSqliteAdapter/src/utils.ts +8 -0
  20. package/adapters/cache/NostrSqliteAdapter/src/workers/nostrsqlite.worker.ts +12 -0
  21. package/adapters/cache/NostrSqliteAdapter/tsconfig.json +26 -0
  22. package/adapters/websocket/NostrToolsAdapter/build.js +123 -0
  23. package/adapters/websocket/NostrToolsAdapter/dist/browser/index.js +1788 -0
  24. package/adapters/websocket/NostrToolsAdapter/dist/browser/index.js.map +7 -0
  25. package/adapters/websocket/NostrToolsAdapter/dist/node/index.js +1811 -0
  26. package/adapters/websocket/NostrToolsAdapter/dist/node/index.js.map +7 -0
  27. package/adapters/websocket/NostrToolsAdapter/node_modules/.bin/esbuild +14 -0
  28. package/adapters/websocket/NostrToolsAdapter/node_modules/.bin/eslint +17 -0
  29. package/adapters/websocket/NostrToolsAdapter/node_modules/.bin/jest +17 -0
  30. package/adapters/websocket/NostrToolsAdapter/node_modules/.bin/prettier +17 -0
  31. package/adapters/websocket/NostrToolsAdapter/node_modules/.bin/rollup +17 -0
  32. package/adapters/websocket/NostrToolsAdapter/node_modules/.bin/rollup-plugin-visualizer +17 -0
  33. package/adapters/websocket/NostrToolsAdapter/node_modules/.bin/tsc +17 -0
  34. package/adapters/websocket/NostrToolsAdapter/node_modules/.bin/tsserver +17 -0
  35. package/adapters/websocket/NostrToolsAdapter/node_modules/.cache/esbuild-plugin-inline-worker/nostrtools.worker.js +141 -0
  36. package/adapters/websocket/NostrToolsAdapter/package.json +79 -0
  37. package/adapters/websocket/NostrToolsAdapter/src/NostrToolsAdapter.ts +17 -0
  38. package/adapters/websocket/NostrToolsAdapter/src/NostrToolsWorker.ts +405 -0
  39. package/adapters/websocket/NostrToolsAdapter/src/index.ts +3 -0
  40. package/adapters/websocket/NostrToolsAdapter/src/shims/empty.js +1 -0
  41. package/adapters/websocket/NostrToolsAdapter/src/shims/node-module-shim.js +3 -0
  42. package/adapters/websocket/NostrToolsAdapter/src/workers/nostrtools.worker.ts +12 -0
  43. package/adapters/websocket/NostrToolsAdapter/tsconfig.json +28 -0
  44. package/build.js +72 -0
  45. package/dist/browser/_virtual/_commonjsHelpers.amd.js +2 -0
  46. package/dist/browser/_virtual/_commonjsHelpers.amd.js.map +1 -0
  47. package/dist/browser/_virtual/_commonjsHelpers.esm.js +2 -0
  48. package/dist/browser/_virtual/_commonjsHelpers.esm.js.map +1 -0
  49. package/dist/browser/_virtual/_tslib.amd.js +2 -0
  50. package/dist/browser/_virtual/_tslib.amd.js.map +1 -0
  51. package/dist/browser/_virtual/_tslib.esm.js +2 -0
  52. package/dist/browser/_virtual/_tslib.esm.js.map +1 -0
  53. package/dist/browser/_virtual/bake-collection.amd.js +2 -0
  54. package/dist/browser/_virtual/bake-collection.amd.js.map +1 -0
  55. package/dist/browser/_virtual/bake-collection.esm.js +2 -0
  56. package/dist/browser/_virtual/bake-collection.esm.js.map +1 -0
  57. package/dist/browser/_virtual/bolt11.amd.js +2 -0
  58. package/dist/browser/_virtual/bolt11.amd.js.map +1 -0
  59. package/dist/browser/_virtual/bolt11.esm.js +2 -0
  60. package/dist/browser/_virtual/bolt11.esm.js.map +1 -0
  61. package/dist/browser/_virtual/ee.amd.js +2 -0
  62. package/dist/browser/_virtual/ee.amd.js.map +1 -0
  63. package/dist/browser/_virtual/ee.esm.js +2 -0
  64. package/dist/browser/_virtual/ee.esm.js.map +1 -0
  65. package/dist/browser/_virtual/index.amd.js +2 -0
  66. package/dist/browser/_virtual/index.amd.js.map +1 -0
  67. package/dist/browser/_virtual/index.amd2.js +2 -0
  68. package/dist/browser/_virtual/index.amd2.js.map +1 -0
  69. package/dist/browser/_virtual/index.amd3.js +2 -0
  70. package/dist/browser/_virtual/index.amd3.js.map +1 -0
  71. package/dist/browser/_virtual/index.amd4.js +2 -0
  72. package/dist/browser/_virtual/index.amd4.js.map +1 -0
  73. package/dist/browser/_virtual/index.amd5.js +2 -0
  74. package/dist/browser/_virtual/index.amd5.js.map +1 -0
  75. package/dist/browser/_virtual/index.amd6.js +2 -0
  76. package/dist/browser/_virtual/index.amd6.js.map +1 -0
  77. package/dist/browser/_virtual/index.esm.js +2 -0
  78. package/dist/browser/_virtual/index.esm.js.map +1 -0
  79. package/dist/browser/_virtual/index.esm2.js +2 -0
  80. package/dist/browser/_virtual/index.esm2.js.map +1 -0
  81. package/dist/browser/_virtual/index.esm3.js +2 -0
  82. package/dist/browser/_virtual/index.esm3.js.map +1 -0
  83. package/dist/browser/_virtual/index.esm4.js +2 -0
  84. package/dist/browser/_virtual/index.esm4.js.map +1 -0
  85. package/dist/browser/_virtual/index.esm5.js +2 -0
  86. package/dist/browser/_virtual/index.esm5.js.map +1 -0
  87. package/dist/browser/_virtual/index.esm6.js +2 -0
  88. package/dist/browser/_virtual/index.esm6.js.map +1 -0
  89. package/dist/browser/_virtual/task-collection.amd.js +2 -0
  90. package/dist/browser/_virtual/task-collection.amd.js.map +1 -0
  91. package/dist/browser/_virtual/task-collection.esm.js +2 -0
  92. package/dist/browser/_virtual/task-collection.esm.js.map +1 -0
  93. package/dist/browser/_virtual/types.amd.js +2 -0
  94. package/dist/browser/_virtual/types.amd.js.map +1 -0
  95. package/dist/browser/_virtual/types.esm.js +2 -0
  96. package/dist/browser/_virtual/types.esm.js.map +1 -0
  97. package/dist/browser/_virtual/utils.amd.js +2 -0
  98. package/dist/browser/_virtual/utils.amd.js.map +1 -0
  99. package/dist/browser/_virtual/utils.amd2.js +2 -0
  100. package/dist/browser/_virtual/utils.amd2.js.map +1 -0
  101. package/dist/browser/_virtual/utils.esm.js +2 -0
  102. package/dist/browser/_virtual/utils.esm.js.map +1 -0
  103. package/dist/browser/_virtual/utils.esm2.js +2 -0
  104. package/dist/browser/_virtual/utils.esm2.js.map +1 -0
  105. package/dist/browser/core/Adapter.amd.js +2 -0
  106. package/dist/browser/core/Adapter.amd.js.map +1 -0
  107. package/dist/browser/core/Adapter.esm.js +2 -0
  108. package/dist/browser/core/Adapter.esm.js.map +1 -0
  109. package/dist/browser/core/AdapterCacheWorker.amd.js +2 -0
  110. package/dist/browser/core/AdapterCacheWorker.amd.js.map +1 -0
  111. package/dist/browser/core/AdapterCacheWorker.esm.js +2 -0
  112. package/dist/browser/core/AdapterCacheWorker.esm.js.map +1 -0
  113. package/dist/browser/core/AdapterWebsocketWorker.amd.js +2 -0
  114. package/dist/browser/core/AdapterWebsocketWorker.amd.js.map +1 -0
  115. package/dist/browser/core/AdapterWebsocketWorker.esm.js +2 -0
  116. package/dist/browser/core/AdapterWebsocketWorker.esm.js.map +1 -0
  117. package/dist/browser/core/AdapterWorker.amd.js +2 -0
  118. package/dist/browser/core/AdapterWorker.amd.js.map +1 -0
  119. package/dist/browser/core/AdapterWorker.esm.js +2 -0
  120. package/dist/browser/core/AdapterWorker.esm.js.map +1 -0
  121. package/dist/browser/core/Base.amd.js +2 -0
  122. package/dist/browser/core/Base.amd.js.map +1 -0
  123. package/dist/browser/core/Base.esm.js +2 -0
  124. package/dist/browser/core/Base.esm.js.map +1 -0
  125. package/dist/browser/core/Batcher.amd.js +2 -0
  126. package/dist/browser/core/Batcher.amd.js.map +1 -0
  127. package/dist/browser/core/Batcher.esm.js +2 -0
  128. package/dist/browser/core/Batcher.esm.js.map +1 -0
  129. package/dist/browser/core/CacheAdapter.amd.js +2 -0
  130. package/dist/browser/core/CacheAdapter.amd.js.map +1 -0
  131. package/dist/browser/core/CacheAdapter.esm.js +2 -0
  132. package/dist/browser/core/CacheAdapter.esm.js.map +1 -0
  133. package/dist/browser/core/LocalStorageWrapper.amd.js +2 -0
  134. package/dist/browser/core/LocalStorageWrapper.amd.js.map +1 -0
  135. package/dist/browser/core/LocalStorageWrapper.esm.js +2 -0
  136. package/dist/browser/core/LocalStorageWrapper.esm.js.map +1 -0
  137. package/dist/browser/core/Queue.amd.js +2 -0
  138. package/dist/browser/core/Queue.amd.js.map +1 -0
  139. package/dist/browser/core/Queue.esm.js +2 -0
  140. package/dist/browser/core/Queue.esm.js.map +1 -0
  141. package/dist/browser/core/WebsocketAdapter.amd.js +2 -0
  142. package/dist/browser/core/WebsocketAdapter.amd.js.map +1 -0
  143. package/dist/browser/core/WebsocketAdapter.esm.js +2 -0
  144. package/dist/browser/core/WebsocketAdapter.esm.js.map +1 -0
  145. package/dist/browser/core/Workers.amd.js +2 -0
  146. package/dist/browser/core/Workers.amd.js.map +1 -0
  147. package/dist/browser/core/Workers.esm.js +2 -0
  148. package/dist/browser/core/Workers.esm.js.map +1 -0
  149. package/dist/browser/core/index.amd.js +71 -0
  150. package/dist/browser/core/index.amd.js.map +1 -0
  151. package/dist/browser/core/index.esm.js +2 -0
  152. package/dist/browser/core/index.esm.js.map +1 -0
  153. package/dist/browser/factory/cache.shared.worker.amd.js +2 -0
  154. package/dist/browser/factory/cache.shared.worker.amd.js.map +1 -0
  155. package/dist/browser/factory/cache.shared.worker.esm.js +2 -0
  156. package/dist/browser/factory/cache.shared.worker.esm.js.map +1 -0
  157. package/dist/browser/factory/cache.worker.amd.js +2 -0
  158. package/dist/browser/factory/cache.worker.amd.js.map +1 -0
  159. package/dist/browser/factory/cache.worker.esm.js +2 -0
  160. package/dist/browser/factory/cache.worker.esm.js.map +1 -0
  161. package/dist/browser/factory/index.amd.js +71 -0
  162. package/dist/browser/factory/index.amd.js.map +1 -0
  163. package/dist/browser/factory/index.esm.js +2 -0
  164. package/dist/browser/factory/index.esm.js.map +1 -0
  165. package/dist/browser/index.amd.js +71 -0
  166. package/dist/browser/index.amd.js.map +1 -0
  167. package/dist/browser/index.esm.js +2 -0
  168. package/dist/browser/index.esm.js.map +1 -0
  169. package/dist/browser/interfaces/index.amd.js +71 -0
  170. package/dist/browser/interfaces/index.amd.js.map +1 -0
  171. package/dist/browser/interfaces/index.esm.js +2 -0
  172. package/dist/browser/interfaces/index.esm.js.map +1 -0
  173. package/dist/browser/internal/utils/dist/browser/_virtual/_tslib.esm.amd.js +2 -0
  174. package/dist/browser/internal/utils/dist/browser/_virtual/_tslib.esm.amd.js.map +1 -0
  175. package/dist/browser/internal/utils/dist/browser/_virtual/_tslib.esm.esm.js +2 -0
  176. package/dist/browser/internal/utils/dist/browser/_virtual/_tslib.esm.esm.js.map +1 -0
  177. package/dist/browser/internal/utils/dist/browser/config.esm.amd.js +2 -0
  178. package/dist/browser/internal/utils/dist/browser/config.esm.amd.js.map +1 -0
  179. package/dist/browser/internal/utils/dist/browser/config.esm.esm.js +2 -0
  180. package/dist/browser/internal/utils/dist/browser/config.esm.esm.js.map +1 -0
  181. package/dist/browser/internal/utils/dist/browser/controlflow.esm.amd.js +2 -0
  182. package/dist/browser/internal/utils/dist/browser/controlflow.esm.amd.js.map +1 -0
  183. package/dist/browser/internal/utils/dist/browser/controlflow.esm.esm.js +2 -0
  184. package/dist/browser/internal/utils/dist/browser/controlflow.esm.esm.js.map +1 -0
  185. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/_shortw_utils.esm.amd.js +3 -0
  186. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/_shortw_utils.esm.amd.js.map +1 -0
  187. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/_shortw_utils.esm.esm.js +3 -0
  188. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/_shortw_utils.esm.esm.js.map +1 -0
  189. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/curve.esm.amd.js +3 -0
  190. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/curve.esm.amd.js.map +1 -0
  191. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/curve.esm.esm.js +3 -0
  192. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/curve.esm.esm.js.map +1 -0
  193. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/modular.esm.amd.js +3 -0
  194. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/modular.esm.amd.js.map +1 -0
  195. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/modular.esm.esm.js +3 -0
  196. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/modular.esm.esm.js.map +1 -0
  197. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/utils.esm.amd.js +3 -0
  198. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/utils.esm.amd.js.map +1 -0
  199. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/utils.esm.esm.js +3 -0
  200. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/utils.esm.esm.js.map +1 -0
  201. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/weierstrass.esm.amd.js +4 -0
  202. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/weierstrass.esm.amd.js.map +1 -0
  203. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/weierstrass.esm.esm.js +4 -0
  204. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/weierstrass.esm.esm.js.map +1 -0
  205. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/secp256k1.esm.amd.js +3 -0
  206. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/secp256k1.esm.amd.js.map +1 -0
  207. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/secp256k1.esm.esm.js +3 -0
  208. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/secp256k1.esm.esm.js.map +1 -0
  209. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_assert.esm.amd.js +2 -0
  210. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_assert.esm.amd.js.map +1 -0
  211. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_assert.esm.esm.js +2 -0
  212. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_assert.esm.esm.js.map +1 -0
  213. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_sha2.esm.amd.js +2 -0
  214. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_sha2.esm.amd.js.map +1 -0
  215. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_sha2.esm.esm.js +2 -0
  216. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_sha2.esm.esm.js.map +1 -0
  217. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/sha256.esm.amd.js +2 -0
  218. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/sha256.esm.amd.js.map +1 -0
  219. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/sha256.esm.esm.js +2 -0
  220. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/sha256.esm.esm.js.map +1 -0
  221. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/utils.esm.amd.js +3 -0
  222. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/utils.esm.amd.js.map +1 -0
  223. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/utils.esm.esm.js +3 -0
  224. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/utils.esm.esm.js.map +1 -0
  225. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_assert.esm.amd.js +2 -0
  226. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_assert.esm.amd.js.map +1 -0
  227. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_assert.esm.esm.js +2 -0
  228. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_assert.esm.esm.js.map +1 -0
  229. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_sha2.esm.amd.js +2 -0
  230. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_sha2.esm.amd.js.map +1 -0
  231. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_sha2.esm.esm.js +2 -0
  232. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_sha2.esm.esm.js.map +1 -0
  233. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/crypto.esm.amd.js +2 -0
  234. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/crypto.esm.amd.js.map +1 -0
  235. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/crypto.esm.esm.js +2 -0
  236. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/crypto.esm.esm.js.map +1 -0
  237. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/hmac.esm.amd.js +2 -0
  238. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/hmac.esm.amd.js.map +1 -0
  239. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/hmac.esm.esm.js +2 -0
  240. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/hmac.esm.esm.js.map +1 -0
  241. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/sha256.esm.amd.js +2 -0
  242. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/sha256.esm.amd.js.map +1 -0
  243. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/sha256.esm.esm.js +2 -0
  244. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/sha256.esm.esm.js.map +1 -0
  245. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/utils.esm.amd.js +3 -0
  246. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/utils.esm.amd.js.map +1 -0
  247. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/utils.esm.esm.js +3 -0
  248. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/utils.esm.esm.js.map +1 -0
  249. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.5.0/node_modules/@noble/hashes/esm/utils.esm.amd.js +3 -0
  250. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.5.0/node_modules/@noble/hashes/esm/utils.esm.amd.js.map +1 -0
  251. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.5.0/node_modules/@noble/hashes/esm/utils.esm.esm.js +3 -0
  252. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.5.0/node_modules/@noble/hashes/esm/utils.esm.esm.js.map +1 -0
  253. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@scure_base@1.1.1/node_modules/@scure/base/lib/esm/index.esm.amd.js +3 -0
  254. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@scure_base@1.1.1/node_modules/@scure/base/lib/esm/index.esm.amd.js.map +1 -0
  255. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@scure_base@1.1.1/node_modules/@scure/base/lib/esm/index.esm.esm.js +3 -0
  256. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/@scure_base@1.1.1/node_modules/@scure/base/lib/esm/index.esm.esm.js.map +1 -0
  257. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/nostr-tools@2.11.0_typescript@5.8.3/node_modules/nostr-tools/lib/esm/nip19.esm.amd.js +2 -0
  258. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/nostr-tools@2.11.0_typescript@5.8.3/node_modules/nostr-tools/lib/esm/nip19.esm.amd.js.map +1 -0
  259. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/nostr-tools@2.11.0_typescript@5.8.3/node_modules/nostr-tools/lib/esm/nip19.esm.esm.js +2 -0
  260. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/nostr-tools@2.11.0_typescript@5.8.3/node_modules/nostr-tools/lib/esm/nip19.esm.esm.js.map +1 -0
  261. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/nostr-tools@2.11.0_typescript@5.8.3/node_modules/nostr-tools/lib/esm/pure.esm.amd.js +2 -0
  262. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/nostr-tools@2.11.0_typescript@5.8.3/node_modules/nostr-tools/lib/esm/pure.esm.amd.js.map +1 -0
  263. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/nostr-tools@2.11.0_typescript@5.8.3/node_modules/nostr-tools/lib/esm/pure.esm.esm.js +2 -0
  264. package/dist/browser/internal/utils/dist/browser/node_modules/.pnpm/nostr-tools@2.11.0_typescript@5.8.3/node_modules/nostr-tools/lib/esm/pure.esm.esm.js.map +1 -0
  265. package/dist/browser/managers/MonitorManager.amd.js +2 -0
  266. package/dist/browser/managers/MonitorManager.amd.js.map +1 -0
  267. package/dist/browser/managers/MonitorManager.esm.js +2 -0
  268. package/dist/browser/managers/MonitorManager.esm.js.map +1 -0
  269. package/dist/browser/managers/StateManager.amd.js +2 -0
  270. package/dist/browser/managers/StateManager.amd.js.map +1 -0
  271. package/dist/browser/managers/StateManager.esm.js +2 -0
  272. package/dist/browser/managers/StateManager.esm.js.map +1 -0
  273. package/dist/browser/managers/SyncStateManager.amd.js +2 -0
  274. package/dist/browser/managers/SyncStateManager.amd.js.map +1 -0
  275. package/dist/browser/managers/SyncStateManager.esm.js +2 -0
  276. package/dist/browser/managers/SyncStateManager.esm.js.map +1 -0
  277. package/dist/browser/models/DeltaEvent.amd.js +2 -0
  278. package/dist/browser/models/DeltaEvent.amd.js.map +1 -0
  279. package/dist/browser/models/DeltaEvent.esm.js +2 -0
  280. package/dist/browser/models/DeltaEvent.esm.js.map +1 -0
  281. package/dist/browser/models/Event.amd.js +2 -0
  282. package/dist/browser/models/Event.amd.js.map +1 -0
  283. package/dist/browser/models/Event.esm.js +2 -0
  284. package/dist/browser/models/Event.esm.js.map +1 -0
  285. package/dist/browser/models/Geocoded.amd.js +2 -0
  286. package/dist/browser/models/Geocoded.amd.js.map +1 -0
  287. package/dist/browser/models/Geocoded.esm.js +2 -0
  288. package/dist/browser/models/Geocoded.esm.js.map +1 -0
  289. package/dist/browser/models/Monitor.amd.js +2 -0
  290. package/dist/browser/models/Monitor.amd.js.map +1 -0
  291. package/dist/browser/models/Monitor.esm.js +2 -0
  292. package/dist/browser/models/Monitor.esm.js.map +1 -0
  293. package/dist/browser/models/MonitorRegistration.amd.js +2 -0
  294. package/dist/browser/models/MonitorRegistration.amd.js.map +1 -0
  295. package/dist/browser/models/MonitorRegistration.esm.js +2 -0
  296. package/dist/browser/models/MonitorRegistration.esm.js.map +1 -0
  297. package/dist/browser/models/Nip11.amd.js +2 -0
  298. package/dist/browser/models/Nip11.amd.js.map +1 -0
  299. package/dist/browser/models/Nip11.esm.js +2 -0
  300. package/dist/browser/models/Nip11.esm.js.map +1 -0
  301. package/dist/browser/models/Nip66CheckEvent.amd.js +2 -0
  302. package/dist/browser/models/Nip66CheckEvent.amd.js.map +1 -0
  303. package/dist/browser/models/Nip66CheckEvent.esm.js +2 -0
  304. package/dist/browser/models/Nip66CheckEvent.esm.js.map +1 -0
  305. package/dist/browser/models/PubkeyProfile.amd.js +2 -0
  306. package/dist/browser/models/PubkeyProfile.amd.js.map +1 -0
  307. package/dist/browser/models/PubkeyProfile.esm.js +2 -0
  308. package/dist/browser/models/PubkeyProfile.esm.js.map +1 -0
  309. package/dist/browser/models/PubkeyRelays.amd.js +2 -0
  310. package/dist/browser/models/PubkeyRelays.amd.js.map +1 -0
  311. package/dist/browser/models/PubkeyRelays.esm.js +2 -0
  312. package/dist/browser/models/PubkeyRelays.esm.js.map +1 -0
  313. package/dist/browser/models/RelayCheckAggregate.amd.js +2 -0
  314. package/dist/browser/models/RelayCheckAggregate.amd.js.map +1 -0
  315. package/dist/browser/models/RelayCheckAggregate.esm.js +2 -0
  316. package/dist/browser/models/RelayCheckAggregate.esm.js.map +1 -0
  317. package/dist/browser/models/_.amd.js +2 -0
  318. package/dist/browser/models/_.amd.js.map +1 -0
  319. package/dist/browser/models/_.esm.js +2 -0
  320. package/dist/browser/models/_.esm.js.map +1 -0
  321. package/dist/browser/models/index.amd.js +71 -0
  322. package/dist/browser/models/index.amd.js.map +1 -0
  323. package/dist/browser/models/index.esm.js +2 -0
  324. package/dist/browser/models/index.esm.js.map +1 -0
  325. package/dist/browser/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/_arx.amd.js +2 -0
  326. package/dist/browser/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/_arx.amd.js.map +1 -0
  327. package/dist/browser/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/_arx.esm.js +2 -0
  328. package/dist/browser/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/_arx.esm.js.map +1 -0
  329. package/dist/browser/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/_assert.amd.js +2 -0
  330. package/dist/browser/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/_assert.amd.js.map +1 -0
  331. package/dist/browser/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/_assert.esm.js +2 -0
  332. package/dist/browser/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/_assert.esm.js.map +1 -0
  333. package/dist/browser/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/aes.amd.js +2 -0
  334. package/dist/browser/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/aes.amd.js.map +1 -0
  335. package/dist/browser/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/aes.esm.js +2 -0
  336. package/dist/browser/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/aes.esm.js.map +1 -0
  337. package/dist/browser/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/chacha.amd.js +2 -0
  338. package/dist/browser/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/chacha.amd.js.map +1 -0
  339. package/dist/browser/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/chacha.esm.js +2 -0
  340. package/dist/browser/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/chacha.esm.js.map +1 -0
  341. package/dist/browser/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/utils.amd.js +3 -0
  342. package/dist/browser/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/utils.amd.js.map +1 -0
  343. package/dist/browser/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/utils.esm.js +3 -0
  344. package/dist/browser/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/utils.esm.js.map +1 -0
  345. package/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/_shortw_utils.amd.js +3 -0
  346. package/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/_shortw_utils.amd.js.map +1 -0
  347. package/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/_shortw_utils.esm.js +4 -0
  348. package/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/_shortw_utils.esm.js.map +1 -0
  349. package/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/curve.amd.js +3 -0
  350. package/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/curve.amd.js.map +1 -0
  351. package/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/curve.esm.js +4 -0
  352. package/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/curve.esm.js.map +1 -0
  353. package/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/modular.amd.js +3 -0
  354. package/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/modular.amd.js.map +1 -0
  355. package/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/modular.esm.js +4 -0
  356. package/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/modular.esm.js.map +1 -0
  357. package/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/utils.amd.js +3 -0
  358. package/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/utils.amd.js.map +1 -0
  359. package/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/utils.esm.js +3 -0
  360. package/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/utils.esm.js.map +1 -0
  361. package/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/weierstrass.amd.js +3 -0
  362. package/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/weierstrass.amd.js.map +1 -0
  363. package/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/weierstrass.esm.js +4 -0
  364. package/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/weierstrass.esm.js.map +1 -0
  365. package/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/secp256k1.amd.js +3 -0
  366. package/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/secp256k1.amd.js.map +1 -0
  367. package/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/secp256k1.esm.js +3 -0
  368. package/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/secp256k1.esm.js.map +1 -0
  369. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_assert.amd.js +2 -0
  370. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_assert.amd.js.map +1 -0
  371. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_assert.esm.js +2 -0
  372. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_assert.esm.js.map +1 -0
  373. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_sha2.amd.js +2 -0
  374. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_sha2.amd.js.map +1 -0
  375. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_sha2.esm.js +2 -0
  376. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_sha2.esm.js.map +1 -0
  377. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/crypto.amd.js +2 -0
  378. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/crypto.amd.js.map +1 -0
  379. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/crypto.esm.js +2 -0
  380. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/crypto.esm.js.map +1 -0
  381. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/hkdf.amd.js +2 -0
  382. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/hkdf.amd.js.map +1 -0
  383. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/hkdf.esm.js +2 -0
  384. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/hkdf.esm.js.map +1 -0
  385. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/hmac.amd.js +2 -0
  386. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/hmac.amd.js.map +1 -0
  387. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/hmac.esm.js +2 -0
  388. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/hmac.esm.js.map +1 -0
  389. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/sha256.amd.js +2 -0
  390. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/sha256.amd.js.map +1 -0
  391. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/sha256.esm.js +2 -0
  392. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/sha256.esm.js.map +1 -0
  393. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/utils.amd.js +3 -0
  394. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/utils.amd.js.map +1 -0
  395. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/utils.esm.js +4 -0
  396. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/utils.esm.js.map +1 -0
  397. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_assert.amd.js +2 -0
  398. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_assert.amd.js.map +1 -0
  399. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_assert.esm.js +2 -0
  400. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_assert.esm.js.map +1 -0
  401. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_sha2.amd.js +2 -0
  402. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_sha2.amd.js.map +1 -0
  403. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_sha2.esm.js +2 -0
  404. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_sha2.esm.js.map +1 -0
  405. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/crypto.amd.js +2 -0
  406. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/crypto.amd.js.map +1 -0
  407. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/crypto.esm.js +2 -0
  408. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/crypto.esm.js.map +1 -0
  409. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/hmac.amd.js +2 -0
  410. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/hmac.amd.js.map +1 -0
  411. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/hmac.esm.js +2 -0
  412. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/hmac.esm.js.map +1 -0
  413. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/sha256.amd.js +2 -0
  414. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/sha256.amd.js.map +1 -0
  415. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/sha256.esm.js +2 -0
  416. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/sha256.esm.js.map +1 -0
  417. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/utils.amd.js +3 -0
  418. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/utils.amd.js.map +1 -0
  419. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/utils.esm.js +4 -0
  420. package/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/utils.esm.js.map +1 -0
  421. package/dist/browser/node_modules/.pnpm/@scure_base@1.1.1/node_modules/@scure/base/lib/esm/index.amd.js +3 -0
  422. package/dist/browser/node_modules/.pnpm/@scure_base@1.1.1/node_modules/@scure/base/lib/esm/index.amd.js.map +1 -0
  423. package/dist/browser/node_modules/.pnpm/@scure_base@1.1.1/node_modules/@scure/base/lib/esm/index.esm.js +3 -0
  424. package/dist/browser/node_modules/.pnpm/@scure_base@1.1.1/node_modules/@scure/base/lib/esm/index.esm.js.map +1 -0
  425. package/dist/browser/node_modules/.pnpm/@scure_base@1.1.1/node_modules/@scure/base/lib/index.amd.js +4 -0
  426. package/dist/browser/node_modules/.pnpm/@scure_base@1.1.1/node_modules/@scure/base/lib/index.amd.js.map +1 -0
  427. package/dist/browser/node_modules/.pnpm/@scure_base@1.1.1/node_modules/@scure/base/lib/index.esm.js +4 -0
  428. package/dist/browser/node_modules/.pnpm/@scure_base@1.1.1/node_modules/@scure/base/lib/index.esm.js.map +1 -0
  429. package/dist/browser/node_modules/.pnpm/eventemitter3@5.0.1/node_modules/eventemitter3/index.amd.js +2 -0
  430. package/dist/browser/node_modules/.pnpm/eventemitter3@5.0.1/node_modules/eventemitter3/index.amd.js.map +1 -0
  431. package/dist/browser/node_modules/.pnpm/eventemitter3@5.0.1/node_modules/eventemitter3/index.esm.js +2 -0
  432. package/dist/browser/node_modules/.pnpm/eventemitter3@5.0.1/node_modules/eventemitter3/index.esm.js.map +1 -0
  433. package/dist/browser/node_modules/.pnpm/jsurl2@2.2.0/node_modules/jsurl2/dist/index.amd.js +2 -0
  434. package/dist/browser/node_modules/.pnpm/jsurl2@2.2.0/node_modules/jsurl2/dist/index.amd.js.map +1 -0
  435. package/dist/browser/node_modules/.pnpm/jsurl2@2.2.0/node_modules/jsurl2/dist/index.esm.js +2 -0
  436. package/dist/browser/node_modules/.pnpm/jsurl2@2.2.0/node_modules/jsurl2/dist/index.esm.js.map +1 -0
  437. package/dist/browser/node_modules/.pnpm/light-bolt11-decoder@3.2.0/node_modules/light-bolt11-decoder/bolt11.amd.js +2 -0
  438. package/dist/browser/node_modules/.pnpm/light-bolt11-decoder@3.2.0/node_modules/light-bolt11-decoder/bolt11.amd.js.map +1 -0
  439. package/dist/browser/node_modules/.pnpm/light-bolt11-decoder@3.2.0/node_modules/light-bolt11-decoder/bolt11.esm.js +2 -0
  440. package/dist/browser/node_modules/.pnpm/light-bolt11-decoder@3.2.0/node_modules/light-bolt11-decoder/bolt11.esm.js.map +1 -0
  441. package/dist/browser/node_modules/.pnpm/nostr-tools@2.11.0_typescript@5.8.3/node_modules/nostr-tools/lib/esm/index.amd.js +2 -0
  442. package/dist/browser/node_modules/.pnpm/nostr-tools@2.11.0_typescript@5.8.3/node_modules/nostr-tools/lib/esm/index.amd.js.map +1 -0
  443. package/dist/browser/node_modules/.pnpm/nostr-tools@2.11.0_typescript@5.8.3/node_modules/nostr-tools/lib/esm/index.esm.js +2 -0
  444. package/dist/browser/node_modules/.pnpm/nostr-tools@2.11.0_typescript@5.8.3/node_modules/nostr-tools/lib/esm/index.esm.js.map +1 -0
  445. package/dist/browser/node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/index.amd.js +2 -0
  446. package/dist/browser/node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/index.amd.js.map +1 -0
  447. package/dist/browser/node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/index.esm.js +2 -0
  448. package/dist/browser/node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/index.esm.js.map +1 -0
  449. package/dist/browser/node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/lower-bound.amd.js +2 -0
  450. package/dist/browser/node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/lower-bound.amd.js.map +1 -0
  451. package/dist/browser/node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/lower-bound.esm.js +2 -0
  452. package/dist/browser/node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/lower-bound.esm.js.map +1 -0
  453. package/dist/browser/node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/priority-queue.amd.js +2 -0
  454. package/dist/browser/node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/priority-queue.amd.js.map +1 -0
  455. package/dist/browser/node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/priority-queue.esm.js +2 -0
  456. package/dist/browser/node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/priority-queue.esm.js.map +1 -0
  457. package/dist/browser/node_modules/.pnpm/p-timeout@6.1.4/node_modules/p-timeout/index.amd.js +2 -0
  458. package/dist/browser/node_modules/.pnpm/p-timeout@6.1.4/node_modules/p-timeout/index.amd.js.map +1 -0
  459. package/dist/browser/node_modules/.pnpm/p-timeout@6.1.4/node_modules/p-timeout/index.esm.js +2 -0
  460. package/dist/browser/node_modules/.pnpm/p-timeout@6.1.4/node_modules/p-timeout/index.esm.js.map +1 -0
  461. package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/ee.amd.js +2 -0
  462. package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/ee.amd.js.map +1 -0
  463. package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/ee.esm.js +2 -0
  464. package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/ee.esm.js.map +1 -0
  465. package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/index.amd.js +2 -0
  466. package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/index.amd.js.map +1 -0
  467. package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/index.esm.js +2 -0
  468. package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/index.esm.js.map +1 -0
  469. package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/bake-collection.amd.js +2 -0
  470. package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/bake-collection.amd.js.map +1 -0
  471. package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/bake-collection.esm.js +2 -0
  472. package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/bake-collection.esm.js.map +1 -0
  473. package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/index.amd.js +2 -0
  474. package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/index.amd.js.map +1 -0
  475. package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/index.esm.js +2 -0
  476. package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/index.esm.js.map +1 -0
  477. package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/task-collection.amd.js +2 -0
  478. package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/task-collection.amd.js.map +1 -0
  479. package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/task-collection.esm.js +2 -0
  480. package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/task-collection.esm.js.map +1 -0
  481. package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/utils.amd.js +2 -0
  482. package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/utils.amd.js.map +1 -0
  483. package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/utils.esm.js +2 -0
  484. package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/utils.esm.js.map +1 -0
  485. package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/types.amd.js +2 -0
  486. package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/types.amd.js.map +1 -0
  487. package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/types.esm.js +2 -0
  488. package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/types.esm.js.map +1 -0
  489. package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/utils.amd.js +2 -0
  490. package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/utils.amd.js.map +1 -0
  491. package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/utils.esm.js +2 -0
  492. package/dist/browser/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/utils.esm.js.map +1 -0
  493. package/dist/browser/services/AuditorService.amd.js +2 -0
  494. package/dist/browser/services/AuditorService.amd.js.map +1 -0
  495. package/dist/browser/services/AuditorService.esm.js +2 -0
  496. package/dist/browser/services/AuditorService.esm.js.map +1 -0
  497. package/dist/browser/services/ChronicleService.amd.js +2 -0
  498. package/dist/browser/services/ChronicleService.amd.js.map +1 -0
  499. package/dist/browser/services/ChronicleService.esm.js +2 -0
  500. package/dist/browser/services/ChronicleService.esm.js.map +1 -0
  501. package/dist/browser/services/MonitorService.amd.js +2 -0
  502. package/dist/browser/services/MonitorService.amd.js.map +1 -0
  503. package/dist/browser/services/MonitorService.esm.js +2 -0
  504. package/dist/browser/services/MonitorService.esm.js.map +1 -0
  505. package/dist/browser/services/RelayService.amd.js +2 -0
  506. package/dist/browser/services/RelayService.amd.js.map +1 -0
  507. package/dist/browser/services/RelayService.esm.js +2 -0
  508. package/dist/browser/services/RelayService.esm.js.map +1 -0
  509. package/dist/browser/services/Service.amd.js +2 -0
  510. package/dist/browser/services/Service.amd.js.map +1 -0
  511. package/dist/browser/services/Service.esm.js +2 -0
  512. package/dist/browser/services/Service.esm.js.map +1 -0
  513. package/dist/browser/services/index.amd.js +71 -0
  514. package/dist/browser/services/index.amd.js.map +1 -0
  515. package/dist/browser/services/index.esm.js +2 -0
  516. package/dist/browser/services/index.esm.js.map +1 -0
  517. package/dist/browser/transform/TransformCheck.amd.js +2 -0
  518. package/dist/browser/transform/TransformCheck.amd.js.map +1 -0
  519. package/dist/browser/transform/TransformCheck.esm.js +2 -0
  520. package/dist/browser/transform/TransformCheck.esm.js.map +1 -0
  521. package/dist/browser/transform/TransformEvent.amd.js +2 -0
  522. package/dist/browser/transform/TransformEvent.amd.js.map +1 -0
  523. package/dist/browser/transform/TransformEvent.esm.js +2 -0
  524. package/dist/browser/transform/TransformEvent.esm.js.map +1 -0
  525. package/dist/browser/transform/TransformMonitors.amd.js +2 -0
  526. package/dist/browser/transform/TransformMonitors.amd.js.map +1 -0
  527. package/dist/browser/transform/TransformMonitors.esm.js +2 -0
  528. package/dist/browser/transform/TransformMonitors.esm.js.map +1 -0
  529. package/dist/browser/transform/TransformRelays.amd.js +2 -0
  530. package/dist/browser/transform/TransformRelays.amd.js.map +1 -0
  531. package/dist/browser/transform/TransformRelays.esm.js +2 -0
  532. package/dist/browser/transform/TransformRelays.esm.js.map +1 -0
  533. package/dist/browser/transform/index.amd.js +71 -0
  534. package/dist/browser/transform/index.amd.js.map +1 -0
  535. package/dist/browser/transform/index.esm.js +2 -0
  536. package/dist/browser/transform/index.esm.js.map +1 -0
  537. package/dist/browser/utils/SyncKeys.amd.js +2 -0
  538. package/dist/browser/utils/SyncKeys.amd.js.map +1 -0
  539. package/dist/browser/utils/SyncKeys.esm.js +2 -0
  540. package/dist/browser/utils/SyncKeys.esm.js.map +1 -0
  541. package/dist/browser/utils/classes.amd.js +2 -0
  542. package/dist/browser/utils/classes.amd.js.map +1 -0
  543. package/dist/browser/utils/classes.esm.js +2 -0
  544. package/dist/browser/utils/classes.esm.js.map +1 -0
  545. package/dist/browser/utils/encoding.amd.js +2 -0
  546. package/dist/browser/utils/encoding.amd.js.map +1 -0
  547. package/dist/browser/utils/encoding.esm.js +2 -0
  548. package/dist/browser/utils/encoding.esm.js.map +1 -0
  549. package/dist/browser/utils/events.amd.js +2 -0
  550. package/dist/browser/utils/events.amd.js.map +1 -0
  551. package/dist/browser/utils/events.esm.js +2 -0
  552. package/dist/browser/utils/events.esm.js.map +1 -0
  553. package/dist/browser/utils/general.amd.js +2 -0
  554. package/dist/browser/utils/general.amd.js.map +1 -0
  555. package/dist/browser/utils/general.esm.js +2 -0
  556. package/dist/browser/utils/general.esm.js.map +1 -0
  557. package/dist/browser/utils/geo.amd.js +2 -0
  558. package/dist/browser/utils/geo.amd.js.map +1 -0
  559. package/dist/browser/utils/geo.esm.js +2 -0
  560. package/dist/browser/utils/geo.esm.js.map +1 -0
  561. package/dist/browser/utils/hash.amd.js +2 -0
  562. package/dist/browser/utils/hash.amd.js.map +1 -0
  563. package/dist/browser/utils/hash.esm.js +2 -0
  564. package/dist/browser/utils/hash.esm.js.map +1 -0
  565. package/dist/browser/utils/index.amd.js +71 -0
  566. package/dist/browser/utils/index.amd.js.map +1 -0
  567. package/dist/browser/utils/index.esm.js +2 -0
  568. package/dist/browser/utils/index.esm.js.map +1 -0
  569. package/dist/browser/utils/monitors.amd.js +2 -0
  570. package/dist/browser/utils/monitors.amd.js.map +1 -0
  571. package/dist/browser/utils/monitors.esm.js +2 -0
  572. package/dist/browser/utils/monitors.esm.js.map +1 -0
  573. package/dist/browser/utils/nostr.amd.js +2 -0
  574. package/dist/browser/utils/nostr.amd.js.map +1 -0
  575. package/dist/browser/utils/nostr.esm.js +2 -0
  576. package/dist/browser/utils/nostr.esm.js.map +1 -0
  577. package/dist/browser/utils/pfp.amd.js +2 -0
  578. package/dist/browser/utils/pfp.amd.js.map +1 -0
  579. package/dist/browser/utils/pfp.esm.js +2 -0
  580. package/dist/browser/utils/pfp.esm.js.map +1 -0
  581. package/dist/node/core/Adapter.js +205 -0
  582. package/dist/node/core/Adapter.js.map +1 -0
  583. package/dist/node/core/AdapterCacheWorker.js +170 -0
  584. package/dist/node/core/AdapterCacheWorker.js.map +1 -0
  585. package/dist/node/core/AdapterWebsocketQueue.js +27 -0
  586. package/dist/node/core/AdapterWebsocketQueue.js.map +1 -0
  587. package/dist/node/core/AdapterWebsocketWorker.js +374 -0
  588. package/dist/node/core/AdapterWebsocketWorker.js.map +1 -0
  589. package/dist/node/core/AdapterWorker.js +250 -0
  590. package/dist/node/core/AdapterWorker.js.map +1 -0
  591. package/dist/node/core/Base.js +359 -0
  592. package/dist/node/core/Base.js.map +1 -0
  593. package/dist/node/core/Batcher.js +63 -0
  594. package/dist/node/core/Batcher.js.map +1 -0
  595. package/dist/node/core/CacheAdapter.js +113 -0
  596. package/dist/node/core/CacheAdapter.js.map +1 -0
  597. package/dist/node/core/Checkpoints.js +52 -0
  598. package/dist/node/core/Checkpoints.js.map +1 -0
  599. package/dist/node/core/LocalStorageWrapper.js +109 -0
  600. package/dist/node/core/LocalStorageWrapper.js.map +1 -0
  601. package/dist/node/core/Loggerr.js +3 -0
  602. package/dist/node/core/Loggerr.js.map +1 -0
  603. package/dist/node/core/Memory.js +19 -0
  604. package/dist/node/core/Memory.js.map +1 -0
  605. package/dist/node/core/Queue.js +158 -0
  606. package/dist/node/core/Queue.js.map +1 -0
  607. package/dist/node/core/Routine.js +7 -0
  608. package/dist/node/core/Routine.js.map +1 -0
  609. package/dist/node/core/Subscriber.js +75 -0
  610. package/dist/node/core/Subscriber.js.map +1 -0
  611. package/dist/node/core/WebsocketAdapter.js +488 -0
  612. package/dist/node/core/WebsocketAdapter.js.map +1 -0
  613. package/dist/node/core/Workers.js +172 -0
  614. package/dist/node/core/Workers.js.map +1 -0
  615. package/dist/node/core/index.js +12 -0
  616. package/dist/node/core/index.js.map +1 -0
  617. package/dist/node/factory/cache.shared.worker.js +58 -0
  618. package/dist/node/factory/cache.shared.worker.js.map +1 -0
  619. package/dist/node/factory/cache.worker.js +4 -0
  620. package/dist/node/factory/cache.worker.js.map +1 -0
  621. package/dist/node/factory/index.js +3 -0
  622. package/dist/node/factory/index.js.map +1 -0
  623. package/dist/node/helpers/filters.js +7 -0
  624. package/dist/node/helpers/filters.js.map +1 -0
  625. package/dist/node/index.js +10 -0
  626. package/dist/node/index.js.map +1 -0
  627. package/dist/node/interfaces/IAdapterWorkerCommand.js +2 -0
  628. package/dist/node/interfaces/IAdapterWorkerCommand.js.map +1 -0
  629. package/dist/node/interfaces/IAdaptersArgument.js +2 -0
  630. package/dist/node/interfaces/IAdaptersArgument.js.map +1 -0
  631. package/dist/node/interfaces/ICacheAdapter.js +37 -0
  632. package/dist/node/interfaces/ICacheAdapter.js.map +1 -0
  633. package/dist/node/interfaces/ICacheAdapterSharedWorkerCommand.js +2 -0
  634. package/dist/node/interfaces/ICacheAdapterSharedWorkerCommand.js.map +1 -0
  635. package/dist/node/interfaces/INostrEvent.js +2 -0
  636. package/dist/node/interfaces/INostrEvent.js.map +1 -0
  637. package/dist/node/interfaces/ISharedWorkerGlobalScope.js +2 -0
  638. package/dist/node/interfaces/ISharedWorkerGlobalScope.js.map +1 -0
  639. package/dist/node/interfaces/IWorkerCommand.js +2 -0
  640. package/dist/node/interfaces/IWorkerCommand.js.map +1 -0
  641. package/dist/node/interfaces/IWorkerGlobalScope.js +2 -0
  642. package/dist/node/interfaces/IWorkerGlobalScope.js.map +1 -0
  643. package/dist/node/interfaces/TISO13166.js +2 -0
  644. package/dist/node/interfaces/TISO13166.js.map +1 -0
  645. package/dist/node/interfaces/index.js +2 -0
  646. package/dist/node/interfaces/index.js.map +1 -0
  647. package/dist/node/managers/MonitorManager.js +251 -0
  648. package/dist/node/managers/MonitorManager.js.map +1 -0
  649. package/dist/node/managers/StageManager.js +86 -0
  650. package/dist/node/managers/StageManager.js.map +1 -0
  651. package/dist/node/managers/StateManager.js +173 -0
  652. package/dist/node/managers/StateManager.js.map +1 -0
  653. package/dist/node/managers/SyncStateManager.js +56 -0
  654. package/dist/node/managers/SyncStateManager.js.map +1 -0
  655. package/dist/node/models/Check.js +2 -0
  656. package/dist/node/models/Check.js.map +1 -0
  657. package/dist/node/models/DeltaEvent.js +198 -0
  658. package/dist/node/models/DeltaEvent.js.map +1 -0
  659. package/dist/node/models/Event.js +209 -0
  660. package/dist/node/models/Event.js.map +1 -0
  661. package/dist/node/models/EventEncoded.js +2 -0
  662. package/dist/node/models/EventEncoded.js.map +1 -0
  663. package/dist/node/models/Geocode.js +2 -0
  664. package/dist/node/models/Geocode.js.map +1 -0
  665. package/dist/node/models/Geocoded.js +608 -0
  666. package/dist/node/models/Geocoded.js.map +1 -0
  667. package/dist/node/models/Geohash.js +2 -0
  668. package/dist/node/models/Geohash.js.map +1 -0
  669. package/dist/node/models/Monitor.js +493 -0
  670. package/dist/node/models/Monitor.js.map +1 -0
  671. package/dist/node/models/MonitorRegistration.js +54 -0
  672. package/dist/node/models/MonitorRegistration.js.map +1 -0
  673. package/dist/node/models/Nip11.js +352 -0
  674. package/dist/node/models/Nip11.js.map +1 -0
  675. package/dist/node/models/Nip66CheckEvent.js +532 -0
  676. package/dist/node/models/Nip66CheckEvent.js.map +1 -0
  677. package/dist/node/models/PubkeyProfile.js +121 -0
  678. package/dist/node/models/PubkeyProfile.js.map +1 -0
  679. package/dist/node/models/PubkeyRelays.js +32 -0
  680. package/dist/node/models/PubkeyRelays.js.map +1 -0
  681. package/dist/node/models/Relay.js +2 -0
  682. package/dist/node/models/Relay.js.map +1 -0
  683. package/dist/node/models/RelayCheckAggregate.js +220 -0
  684. package/dist/node/models/RelayCheckAggregate.js.map +1 -0
  685. package/dist/node/models/Ssl.js +2 -0
  686. package/dist/node/models/Ssl.js.map +1 -0
  687. package/dist/node/models/_.js +8 -0
  688. package/dist/node/models/_.js.map +1 -0
  689. package/dist/node/models/index.js +11 -0
  690. package/dist/node/models/index.js.map +1 -0
  691. package/dist/node/routines/PurgeInactiveMonitors.js +68 -0
  692. package/dist/node/routines/PurgeInactiveMonitors.js.map +1 -0
  693. package/dist/node/routines/PurgeOldChecks.js +68 -0
  694. package/dist/node/routines/PurgeOldChecks.js.map +1 -0
  695. package/dist/node/services/AuditorService.js +25 -0
  696. package/dist/node/services/AuditorService.js.map +1 -0
  697. package/dist/node/services/ChronicleService.js +788 -0
  698. package/dist/node/services/ChronicleService.js.map +1 -0
  699. package/dist/node/services/MonitorService.js +1020 -0
  700. package/dist/node/services/MonitorService.js.map +1 -0
  701. package/dist/node/services/RelayService.js +391 -0
  702. package/dist/node/services/RelayService.js.map +1 -0
  703. package/dist/node/services/Service.js +533 -0
  704. package/dist/node/services/Service.js.map +1 -0
  705. package/dist/node/services/index.js +6 -0
  706. package/dist/node/services/index.js.map +1 -0
  707. package/dist/node/transform/TransformCheck.js +51 -0
  708. package/dist/node/transform/TransformCheck.js.map +1 -0
  709. package/dist/node/transform/TransformEvent.js +33 -0
  710. package/dist/node/transform/TransformEvent.js.map +1 -0
  711. package/dist/node/transform/TransformMonitors.js +129 -0
  712. package/dist/node/transform/TransformMonitors.js.map +1 -0
  713. package/dist/node/transform/TransformRelays.js +339 -0
  714. package/dist/node/transform/TransformRelays.js.map +1 -0
  715. package/dist/node/transform/index.js +4 -0
  716. package/dist/node/transform/index.js.map +1 -0
  717. package/dist/node/utils/SyncKeys.js +17 -0
  718. package/dist/node/utils/SyncKeys.js.map +1 -0
  719. package/dist/node/utils/classes.js +41 -0
  720. package/dist/node/utils/classes.js.map +1 -0
  721. package/dist/node/utils/encoding.js +59 -0
  722. package/dist/node/utils/encoding.js.map +1 -0
  723. package/dist/node/utils/events.js +26 -0
  724. package/dist/node/utils/events.js.map +1 -0
  725. package/dist/node/utils/general.js +142 -0
  726. package/dist/node/utils/general.js.map +1 -0
  727. package/dist/node/utils/geo.js +14 -0
  728. package/dist/node/utils/geo.js.map +1 -0
  729. package/dist/node/utils/hash.js +103 -0
  730. package/dist/node/utils/hash.js.map +1 -0
  731. package/dist/node/utils/index.js +8 -0
  732. package/dist/node/utils/index.js.map +1 -0
  733. package/dist/node/utils/monitors.js +3 -0
  734. package/dist/node/utils/monitors.js.map +1 -0
  735. package/dist/node/utils/nostr.js +38 -0
  736. package/dist/node/utils/nostr.js.map +1 -0
  737. package/dist/node/utils/pfp.js +231 -0
  738. package/dist/node/utils/pfp.js.map +1 -0
  739. package/dist/node/workers/nocap.worker.js +2 -0
  740. package/dist/node/workers/nocap.worker.js.map +1 -0
  741. package/dist/server/_virtual/_commonjsHelpers.cjs.js +2 -0
  742. package/dist/server/_virtual/_commonjsHelpers.cjs.js.map +1 -0
  743. package/dist/server/_virtual/_commonjsHelpers.esm.js +2 -0
  744. package/dist/server/_virtual/_commonjsHelpers.esm.js.map +1 -0
  745. package/dist/server/_virtual/_tslib.cjs.js +2 -0
  746. package/dist/server/_virtual/_tslib.cjs.js.map +1 -0
  747. package/dist/server/_virtual/_tslib.esm.js +2 -0
  748. package/dist/server/_virtual/_tslib.esm.js.map +1 -0
  749. package/dist/server/_virtual/bake-collection.cjs.js +2 -0
  750. package/dist/server/_virtual/bake-collection.cjs.js.map +1 -0
  751. package/dist/server/_virtual/bake-collection.esm.js +2 -0
  752. package/dist/server/_virtual/bake-collection.esm.js.map +1 -0
  753. package/dist/server/_virtual/bolt11.cjs.js +2 -0
  754. package/dist/server/_virtual/bolt11.cjs.js.map +1 -0
  755. package/dist/server/_virtual/bolt11.esm.js +2 -0
  756. package/dist/server/_virtual/bolt11.esm.js.map +1 -0
  757. package/dist/server/_virtual/ee.cjs.js +2 -0
  758. package/dist/server/_virtual/ee.cjs.js.map +1 -0
  759. package/dist/server/_virtual/ee.esm.js +2 -0
  760. package/dist/server/_virtual/ee.esm.js.map +1 -0
  761. package/dist/server/_virtual/index.cjs.js +2 -0
  762. package/dist/server/_virtual/index.cjs.js.map +1 -0
  763. package/dist/server/_virtual/index.cjs2.js +2 -0
  764. package/dist/server/_virtual/index.cjs2.js.map +1 -0
  765. package/dist/server/_virtual/index.cjs3.js +2 -0
  766. package/dist/server/_virtual/index.cjs3.js.map +1 -0
  767. package/dist/server/_virtual/index.cjs4.js +2 -0
  768. package/dist/server/_virtual/index.cjs4.js.map +1 -0
  769. package/dist/server/_virtual/index.cjs5.js +2 -0
  770. package/dist/server/_virtual/index.cjs5.js.map +1 -0
  771. package/dist/server/_virtual/index.cjs6.js +2 -0
  772. package/dist/server/_virtual/index.cjs6.js.map +1 -0
  773. package/dist/server/_virtual/index.esm.js +2 -0
  774. package/dist/server/_virtual/index.esm.js.map +1 -0
  775. package/dist/server/_virtual/index.esm2.js +2 -0
  776. package/dist/server/_virtual/index.esm2.js.map +1 -0
  777. package/dist/server/_virtual/index.esm3.js +2 -0
  778. package/dist/server/_virtual/index.esm3.js.map +1 -0
  779. package/dist/server/_virtual/index.esm4.js +2 -0
  780. package/dist/server/_virtual/index.esm4.js.map +1 -0
  781. package/dist/server/_virtual/index.esm5.js +2 -0
  782. package/dist/server/_virtual/index.esm5.js.map +1 -0
  783. package/dist/server/_virtual/index.esm6.js +2 -0
  784. package/dist/server/_virtual/index.esm6.js.map +1 -0
  785. package/dist/server/_virtual/task-collection.cjs.js +2 -0
  786. package/dist/server/_virtual/task-collection.cjs.js.map +1 -0
  787. package/dist/server/_virtual/task-collection.esm.js +2 -0
  788. package/dist/server/_virtual/task-collection.esm.js.map +1 -0
  789. package/dist/server/_virtual/types.cjs.js +2 -0
  790. package/dist/server/_virtual/types.cjs.js.map +1 -0
  791. package/dist/server/_virtual/types.esm.js +2 -0
  792. package/dist/server/_virtual/types.esm.js.map +1 -0
  793. package/dist/server/_virtual/utils.cjs.js +2 -0
  794. package/dist/server/_virtual/utils.cjs.js.map +1 -0
  795. package/dist/server/_virtual/utils.cjs2.js +2 -0
  796. package/dist/server/_virtual/utils.cjs2.js.map +1 -0
  797. package/dist/server/_virtual/utils.esm.js +2 -0
  798. package/dist/server/_virtual/utils.esm.js.map +1 -0
  799. package/dist/server/_virtual/utils.esm2.js +2 -0
  800. package/dist/server/_virtual/utils.esm2.js.map +1 -0
  801. package/dist/server/core/Adapter.cjs.js +2 -0
  802. package/dist/server/core/Adapter.cjs.js.map +1 -0
  803. package/dist/server/core/Adapter.esm.js +2 -0
  804. package/dist/server/core/Adapter.esm.js.map +1 -0
  805. package/dist/server/core/AdapterCacheWorker.cjs.js +2 -0
  806. package/dist/server/core/AdapterCacheWorker.cjs.js.map +1 -0
  807. package/dist/server/core/AdapterCacheWorker.esm.js +2 -0
  808. package/dist/server/core/AdapterCacheWorker.esm.js.map +1 -0
  809. package/dist/server/core/AdapterWebsocketWorker.cjs.js +2 -0
  810. package/dist/server/core/AdapterWebsocketWorker.cjs.js.map +1 -0
  811. package/dist/server/core/AdapterWebsocketWorker.esm.js +2 -0
  812. package/dist/server/core/AdapterWebsocketWorker.esm.js.map +1 -0
  813. package/dist/server/core/AdapterWorker.cjs.js +2 -0
  814. package/dist/server/core/AdapterWorker.cjs.js.map +1 -0
  815. package/dist/server/core/AdapterWorker.esm.js +2 -0
  816. package/dist/server/core/AdapterWorker.esm.js.map +1 -0
  817. package/dist/server/core/Base.cjs.js +2 -0
  818. package/dist/server/core/Base.cjs.js.map +1 -0
  819. package/dist/server/core/Base.esm.js +2 -0
  820. package/dist/server/core/Base.esm.js.map +1 -0
  821. package/dist/server/core/Batcher.cjs.js +2 -0
  822. package/dist/server/core/Batcher.cjs.js.map +1 -0
  823. package/dist/server/core/Batcher.esm.js +2 -0
  824. package/dist/server/core/Batcher.esm.js.map +1 -0
  825. package/dist/server/core/CacheAdapter.cjs.js +2 -0
  826. package/dist/server/core/CacheAdapter.cjs.js.map +1 -0
  827. package/dist/server/core/CacheAdapter.esm.js +2 -0
  828. package/dist/server/core/CacheAdapter.esm.js.map +1 -0
  829. package/dist/server/core/LocalStorageWrapper.cjs.js +2 -0
  830. package/dist/server/core/LocalStorageWrapper.cjs.js.map +1 -0
  831. package/dist/server/core/LocalStorageWrapper.esm.js +2 -0
  832. package/dist/server/core/LocalStorageWrapper.esm.js.map +1 -0
  833. package/dist/server/core/Queue.cjs.js +2 -0
  834. package/dist/server/core/Queue.cjs.js.map +1 -0
  835. package/dist/server/core/Queue.esm.js +2 -0
  836. package/dist/server/core/Queue.esm.js.map +1 -0
  837. package/dist/server/core/WebsocketAdapter.cjs.js +2 -0
  838. package/dist/server/core/WebsocketAdapter.cjs.js.map +1 -0
  839. package/dist/server/core/WebsocketAdapter.esm.js +2 -0
  840. package/dist/server/core/WebsocketAdapter.esm.js.map +1 -0
  841. package/dist/server/core/Workers.cjs.js +2 -0
  842. package/dist/server/core/Workers.cjs.js.map +1 -0
  843. package/dist/server/core/Workers.esm.js +2 -0
  844. package/dist/server/core/Workers.esm.js.map +1 -0
  845. package/dist/server/core/index.cjs.js +2 -0
  846. package/dist/server/core/index.cjs.js.map +1 -0
  847. package/dist/server/core/index.esm.js +2 -0
  848. package/dist/server/core/index.esm.js.map +1 -0
  849. package/dist/server/factory/cache.shared.worker.cjs.js +2 -0
  850. package/dist/server/factory/cache.shared.worker.cjs.js.map +1 -0
  851. package/dist/server/factory/cache.shared.worker.esm.js +2 -0
  852. package/dist/server/factory/cache.shared.worker.esm.js.map +1 -0
  853. package/dist/server/factory/cache.worker.cjs.js +2 -0
  854. package/dist/server/factory/cache.worker.cjs.js.map +1 -0
  855. package/dist/server/factory/cache.worker.esm.js +2 -0
  856. package/dist/server/factory/cache.worker.esm.js.map +1 -0
  857. package/dist/server/factory/index.cjs.js +2 -0
  858. package/dist/server/factory/index.cjs.js.map +1 -0
  859. package/dist/server/factory/index.esm.js +2 -0
  860. package/dist/server/factory/index.esm.js.map +1 -0
  861. package/dist/server/index.cjs.js +2 -0
  862. package/dist/server/index.cjs.js.map +1 -0
  863. package/dist/server/index.esm.js +2 -0
  864. package/dist/server/index.esm.js.map +1 -0
  865. package/dist/server/interfaces/index.cjs.js +2 -0
  866. package/dist/server/interfaces/index.cjs.js.map +1 -0
  867. package/dist/server/interfaces/index.esm.js +2 -0
  868. package/dist/server/interfaces/index.esm.js.map +1 -0
  869. package/dist/server/internal/utils/dist/browser/_virtual/_tslib.esm.cjs.js +2 -0
  870. package/dist/server/internal/utils/dist/browser/_virtual/_tslib.esm.cjs.js.map +1 -0
  871. package/dist/server/internal/utils/dist/browser/_virtual/_tslib.esm.esm.js +2 -0
  872. package/dist/server/internal/utils/dist/browser/_virtual/_tslib.esm.esm.js.map +1 -0
  873. package/dist/server/internal/utils/dist/browser/config.esm.cjs.js +2 -0
  874. package/dist/server/internal/utils/dist/browser/config.esm.cjs.js.map +1 -0
  875. package/dist/server/internal/utils/dist/browser/config.esm.esm.js +2 -0
  876. package/dist/server/internal/utils/dist/browser/config.esm.esm.js.map +1 -0
  877. package/dist/server/internal/utils/dist/browser/controlflow.esm.cjs.js +2 -0
  878. package/dist/server/internal/utils/dist/browser/controlflow.esm.cjs.js.map +1 -0
  879. package/dist/server/internal/utils/dist/browser/controlflow.esm.esm.js +2 -0
  880. package/dist/server/internal/utils/dist/browser/controlflow.esm.esm.js.map +1 -0
  881. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/_shortw_utils.esm.cjs.js +4 -0
  882. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/_shortw_utils.esm.cjs.js.map +1 -0
  883. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/_shortw_utils.esm.esm.js +3 -0
  884. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/_shortw_utils.esm.esm.js.map +1 -0
  885. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/curve.esm.cjs.js +4 -0
  886. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/curve.esm.cjs.js.map +1 -0
  887. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/curve.esm.esm.js +3 -0
  888. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/curve.esm.esm.js.map +1 -0
  889. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/modular.esm.cjs.js +3 -0
  890. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/modular.esm.cjs.js.map +1 -0
  891. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/modular.esm.esm.js +3 -0
  892. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/modular.esm.esm.js.map +1 -0
  893. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/utils.esm.cjs.js +3 -0
  894. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/utils.esm.cjs.js.map +1 -0
  895. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/utils.esm.esm.js +3 -0
  896. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/utils.esm.esm.js.map +1 -0
  897. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/weierstrass.esm.cjs.js +4 -0
  898. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/weierstrass.esm.cjs.js.map +1 -0
  899. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/weierstrass.esm.esm.js +4 -0
  900. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/weierstrass.esm.esm.js.map +1 -0
  901. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/secp256k1.esm.cjs.js +3 -0
  902. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/secp256k1.esm.cjs.js.map +1 -0
  903. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/secp256k1.esm.esm.js +3 -0
  904. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/secp256k1.esm.esm.js.map +1 -0
  905. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_assert.esm.cjs.js +2 -0
  906. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_assert.esm.cjs.js.map +1 -0
  907. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_assert.esm.esm.js +2 -0
  908. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_assert.esm.esm.js.map +1 -0
  909. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_sha2.esm.cjs.js +2 -0
  910. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_sha2.esm.cjs.js.map +1 -0
  911. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_sha2.esm.esm.js +2 -0
  912. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_sha2.esm.esm.js.map +1 -0
  913. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/sha256.esm.cjs.js +2 -0
  914. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/sha256.esm.cjs.js.map +1 -0
  915. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/sha256.esm.esm.js +2 -0
  916. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/sha256.esm.esm.js.map +1 -0
  917. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/utils.esm.cjs.js +3 -0
  918. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/utils.esm.cjs.js.map +1 -0
  919. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/utils.esm.esm.js +3 -0
  920. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/utils.esm.esm.js.map +1 -0
  921. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_assert.esm.cjs.js +2 -0
  922. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_assert.esm.cjs.js.map +1 -0
  923. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_assert.esm.esm.js +2 -0
  924. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_assert.esm.esm.js.map +1 -0
  925. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_sha2.esm.cjs.js +2 -0
  926. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_sha2.esm.cjs.js.map +1 -0
  927. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_sha2.esm.esm.js +2 -0
  928. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_sha2.esm.esm.js.map +1 -0
  929. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/crypto.esm.cjs.js +2 -0
  930. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/crypto.esm.cjs.js.map +1 -0
  931. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/crypto.esm.esm.js +2 -0
  932. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/crypto.esm.esm.js.map +1 -0
  933. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/hmac.esm.cjs.js +2 -0
  934. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/hmac.esm.cjs.js.map +1 -0
  935. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/hmac.esm.esm.js +2 -0
  936. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/hmac.esm.esm.js.map +1 -0
  937. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/sha256.esm.cjs.js +2 -0
  938. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/sha256.esm.cjs.js.map +1 -0
  939. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/sha256.esm.esm.js +2 -0
  940. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/sha256.esm.esm.js.map +1 -0
  941. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/utils.esm.cjs.js +3 -0
  942. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/utils.esm.cjs.js.map +1 -0
  943. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/utils.esm.esm.js +3 -0
  944. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/utils.esm.esm.js.map +1 -0
  945. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.5.0/node_modules/@noble/hashes/esm/utils.esm.cjs.js +3 -0
  946. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.5.0/node_modules/@noble/hashes/esm/utils.esm.cjs.js.map +1 -0
  947. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.5.0/node_modules/@noble/hashes/esm/utils.esm.esm.js +3 -0
  948. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@noble_hashes@1.5.0/node_modules/@noble/hashes/esm/utils.esm.esm.js.map +1 -0
  949. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@scure_base@1.1.1/node_modules/@scure/base/lib/esm/index.esm.cjs.js +3 -0
  950. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@scure_base@1.1.1/node_modules/@scure/base/lib/esm/index.esm.cjs.js.map +1 -0
  951. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@scure_base@1.1.1/node_modules/@scure/base/lib/esm/index.esm.esm.js +3 -0
  952. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/@scure_base@1.1.1/node_modules/@scure/base/lib/esm/index.esm.esm.js.map +1 -0
  953. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/nostr-tools@2.11.0_typescript@5.8.3/node_modules/nostr-tools/lib/esm/nip19.esm.cjs.js +2 -0
  954. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/nostr-tools@2.11.0_typescript@5.8.3/node_modules/nostr-tools/lib/esm/nip19.esm.cjs.js.map +1 -0
  955. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/nostr-tools@2.11.0_typescript@5.8.3/node_modules/nostr-tools/lib/esm/nip19.esm.esm.js +2 -0
  956. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/nostr-tools@2.11.0_typescript@5.8.3/node_modules/nostr-tools/lib/esm/nip19.esm.esm.js.map +1 -0
  957. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/nostr-tools@2.11.0_typescript@5.8.3/node_modules/nostr-tools/lib/esm/pure.esm.cjs.js +2 -0
  958. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/nostr-tools@2.11.0_typescript@5.8.3/node_modules/nostr-tools/lib/esm/pure.esm.cjs.js.map +1 -0
  959. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/nostr-tools@2.11.0_typescript@5.8.3/node_modules/nostr-tools/lib/esm/pure.esm.esm.js +2 -0
  960. package/dist/server/internal/utils/dist/browser/node_modules/.pnpm/nostr-tools@2.11.0_typescript@5.8.3/node_modules/nostr-tools/lib/esm/pure.esm.esm.js.map +1 -0
  961. package/dist/server/managers/MonitorManager.cjs.js +2 -0
  962. package/dist/server/managers/MonitorManager.cjs.js.map +1 -0
  963. package/dist/server/managers/MonitorManager.esm.js +2 -0
  964. package/dist/server/managers/MonitorManager.esm.js.map +1 -0
  965. package/dist/server/managers/StateManager.cjs.js +2 -0
  966. package/dist/server/managers/StateManager.cjs.js.map +1 -0
  967. package/dist/server/managers/StateManager.esm.js +2 -0
  968. package/dist/server/managers/StateManager.esm.js.map +1 -0
  969. package/dist/server/managers/SyncStateManager.cjs.js +2 -0
  970. package/dist/server/managers/SyncStateManager.cjs.js.map +1 -0
  971. package/dist/server/managers/SyncStateManager.esm.js +2 -0
  972. package/dist/server/managers/SyncStateManager.esm.js.map +1 -0
  973. package/dist/server/models/DeltaEvent.cjs.js +2 -0
  974. package/dist/server/models/DeltaEvent.cjs.js.map +1 -0
  975. package/dist/server/models/DeltaEvent.esm.js +2 -0
  976. package/dist/server/models/DeltaEvent.esm.js.map +1 -0
  977. package/dist/server/models/Event.cjs.js +2 -0
  978. package/dist/server/models/Event.cjs.js.map +1 -0
  979. package/dist/server/models/Event.esm.js +2 -0
  980. package/dist/server/models/Event.esm.js.map +1 -0
  981. package/dist/server/models/Geocoded.cjs.js +2 -0
  982. package/dist/server/models/Geocoded.cjs.js.map +1 -0
  983. package/dist/server/models/Geocoded.esm.js +2 -0
  984. package/dist/server/models/Geocoded.esm.js.map +1 -0
  985. package/dist/server/models/Monitor.cjs.js +2 -0
  986. package/dist/server/models/Monitor.cjs.js.map +1 -0
  987. package/dist/server/models/Monitor.esm.js +2 -0
  988. package/dist/server/models/Monitor.esm.js.map +1 -0
  989. package/dist/server/models/MonitorRegistration.cjs.js +2 -0
  990. package/dist/server/models/MonitorRegistration.cjs.js.map +1 -0
  991. package/dist/server/models/MonitorRegistration.esm.js +2 -0
  992. package/dist/server/models/MonitorRegistration.esm.js.map +1 -0
  993. package/dist/server/models/Nip11.cjs.js +2 -0
  994. package/dist/server/models/Nip11.cjs.js.map +1 -0
  995. package/dist/server/models/Nip11.esm.js +2 -0
  996. package/dist/server/models/Nip11.esm.js.map +1 -0
  997. package/dist/server/models/Nip66CheckEvent.cjs.js +2 -0
  998. package/dist/server/models/Nip66CheckEvent.cjs.js.map +1 -0
  999. package/dist/server/models/Nip66CheckEvent.esm.js +2 -0
  1000. package/dist/server/models/Nip66CheckEvent.esm.js.map +1 -0
  1001. package/dist/server/models/PubkeyProfile.cjs.js +2 -0
  1002. package/dist/server/models/PubkeyProfile.cjs.js.map +1 -0
  1003. package/dist/server/models/PubkeyProfile.esm.js +2 -0
  1004. package/dist/server/models/PubkeyProfile.esm.js.map +1 -0
  1005. package/dist/server/models/PubkeyRelays.cjs.js +2 -0
  1006. package/dist/server/models/PubkeyRelays.cjs.js.map +1 -0
  1007. package/dist/server/models/PubkeyRelays.esm.js +2 -0
  1008. package/dist/server/models/PubkeyRelays.esm.js.map +1 -0
  1009. package/dist/server/models/RelayCheckAggregate.cjs.js +2 -0
  1010. package/dist/server/models/RelayCheckAggregate.cjs.js.map +1 -0
  1011. package/dist/server/models/RelayCheckAggregate.esm.js +2 -0
  1012. package/dist/server/models/RelayCheckAggregate.esm.js.map +1 -0
  1013. package/dist/server/models/_.cjs.js +2 -0
  1014. package/dist/server/models/_.cjs.js.map +1 -0
  1015. package/dist/server/models/_.esm.js +2 -0
  1016. package/dist/server/models/_.esm.js.map +1 -0
  1017. package/dist/server/models/index.cjs.js +2 -0
  1018. package/dist/server/models/index.cjs.js.map +1 -0
  1019. package/dist/server/models/index.esm.js +2 -0
  1020. package/dist/server/models/index.esm.js.map +1 -0
  1021. package/dist/server/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/_arx.cjs.js +2 -0
  1022. package/dist/server/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/_arx.cjs.js.map +1 -0
  1023. package/dist/server/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/_arx.esm.js +2 -0
  1024. package/dist/server/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/_arx.esm.js.map +1 -0
  1025. package/dist/server/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/_assert.cjs.js +2 -0
  1026. package/dist/server/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/_assert.cjs.js.map +1 -0
  1027. package/dist/server/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/_assert.esm.js +2 -0
  1028. package/dist/server/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/_assert.esm.js.map +1 -0
  1029. package/dist/server/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/aes.cjs.js +2 -0
  1030. package/dist/server/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/aes.cjs.js.map +1 -0
  1031. package/dist/server/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/aes.esm.js +2 -0
  1032. package/dist/server/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/aes.esm.js.map +1 -0
  1033. package/dist/server/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/chacha.cjs.js +2 -0
  1034. package/dist/server/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/chacha.cjs.js.map +1 -0
  1035. package/dist/server/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/chacha.esm.js +2 -0
  1036. package/dist/server/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/chacha.esm.js.map +1 -0
  1037. package/dist/server/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/utils.cjs.js +3 -0
  1038. package/dist/server/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/utils.cjs.js.map +1 -0
  1039. package/dist/server/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/utils.esm.js +3 -0
  1040. package/dist/server/node_modules/.pnpm/@noble_ciphers@0.5.3/node_modules/@noble/ciphers/esm/utils.esm.js.map +1 -0
  1041. package/dist/server/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/_shortw_utils.cjs.js +4 -0
  1042. package/dist/server/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/_shortw_utils.cjs.js.map +1 -0
  1043. package/dist/server/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/_shortw_utils.esm.js +4 -0
  1044. package/dist/server/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/_shortw_utils.esm.js.map +1 -0
  1045. package/dist/server/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/curve.cjs.js +4 -0
  1046. package/dist/server/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/curve.cjs.js.map +1 -0
  1047. package/dist/server/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/curve.esm.js +4 -0
  1048. package/dist/server/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/curve.esm.js.map +1 -0
  1049. package/dist/server/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/modular.cjs.js +3 -0
  1050. package/dist/server/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/modular.cjs.js.map +1 -0
  1051. package/dist/server/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/modular.esm.js +4 -0
  1052. package/dist/server/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/modular.esm.js.map +1 -0
  1053. package/dist/server/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/utils.cjs.js +3 -0
  1054. package/dist/server/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/utils.cjs.js.map +1 -0
  1055. package/dist/server/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/utils.esm.js +3 -0
  1056. package/dist/server/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/utils.esm.js.map +1 -0
  1057. package/dist/server/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/weierstrass.cjs.js +4 -0
  1058. package/dist/server/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/weierstrass.cjs.js.map +1 -0
  1059. package/dist/server/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/weierstrass.esm.js +4 -0
  1060. package/dist/server/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/abstract/weierstrass.esm.js.map +1 -0
  1061. package/dist/server/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/secp256k1.cjs.js +4 -0
  1062. package/dist/server/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/secp256k1.cjs.js.map +1 -0
  1063. package/dist/server/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/secp256k1.esm.js +3 -0
  1064. package/dist/server/node_modules/.pnpm/@noble_curves@1.2.0/node_modules/@noble/curves/esm/secp256k1.esm.js.map +1 -0
  1065. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_assert.cjs.js +2 -0
  1066. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_assert.cjs.js.map +1 -0
  1067. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_assert.esm.js +2 -0
  1068. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_assert.esm.js.map +1 -0
  1069. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_sha2.cjs.js +2 -0
  1070. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_sha2.cjs.js.map +1 -0
  1071. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_sha2.esm.js +2 -0
  1072. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/_sha2.esm.js.map +1 -0
  1073. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/crypto.cjs.js +2 -0
  1074. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/crypto.cjs.js.map +1 -0
  1075. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/crypto.esm.js +2 -0
  1076. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/crypto.esm.js.map +1 -0
  1077. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/hkdf.cjs.js +2 -0
  1078. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/hkdf.cjs.js.map +1 -0
  1079. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/hkdf.esm.js +2 -0
  1080. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/hkdf.esm.js.map +1 -0
  1081. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/hmac.cjs.js +2 -0
  1082. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/hmac.cjs.js.map +1 -0
  1083. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/hmac.esm.js +2 -0
  1084. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/hmac.esm.js.map +1 -0
  1085. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/sha256.cjs.js +2 -0
  1086. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/sha256.cjs.js.map +1 -0
  1087. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/sha256.esm.js +2 -0
  1088. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/sha256.esm.js.map +1 -0
  1089. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/utils.cjs.js +3 -0
  1090. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/utils.cjs.js.map +1 -0
  1091. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/utils.esm.js +4 -0
  1092. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.1/node_modules/@noble/hashes/esm/utils.esm.js.map +1 -0
  1093. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_assert.cjs.js +2 -0
  1094. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_assert.cjs.js.map +1 -0
  1095. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_assert.esm.js +2 -0
  1096. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_assert.esm.js.map +1 -0
  1097. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_sha2.cjs.js +2 -0
  1098. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_sha2.cjs.js.map +1 -0
  1099. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_sha2.esm.js +2 -0
  1100. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/_sha2.esm.js.map +1 -0
  1101. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/crypto.cjs.js +2 -0
  1102. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/crypto.cjs.js.map +1 -0
  1103. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/crypto.esm.js +2 -0
  1104. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/crypto.esm.js.map +1 -0
  1105. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/hmac.cjs.js +2 -0
  1106. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/hmac.cjs.js.map +1 -0
  1107. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/hmac.esm.js +2 -0
  1108. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/hmac.esm.js.map +1 -0
  1109. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/sha256.cjs.js +2 -0
  1110. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/sha256.cjs.js.map +1 -0
  1111. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/sha256.esm.js +2 -0
  1112. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/sha256.esm.js.map +1 -0
  1113. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/utils.cjs.js +3 -0
  1114. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/utils.cjs.js.map +1 -0
  1115. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/utils.esm.js +4 -0
  1116. package/dist/server/node_modules/.pnpm/@noble_hashes@1.3.2/node_modules/@noble/hashes/esm/utils.esm.js.map +1 -0
  1117. package/dist/server/node_modules/.pnpm/@scure_base@1.1.1/node_modules/@scure/base/lib/esm/index.cjs.js +3 -0
  1118. package/dist/server/node_modules/.pnpm/@scure_base@1.1.1/node_modules/@scure/base/lib/esm/index.cjs.js.map +1 -0
  1119. package/dist/server/node_modules/.pnpm/@scure_base@1.1.1/node_modules/@scure/base/lib/esm/index.esm.js +3 -0
  1120. package/dist/server/node_modules/.pnpm/@scure_base@1.1.1/node_modules/@scure/base/lib/esm/index.esm.js.map +1 -0
  1121. package/dist/server/node_modules/.pnpm/@scure_base@1.1.1/node_modules/@scure/base/lib/index.cjs.js +4 -0
  1122. package/dist/server/node_modules/.pnpm/@scure_base@1.1.1/node_modules/@scure/base/lib/index.cjs.js.map +1 -0
  1123. package/dist/server/node_modules/.pnpm/@scure_base@1.1.1/node_modules/@scure/base/lib/index.esm.js +4 -0
  1124. package/dist/server/node_modules/.pnpm/@scure_base@1.1.1/node_modules/@scure/base/lib/index.esm.js.map +1 -0
  1125. package/dist/server/node_modules/.pnpm/eventemitter3@5.0.1/node_modules/eventemitter3/index.cjs.js +2 -0
  1126. package/dist/server/node_modules/.pnpm/eventemitter3@5.0.1/node_modules/eventemitter3/index.cjs.js.map +1 -0
  1127. package/dist/server/node_modules/.pnpm/eventemitter3@5.0.1/node_modules/eventemitter3/index.esm.js +2 -0
  1128. package/dist/server/node_modules/.pnpm/eventemitter3@5.0.1/node_modules/eventemitter3/index.esm.js.map +1 -0
  1129. package/dist/server/node_modules/.pnpm/jsurl2@2.2.0/node_modules/jsurl2/dist/index.cjs.js +2 -0
  1130. package/dist/server/node_modules/.pnpm/jsurl2@2.2.0/node_modules/jsurl2/dist/index.cjs.js.map +1 -0
  1131. package/dist/server/node_modules/.pnpm/jsurl2@2.2.0/node_modules/jsurl2/dist/index.esm.js +2 -0
  1132. package/dist/server/node_modules/.pnpm/jsurl2@2.2.0/node_modules/jsurl2/dist/index.esm.js.map +1 -0
  1133. package/dist/server/node_modules/.pnpm/light-bolt11-decoder@3.2.0/node_modules/light-bolt11-decoder/bolt11.cjs.js +2 -0
  1134. package/dist/server/node_modules/.pnpm/light-bolt11-decoder@3.2.0/node_modules/light-bolt11-decoder/bolt11.cjs.js.map +1 -0
  1135. package/dist/server/node_modules/.pnpm/light-bolt11-decoder@3.2.0/node_modules/light-bolt11-decoder/bolt11.esm.js +2 -0
  1136. package/dist/server/node_modules/.pnpm/light-bolt11-decoder@3.2.0/node_modules/light-bolt11-decoder/bolt11.esm.js.map +1 -0
  1137. package/dist/server/node_modules/.pnpm/nostr-tools@2.11.0_typescript@5.8.3/node_modules/nostr-tools/lib/esm/index.cjs.js +2 -0
  1138. package/dist/server/node_modules/.pnpm/nostr-tools@2.11.0_typescript@5.8.3/node_modules/nostr-tools/lib/esm/index.cjs.js.map +1 -0
  1139. package/dist/server/node_modules/.pnpm/nostr-tools@2.11.0_typescript@5.8.3/node_modules/nostr-tools/lib/esm/index.esm.js +2 -0
  1140. package/dist/server/node_modules/.pnpm/nostr-tools@2.11.0_typescript@5.8.3/node_modules/nostr-tools/lib/esm/index.esm.js.map +1 -0
  1141. package/dist/server/node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/index.cjs.js +2 -0
  1142. package/dist/server/node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/index.cjs.js.map +1 -0
  1143. package/dist/server/node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/index.esm.js +2 -0
  1144. package/dist/server/node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/index.esm.js.map +1 -0
  1145. package/dist/server/node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/lower-bound.cjs.js +2 -0
  1146. package/dist/server/node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/lower-bound.cjs.js.map +1 -0
  1147. package/dist/server/node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/lower-bound.esm.js +2 -0
  1148. package/dist/server/node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/lower-bound.esm.js.map +1 -0
  1149. package/dist/server/node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/priority-queue.cjs.js +2 -0
  1150. package/dist/server/node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/priority-queue.cjs.js.map +1 -0
  1151. package/dist/server/node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/priority-queue.esm.js +2 -0
  1152. package/dist/server/node_modules/.pnpm/p-queue@8.0.1/node_modules/p-queue/dist/priority-queue.esm.js.map +1 -0
  1153. package/dist/server/node_modules/.pnpm/p-timeout@6.1.4/node_modules/p-timeout/index.cjs.js +2 -0
  1154. package/dist/server/node_modules/.pnpm/p-timeout@6.1.4/node_modules/p-timeout/index.cjs.js.map +1 -0
  1155. package/dist/server/node_modules/.pnpm/p-timeout@6.1.4/node_modules/p-timeout/index.esm.js +2 -0
  1156. package/dist/server/node_modules/.pnpm/p-timeout@6.1.4/node_modules/p-timeout/index.esm.js.map +1 -0
  1157. package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/ee.cjs.js +2 -0
  1158. package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/ee.cjs.js.map +1 -0
  1159. package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/ee.esm.js +2 -0
  1160. package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/ee.esm.js.map +1 -0
  1161. package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/index.cjs.js +2 -0
  1162. package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/index.cjs.js.map +1 -0
  1163. package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/index.esm.js +2 -0
  1164. package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/index.esm.js.map +1 -0
  1165. package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/bake-collection.cjs.js +2 -0
  1166. package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/bake-collection.cjs.js.map +1 -0
  1167. package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/bake-collection.esm.js +2 -0
  1168. package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/bake-collection.esm.js.map +1 -0
  1169. package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/index.cjs.js +2 -0
  1170. package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/index.cjs.js.map +1 -0
  1171. package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/index.esm.js +2 -0
  1172. package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/index.esm.js.map +1 -0
  1173. package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/task-collection.cjs.js +2 -0
  1174. package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/task-collection.cjs.js.map +1 -0
  1175. package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/task-collection.esm.js +2 -0
  1176. package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/task-collection.esm.js.map +1 -0
  1177. package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/utils.cjs.js +2 -0
  1178. package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/utils.cjs.js.map +1 -0
  1179. package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/utils.esm.js +2 -0
  1180. package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/task-collection/utils.esm.js.map +1 -0
  1181. package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/types.cjs.js +2 -0
  1182. package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/types.cjs.js.map +1 -0
  1183. package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/types.esm.js +2 -0
  1184. package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/types.esm.js.map +1 -0
  1185. package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/utils.cjs.js +2 -0
  1186. package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/utils.cjs.js.map +1 -0
  1187. package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/utils.esm.js +2 -0
  1188. package/dist/server/node_modules/.pnpm/tseep@1.3.1/node_modules/tseep/lib/utils.esm.js.map +1 -0
  1189. package/dist/server/services/AuditorService.cjs.js +2 -0
  1190. package/dist/server/services/AuditorService.cjs.js.map +1 -0
  1191. package/dist/server/services/AuditorService.esm.js +2 -0
  1192. package/dist/server/services/AuditorService.esm.js.map +1 -0
  1193. package/dist/server/services/ChronicleService.cjs.js +2 -0
  1194. package/dist/server/services/ChronicleService.cjs.js.map +1 -0
  1195. package/dist/server/services/ChronicleService.esm.js +2 -0
  1196. package/dist/server/services/ChronicleService.esm.js.map +1 -0
  1197. package/dist/server/services/MonitorService.cjs.js +2 -0
  1198. package/dist/server/services/MonitorService.cjs.js.map +1 -0
  1199. package/dist/server/services/MonitorService.esm.js +2 -0
  1200. package/dist/server/services/MonitorService.esm.js.map +1 -0
  1201. package/dist/server/services/RelayService.cjs.js +2 -0
  1202. package/dist/server/services/RelayService.cjs.js.map +1 -0
  1203. package/dist/server/services/RelayService.esm.js +2 -0
  1204. package/dist/server/services/RelayService.esm.js.map +1 -0
  1205. package/dist/server/services/Service.cjs.js +2 -0
  1206. package/dist/server/services/Service.cjs.js.map +1 -0
  1207. package/dist/server/services/Service.esm.js +2 -0
  1208. package/dist/server/services/Service.esm.js.map +1 -0
  1209. package/dist/server/services/index.cjs.js +2 -0
  1210. package/dist/server/services/index.cjs.js.map +1 -0
  1211. package/dist/server/services/index.esm.js +2 -0
  1212. package/dist/server/services/index.esm.js.map +1 -0
  1213. package/dist/server/transform/TransformCheck.cjs.js +2 -0
  1214. package/dist/server/transform/TransformCheck.cjs.js.map +1 -0
  1215. package/dist/server/transform/TransformCheck.esm.js +2 -0
  1216. package/dist/server/transform/TransformCheck.esm.js.map +1 -0
  1217. package/dist/server/transform/TransformEvent.cjs.js +2 -0
  1218. package/dist/server/transform/TransformEvent.cjs.js.map +1 -0
  1219. package/dist/server/transform/TransformEvent.esm.js +2 -0
  1220. package/dist/server/transform/TransformEvent.esm.js.map +1 -0
  1221. package/dist/server/transform/TransformMonitors.cjs.js +2 -0
  1222. package/dist/server/transform/TransformMonitors.cjs.js.map +1 -0
  1223. package/dist/server/transform/TransformMonitors.esm.js +2 -0
  1224. package/dist/server/transform/TransformMonitors.esm.js.map +1 -0
  1225. package/dist/server/transform/TransformRelays.cjs.js +2 -0
  1226. package/dist/server/transform/TransformRelays.cjs.js.map +1 -0
  1227. package/dist/server/transform/TransformRelays.esm.js +2 -0
  1228. package/dist/server/transform/TransformRelays.esm.js.map +1 -0
  1229. package/dist/server/transform/index.cjs.js +2 -0
  1230. package/dist/server/transform/index.cjs.js.map +1 -0
  1231. package/dist/server/transform/index.esm.js +2 -0
  1232. package/dist/server/transform/index.esm.js.map +1 -0
  1233. package/dist/server/utils/SyncKeys.cjs.js +2 -0
  1234. package/dist/server/utils/SyncKeys.cjs.js.map +1 -0
  1235. package/dist/server/utils/SyncKeys.esm.js +2 -0
  1236. package/dist/server/utils/SyncKeys.esm.js.map +1 -0
  1237. package/dist/server/utils/classes.cjs.js +2 -0
  1238. package/dist/server/utils/classes.cjs.js.map +1 -0
  1239. package/dist/server/utils/classes.esm.js +2 -0
  1240. package/dist/server/utils/classes.esm.js.map +1 -0
  1241. package/dist/server/utils/encoding.cjs.js +2 -0
  1242. package/dist/server/utils/encoding.cjs.js.map +1 -0
  1243. package/dist/server/utils/encoding.esm.js +2 -0
  1244. package/dist/server/utils/encoding.esm.js.map +1 -0
  1245. package/dist/server/utils/events.cjs.js +2 -0
  1246. package/dist/server/utils/events.cjs.js.map +1 -0
  1247. package/dist/server/utils/events.esm.js +2 -0
  1248. package/dist/server/utils/events.esm.js.map +1 -0
  1249. package/dist/server/utils/general.cjs.js +2 -0
  1250. package/dist/server/utils/general.cjs.js.map +1 -0
  1251. package/dist/server/utils/general.esm.js +2 -0
  1252. package/dist/server/utils/general.esm.js.map +1 -0
  1253. package/dist/server/utils/geo.cjs.js +2 -0
  1254. package/dist/server/utils/geo.cjs.js.map +1 -0
  1255. package/dist/server/utils/geo.esm.js +2 -0
  1256. package/dist/server/utils/geo.esm.js.map +1 -0
  1257. package/dist/server/utils/hash.cjs.js +2 -0
  1258. package/dist/server/utils/hash.cjs.js.map +1 -0
  1259. package/dist/server/utils/hash.esm.js +2 -0
  1260. package/dist/server/utils/hash.esm.js.map +1 -0
  1261. package/dist/server/utils/index.cjs.js +2 -0
  1262. package/dist/server/utils/index.cjs.js.map +1 -0
  1263. package/dist/server/utils/index.esm.js +2 -0
  1264. package/dist/server/utils/index.esm.js.map +1 -0
  1265. package/dist/server/utils/monitors.cjs.js +2 -0
  1266. package/dist/server/utils/monitors.cjs.js.map +1 -0
  1267. package/dist/server/utils/monitors.esm.js +2 -0
  1268. package/dist/server/utils/monitors.esm.js.map +1 -0
  1269. package/dist/server/utils/nostr.cjs.js +2 -0
  1270. package/dist/server/utils/nostr.cjs.js.map +1 -0
  1271. package/dist/server/utils/nostr.esm.js +2 -0
  1272. package/dist/server/utils/nostr.esm.js.map +1 -0
  1273. package/dist/server/utils/pfp.cjs.js +2 -0
  1274. package/dist/server/utils/pfp.cjs.js.map +1 -0
  1275. package/dist/server/utils/pfp.esm.js +2 -0
  1276. package/dist/server/utils/pfp.esm.js.map +1 -0
  1277. package/dist/types/core/Adapter.d.ts +58 -0
  1278. package/dist/types/core/Adapter.d.ts.map +1 -0
  1279. package/dist/types/core/AdapterCacheWorker.d.ts +28 -0
  1280. package/dist/types/core/AdapterCacheWorker.d.ts.map +1 -0
  1281. package/dist/types/core/AdapterWebsocketQueue.d.ts +7 -0
  1282. package/dist/types/core/AdapterWebsocketQueue.d.ts.map +1 -0
  1283. package/dist/types/core/AdapterWebsocketWorker.d.ts +78 -0
  1284. package/dist/types/core/AdapterWebsocketWorker.d.ts.map +1 -0
  1285. package/dist/types/core/AdapterWorker.d.ts +55 -0
  1286. package/dist/types/core/AdapterWorker.d.ts.map +1 -0
  1287. package/dist/types/core/Base.d.ts +53 -0
  1288. package/dist/types/core/Base.d.ts.map +1 -0
  1289. package/dist/types/core/Batcher.d.ts +19 -0
  1290. package/dist/types/core/Batcher.d.ts.map +1 -0
  1291. package/dist/types/core/CacheAdapter.d.ts +127 -0
  1292. package/dist/types/core/CacheAdapter.d.ts.map +1 -0
  1293. package/dist/types/core/Checkpoints.d.ts +8 -0
  1294. package/dist/types/core/Checkpoints.d.ts.map +1 -0
  1295. package/dist/types/core/LocalStorageWrapper.d.ts +19 -0
  1296. package/dist/types/core/LocalStorageWrapper.d.ts.map +1 -0
  1297. package/dist/types/core/Loggerr.d.ts +3 -0
  1298. package/dist/types/core/Loggerr.d.ts.map +1 -0
  1299. package/dist/types/core/Memory.d.ts +1 -0
  1300. package/dist/types/core/Memory.d.ts.map +1 -0
  1301. package/dist/types/core/Queue.d.ts +42 -0
  1302. package/dist/types/core/Queue.d.ts.map +1 -0
  1303. package/dist/types/core/Routine.d.ts +3 -0
  1304. package/dist/types/core/Routine.d.ts.map +1 -0
  1305. package/dist/types/core/Subscriber.d.ts +10 -0
  1306. package/dist/types/core/Subscriber.d.ts.map +1 -0
  1307. package/dist/types/core/WebsocketAdapter.d.ts +93 -0
  1308. package/dist/types/core/WebsocketAdapter.d.ts.map +1 -0
  1309. package/dist/types/core/Workers.d.ts +24 -0
  1310. package/dist/types/core/Workers.d.ts.map +1 -0
  1311. package/dist/types/core/index.d.ts +12 -0
  1312. package/dist/types/core/index.d.ts.map +1 -0
  1313. package/dist/types/factory/cache.shared.worker.d.ts +3 -0
  1314. package/dist/types/factory/cache.shared.worker.d.ts.map +1 -0
  1315. package/dist/types/factory/cache.worker.d.ts +11 -0
  1316. package/dist/types/factory/cache.worker.d.ts.map +1 -0
  1317. package/dist/types/factory/index.d.ts +3 -0
  1318. package/dist/types/factory/index.d.ts.map +1 -0
  1319. package/dist/types/helpers/filters.d.ts +4 -0
  1320. package/dist/types/helpers/filters.d.ts.map +1 -0
  1321. package/dist/types/index.d.ts +11 -0
  1322. package/dist/types/index.d.ts.map +1 -0
  1323. package/dist/types/interfaces/IAdapterWorkerCommand.d.ts +8 -0
  1324. package/dist/types/interfaces/IAdapterWorkerCommand.d.ts.map +1 -0
  1325. package/dist/types/interfaces/IAdaptersArgument.d.ts +7 -0
  1326. package/dist/types/interfaces/IAdaptersArgument.d.ts.map +1 -0
  1327. package/dist/types/interfaces/ICacheAdapter.d.ts +1 -0
  1328. package/dist/types/interfaces/ICacheAdapter.d.ts.map +1 -0
  1329. package/dist/types/interfaces/ICacheAdapterSharedWorkerCommand.d.ts +8 -0
  1330. package/dist/types/interfaces/ICacheAdapterSharedWorkerCommand.d.ts.map +1 -0
  1331. package/dist/types/interfaces/INostrEvent.d.ts +2 -0
  1332. package/dist/types/interfaces/INostrEvent.d.ts.map +1 -0
  1333. package/dist/types/interfaces/ISharedWorkerGlobalScope.d.ts +7 -0
  1334. package/dist/types/interfaces/ISharedWorkerGlobalScope.d.ts.map +1 -0
  1335. package/dist/types/interfaces/IWorkerCommand.d.ts +6 -0
  1336. package/dist/types/interfaces/IWorkerCommand.d.ts.map +1 -0
  1337. package/dist/types/interfaces/IWorkerGlobalScope.d.ts +7 -0
  1338. package/dist/types/interfaces/IWorkerGlobalScope.d.ts.map +1 -0
  1339. package/dist/types/interfaces/TISO13166.d.ts +15 -0
  1340. package/dist/types/interfaces/TISO13166.d.ts.map +1 -0
  1341. package/dist/types/interfaces/index.d.ts +8 -0
  1342. package/dist/types/interfaces/index.d.ts.map +1 -0
  1343. package/dist/types/managers/MonitorManager.d.ts +50 -0
  1344. package/dist/types/managers/MonitorManager.d.ts.map +1 -0
  1345. package/dist/types/managers/StageManager.d.ts +36 -0
  1346. package/dist/types/managers/StageManager.d.ts.map +1 -0
  1347. package/dist/types/managers/StateManager.d.ts +50 -0
  1348. package/dist/types/managers/StateManager.d.ts.map +1 -0
  1349. package/dist/types/managers/SyncStateManager.d.ts +22 -0
  1350. package/dist/types/managers/SyncStateManager.d.ts.map +1 -0
  1351. package/dist/types/models/Check.d.ts +28 -0
  1352. package/dist/types/models/Check.d.ts.map +1 -0
  1353. package/dist/types/models/DeltaEvent.d.ts +79 -0
  1354. package/dist/types/models/DeltaEvent.d.ts.map +1 -0
  1355. package/dist/types/models/Event.d.ts +61 -0
  1356. package/dist/types/models/Event.d.ts.map +1 -0
  1357. package/dist/types/models/EventEncoded.d.ts +8 -0
  1358. package/dist/types/models/EventEncoded.d.ts.map +1 -0
  1359. package/dist/types/models/Geocode.d.ts +7 -0
  1360. package/dist/types/models/Geocode.d.ts.map +1 -0
  1361. package/dist/types/models/Geocoded.d.ts +238 -0
  1362. package/dist/types/models/Geocoded.d.ts.map +1 -0
  1363. package/dist/types/models/Geohash.d.ts +6 -0
  1364. package/dist/types/models/Geohash.d.ts.map +1 -0
  1365. package/dist/types/models/Monitor.d.ts +96 -0
  1366. package/dist/types/models/Monitor.d.ts.map +1 -0
  1367. package/dist/types/models/MonitorRegistration.d.ts +8 -0
  1368. package/dist/types/models/MonitorRegistration.d.ts.map +1 -0
  1369. package/dist/types/models/Nip11.d.ts +155 -0
  1370. package/dist/types/models/Nip11.d.ts.map +1 -0
  1371. package/dist/types/models/Nip66CheckEvent.d.ts +63 -0
  1372. package/dist/types/models/Nip66CheckEvent.d.ts.map +1 -0
  1373. package/dist/types/models/PubkeyProfile.d.ts +19 -0
  1374. package/dist/types/models/PubkeyProfile.d.ts.map +1 -0
  1375. package/dist/types/models/PubkeyRelays.d.ts +5 -0
  1376. package/dist/types/models/PubkeyRelays.d.ts.map +1 -0
  1377. package/dist/types/models/Relay.d.ts +9 -0
  1378. package/dist/types/models/Relay.d.ts.map +1 -0
  1379. package/dist/types/models/RelayCheckAggregate.d.ts +92 -0
  1380. package/dist/types/models/RelayCheckAggregate.d.ts.map +1 -0
  1381. package/dist/types/models/Ssl.d.ts +9 -0
  1382. package/dist/types/models/Ssl.d.ts.map +1 -0
  1383. package/dist/types/models/_.d.ts +2 -0
  1384. package/dist/types/models/_.d.ts.map +1 -0
  1385. package/dist/types/models/index.d.ts +15 -0
  1386. package/dist/types/models/index.d.ts.map +1 -0
  1387. package/dist/types/routines/PurgeInactiveMonitors.d.ts +6 -0
  1388. package/dist/types/routines/PurgeInactiveMonitors.d.ts.map +1 -0
  1389. package/dist/types/routines/PurgeOldChecks.d.ts +6 -0
  1390. package/dist/types/routines/PurgeOldChecks.d.ts.map +1 -0
  1391. package/dist/types/services/AuditorService.d.ts +4 -0
  1392. package/dist/types/services/AuditorService.d.ts.map +1 -0
  1393. package/dist/types/services/ChronicleService.d.ts +177 -0
  1394. package/dist/types/services/ChronicleService.d.ts.map +1 -0
  1395. package/dist/types/services/MonitorService.d.ts +62 -0
  1396. package/dist/types/services/MonitorService.d.ts.map +1 -0
  1397. package/dist/types/services/RelayService.d.ts +39 -0
  1398. package/dist/types/services/RelayService.d.ts.map +1 -0
  1399. package/dist/types/services/Service.d.ts +56 -0
  1400. package/dist/types/services/Service.d.ts.map +1 -0
  1401. package/dist/types/services/index.d.ts +6 -0
  1402. package/dist/types/services/index.d.ts.map +1 -0
  1403. package/dist/types/transform/TransformCheck.d.ts +24 -0
  1404. package/dist/types/transform/TransformCheck.d.ts.map +1 -0
  1405. package/dist/types/transform/TransformEvent.d.ts +4 -0
  1406. package/dist/types/transform/TransformEvent.d.ts.map +1 -0
  1407. package/dist/types/transform/TransformMonitors.d.ts +10 -0
  1408. package/dist/types/transform/TransformMonitors.d.ts.map +1 -0
  1409. package/dist/types/transform/TransformRelays.d.ts +20 -0
  1410. package/dist/types/transform/TransformRelays.d.ts.map +1 -0
  1411. package/dist/types/transform/index.d.ts +4 -0
  1412. package/dist/types/transform/index.d.ts.map +1 -0
  1413. package/dist/types/utils/SyncKeys.d.ts +12 -0
  1414. package/dist/types/utils/SyncKeys.d.ts.map +1 -0
  1415. package/dist/types/utils/classes.d.ts +21 -0
  1416. package/dist/types/utils/classes.d.ts.map +1 -0
  1417. package/dist/types/utils/encoding.d.ts +4 -0
  1418. package/dist/types/utils/encoding.d.ts.map +1 -0
  1419. package/dist/types/utils/events.d.ts +7 -0
  1420. package/dist/types/utils/events.d.ts.map +1 -0
  1421. package/dist/types/utils/general.d.ts +8 -0
  1422. package/dist/types/utils/general.d.ts.map +1 -0
  1423. package/dist/types/utils/geo.d.ts +5 -0
  1424. package/dist/types/utils/geo.d.ts.map +1 -0
  1425. package/dist/types/utils/hash.d.ts +7 -0
  1426. package/dist/types/utils/hash.d.ts.map +1 -0
  1427. package/dist/types/utils/index.d.ts +8 -0
  1428. package/dist/types/utils/index.d.ts.map +1 -0
  1429. package/dist/types/utils/monitors.d.ts +2 -0
  1430. package/dist/types/utils/monitors.d.ts.map +1 -0
  1431. package/dist/types/utils/nostr.d.ts +9 -0
  1432. package/dist/types/utils/nostr.d.ts.map +1 -0
  1433. package/dist/types/utils/pfp.d.ts +17 -0
  1434. package/dist/types/utils/pfp.d.ts.map +1 -0
  1435. package/dist/types/workers/nocap.worker.d.ts +2 -0
  1436. package/dist/types/workers/nocap.worker.d.ts.map +1 -0
  1437. package/examples/basic.js +14 -0
  1438. package/package.json +133 -0
  1439. package/rollup.config.js +206 -0
  1440. package/src/core/Adapter.ts +182 -0
  1441. package/src/core/AdapterCacheWorker.ts +83 -0
  1442. package/src/core/AdapterWebsocketQueue.ts +20 -0
  1443. package/src/core/AdapterWebsocketWorker.ts +307 -0
  1444. package/src/core/AdapterWorker.ts +200 -0
  1445. package/src/core/Base.ts +212 -0
  1446. package/src/core/Batcher.ts +78 -0
  1447. package/src/core/CacheAdapter.ts +186 -0
  1448. package/src/core/Checkpoints.ts +11 -0
  1449. package/src/core/LocalStorageWrapper.ts +112 -0
  1450. package/src/core/Loggerr.ts +3 -0
  1451. package/src/core/Memory.ts +20 -0
  1452. package/src/core/Queue.ts +109 -0
  1453. package/src/core/Routine.ts +1 -0
  1454. package/src/core/Subscriber.ts +29 -0
  1455. package/src/core/WebsocketAdapter.ts +438 -0
  1456. package/src/core/Workers.ts +115 -0
  1457. package/src/core/index.ts +15 -0
  1458. package/src/factory/cache.shared.worker.ts +14 -0
  1459. package/src/factory/cache.worker.ts +13 -0
  1460. package/src/factory/index.ts +2 -0
  1461. package/src/helpers/filters.ts +9 -0
  1462. package/src/index.ts +13 -0
  1463. package/src/interfaces/IAdapterWorkerCommand.ts +8 -0
  1464. package/src/interfaces/IAdaptersArgument.ts +7 -0
  1465. package/src/interfaces/ICacheAdapter.ts +42 -0
  1466. package/src/interfaces/ICacheAdapterSharedWorkerCommand.ts +8 -0
  1467. package/src/interfaces/INostrEvent.ts +1 -0
  1468. package/src/interfaces/ISharedWorkerGlobalScope.ts +6 -0
  1469. package/src/interfaces/IWorkerCommand.ts +5 -0
  1470. package/src/interfaces/IWorkerGlobalScope.ts +6 -0
  1471. package/src/interfaces/TISO13166.ts +17 -0
  1472. package/src/interfaces/index.ts +7 -0
  1473. package/src/managers/MonitorManager.ts +232 -0
  1474. package/src/managers/StageManager.ts +83 -0
  1475. package/src/managers/StateManager.ts +176 -0
  1476. package/src/managers/SyncStateManager.ts +60 -0
  1477. package/src/models/Check.ts +34 -0
  1478. package/src/models/DeltaEvent.ts +152 -0
  1479. package/src/models/Event.ts +192 -0
  1480. package/src/models/EventEncoded.ts +7 -0
  1481. package/src/models/Geocode.ts +7 -0
  1482. package/src/models/Geocoded.ts +567 -0
  1483. package/src/models/Geohash.ts +6 -0
  1484. package/src/models/Monitor.ts +384 -0
  1485. package/src/models/MonitorRegistration.ts +25 -0
  1486. package/src/models/Nip11.ts +275 -0
  1487. package/src/models/Nip66CheckEvent.ts +316 -0
  1488. package/src/models/PubkeyProfile.ts +67 -0
  1489. package/src/models/PubkeyRelays.ts +9 -0
  1490. package/src/models/Relay.ts +8 -0
  1491. package/src/models/RelayCheckAggregate.ts +222 -0
  1492. package/src/models/Ssl.ts +8 -0
  1493. package/src/models/_.ts +7 -0
  1494. package/src/models/index.ts +14 -0
  1495. package/src/routines/PurgeInactiveMonitors.ts +10 -0
  1496. package/src/routines/PurgeOldChecks.ts +10 -0
  1497. package/src/services/AuditorService.ts +3 -0
  1498. package/src/services/ChronicleService.ts +722 -0
  1499. package/src/services/MonitorService.ts +719 -0
  1500. package/src/services/RelayService.ts +250 -0
  1501. package/src/services/Service.ts +370 -0
  1502. package/src/services/index.ts +5 -0
  1503. package/src/transform/TransformCheck.ts +62 -0
  1504. package/src/transform/TransformEvent.ts +26 -0
  1505. package/src/transform/TransformMonitors.ts +91 -0
  1506. package/src/transform/TransformRelays.ts +327 -0
  1507. package/src/transform/index.ts +3 -0
  1508. package/src/utils/SyncKeys.ts +12 -0
  1509. package/src/utils/classes.ts +48 -0
  1510. package/src/utils/encoding.ts +16 -0
  1511. package/src/utils/events.ts +29 -0
  1512. package/src/utils/general.ts +101 -0
  1513. package/src/utils/geo.ts +19 -0
  1514. package/src/utils/hash.ts +98 -0
  1515. package/src/utils/index.ts +7 -0
  1516. package/src/utils/monitors.ts +4 -0
  1517. package/src/utils/nostr.ts +45 -0
  1518. package/src/utils/pfp.ts +278 -0
  1519. package/src/workers/nocap.worker.ts +1 -0
  1520. package/tsconfig.browser.json +12 -0
  1521. package/tsconfig.json +35 -0
  1522. package/tsconfig.server.json +10 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RelayService.cjs.js","sources":["../../../src/services/RelayService.ts"],"sourcesContent":["import { IWebsocketAdapter, SubscribeHandlers, WebsocketAdapterOptions } from '@core/WebsocketAdapter';\nimport { ICacheAdapter } from '@core/CacheAdapter';\nimport { IAdaptersArgument } from '@interfaces/IAdaptersArgument';\nimport { EventEmitter } from 'tseep';\nimport { Service } from './Service';\nimport { StateManager } from '@base/managers/StateManager';\nimport { IEvent } from '@base/interfaces';\nimport { Filter } from 'nostr-tools';\nimport { Monitor, Nip66CheckEvent, NostrEvent } from '@base/models';\nimport { MonitorService } from './MonitorService';\nimport { getNormalizedWebsocketVariants, WebsocketUrlType } from '@base/utils/nostr';\n\nexport class RelayService extends Service {\n monitors: MonitorService;\n private _relay: string = '';\n protected _ready: boolean = false;\n\n constructor( adapters: IAdaptersArgument, monitorService?: MonitorService ) {\n super(adapters)\n this.monitors = monitorService ?? new MonitorService(adapters);\n\n //TODO: Move these to a defaults method in Services that can be used for convenience. \n //The default relays should be loaded from a config or note.\n this.addRelay('route66', 'wss://relay.nostr.watch');\n this.addRelay('route66', 'wss://relaypag.es');\n this.addRelay('route66', 'wss://monitorlizard.nostr1.com/')\n this.addRelay('userMeta', 'wss://purplepag.es');\n this.addRelay('userMeta', 'wss://user.kindpag.es');\n this.addRelay('userMeta', 'wss://relay.nostr.band');\n this.init()\n }\n\n async init(): Promise<void> {\n await this?.cacheAdapter?.ready();\n await this?.monitors?.ready();\n this._ready = true;\n }\n\n async ready(): Promise<void> {\n while(!this._ready){\n await new Promise(resolve => setTimeout(resolve, 100))\n }\n }\n\n relayFilters(relay: WebsocketUrlType, liveness: string = 'online'): Filter[] { \n const filters: Filter[] = []\n // console.log('this.monitors.activeMonitors', liveness, this.monitors.activeMonitors.length)\n if( this.monitors.activeMonitors.length === 0 ) return [{ kinds: [30166], \"#d\": [relay] }]\n const monitors = liveness === 'online'? this.monitors.activeMonitors: this.monitors.array;\n const defaultFilter: Filter = { \"#d\": getNormalizedWebsocketVariants(relay), kinds: [30166] }\n if(liveness === 'dead') {\n // console.log('relayfilters', filters)\n return [defaultFilter]\n }\n monitors.forEach((monitor) => {\n let filter;\n switch(liveness){\n case 'offline':\n filter = { ...monitor.checkFilterOffline, ...defaultFilter }\n break;\n case 'online': \n filter = { ...monitor.checkFilter, ...defaultFilter }\n }\n if(!filter) return;\n filters.push(filter)\n })\n // console.log('relayfilters', filters)\n return filters;\n }\n\n /**\n * Create filters for Kind 1066 delta events for a relay\n * Used for querying relay history and time series data\n *\n * @param relay - Relay URL to create filters for\n * @param options - Optional filter parameters\n * @returns Array of filters for Kind 1066 events\n */\n deltaFilters(relay: WebsocketUrlType, options?: { since?: number; until?: number; limit?: number }): Filter[] {\n const filter: Filter = {\n kinds: [1066],\n '#r': getNormalizedWebsocketVariants(relay),\n };\n\n if (options?.since) {\n filter.since = options.since;\n }\n\n if (options?.until) {\n filter.until = options.until;\n }\n\n if (options?.limit) {\n filter.limit = options.limit;\n }\n\n return [filter];\n }\n\n async getRelayData(relay: string, liveness: string = 'online'): Promise<[ Nip66CheckEvent[], Map<string, Monitor> ] | undefined> {\n await this.ready();\n await this.monitors.ready();\n let checks = await this.fetchRelayChecks(relay, liveness);\n if(!checks || !checks?.length) return;\n const monitors: Map<string, Monitor> | undefined = (await this.monitorInstancesFromChecks(checks)) as Map<string, Monitor>;\n if(!monitors) return;\n if(liveness === 'online') {\n checks = checks.filter(check => {\n const monitor = monitors.get(check.pubkey);\n if(!monitor || !monitor.relayIsOnline(check)) return false\n return true\n })\n }\n if(liveness === 'offline') {\n checks = checks.filter(check => {\n const monitor = monitors.get(check.pubkey);\n if(!monitor || !monitor.relayIsOffline(check, true)) return false\n return true\n })\n }\n if(liveness === 'dead') {\n checks = checks.filter(check => {\n const monitor = monitors.get(check.pubkey);\n if(!monitor || !monitor.relayIsDead(check)) return false\n return true\n })\n }\n return [ checks, monitors ];\n }\n\n async fetchRelayChecks(r: string, liveness: string = 'online'): Promise<Nip66CheckEvent[] | undefined> {\n const relay: string | null = RelayService.formatRelay(r);\n if(!relay) return;\n const filters: Filter[] = this.relayFilters(relay as WebsocketUrlType, liveness);\n const relays = this.nip66Relays;\n const priority = 100;\n const options: WebsocketAdapterOptions = {\n cache: true,\n returnResults: true, \n keepAlive: false,\n stream: false\n }\n const events: IEvent[] = await this.fetch( { relays, filters, options, hash: `relay:${Math.random()}`, priority } );\n if(!events) return;\n const checks: Nip66CheckEvent[] = events.map((event: IEvent) => new Nip66CheckEvent(event)); \n return checks;\n }\n\n async fetchOperatorMeta(pubkey: string, callbacks?: SubscribeHandlers, relays: string[] = []): Promise<IEvent[]> {\n const filters: Filter[] = [\n { kinds: [0, 10002], authors: [pubkey] }\n ]\n relays = [...this.userMetaRelays, ...relays];\n const priority = 1000;\n const options: WebsocketAdapterOptions = {\n cache: true,\n returnResults: true, \n keepAlive: false,\n stream: true,\n batch: 1\n }\n return this.subscribe( { relays, filters, priority, options }, callbacks );\n }\n\n async monitorInstancesFromChecks(checks: Nip66CheckEvent[], type: 'map' | 'array' = 'map'): Promise<Map<string, Monitor> | Monitor[] | undefined> {\n let filters: Filter[] = []\n const metaPromises: Promise<any>[] = []\n for(const check of checks){\n filters.push({ authors: [check.pubkey], kinds: [10166] })\n }\n let relays = [...this.nip66Relays];\n const options: WebsocketAdapterOptions = {\n cache: true,\n returnResults: true, \n keepAlive: false,\n stream: true,\n batch: 1\n }\n const monitorsProcessed = new Set()\n const onevent = (event: IEvent) => {\n this.monitors.manager.handleEvent(event)\n if(event.kind === 10166) {\n if(monitorsProcessed.has(event.pubkey)) return;\n metaPromises.push(this.monitors.fetch(\n { \n relays: [...this.userMetaRelays], \n filters: [{ authors: [event.pubkey], kinds: [0, 10002] }], \n options \n }, \n { onevent }\n ))\n monitorsProcessed.add(event.pubkey)\n } \n }\n await this.monitors.subscribe( \n { relays, filters, options },\n { onevent }\n )\n await Promise.allSettled(metaPromises)\n return type === 'map'? this.monitors.map: this.monitors.array\n }\n\n static formatRelay(relay: string): string | null { \n try {\n return new URL(relay).toString();\n }\n catch {\n console.warn (`[RelayService] Invalid relay URL: ${relay}`);\n return '';\n }\n }\n\n static removeOldChecks (monitors: Map<string, Monitor>, checks: Nip66CheckEvent[]): Nip66CheckEvent[] {\n return checks.filter(check => {\n const monitor = monitors.get(check.pubkey);\n if(monitor && monitor.relayIsOnline(check)) return true\n return false\n })\n }\n\n async beginLiveSync(relay: string, callbacks?: SubscribeHandlers): Promise<IEvent[]> {\n const filters: Filter[] = []\n this.monitors.enabledMonitors.forEach( (monitor: Monitor ) => {\n const lastSyncUntil = monitor.getLastSync(30166)?.until;\n filters.push({ \n kinds: [30166], \n authors: [monitor.pubkey], \n since: lastSyncUntil, \n \"#d\": [relay] \n });\n }) \n const hash = `liveSyncMonitorsChecksForRelay`;\n const relays: string[] = this.nip66Relays;\n const options: WebsocketAdapterOptions = {\n cache: true,\n keepAlive: true,\n returnResults: true,\n stream: true,\n batch: 2\n }\n const onevents: SubscribeHandlers['onevents'] = (events: IEvent[]) => { \n callbacks?.onevents?.(events);\n };\n return this.subscribe({ filters, relays, options, hash }, { onevents });\n }\n\n async stopLiveSync(): Promise<void> {\n await this.unsubscribe('liveSyncMonitorsChecksForRelay');\n }\n}"],"names":["RelayService","_super","adapters","monitorService","_this","call","this","_relay","_ready","monitors","MonitorService","addRelay","init","__extends","prototype","_a","cacheAdapter","ready","_c","sent","_b","Promise","resolve","setTimeout","relayFilters","relay","liveness","filters","activeMonitors","length","kinds","array","defaultFilter","getNormalizedWebsocketVariants","forEach","monitor","filter","checkFilterOffline","checkFilter","push","deltaFilters","options","since","until","limit","getRelayData","relay_1","__awaiter","arguments","fetchRelayChecks","checks","monitorInstancesFromChecks","check","get","pubkey","relayIsOnline","relayIsOffline","relayIsDead","r_1","r","formatRelay","relays","nip66Relays","cache","returnResults","keepAlive","stream","fetch","hash","concat","Math","random","priority","events","map","event","Nip66CheckEvent","fetchOperatorMeta","pubkey_1","callbacks_1","callbacks","authors","userMetaRelays","batch","subscribe","checks_1","type","metaPromises","_i","checks_2","__spreadArray","monitorsProcessed","Set","onevent","manager","handleEvent","kind","has","add","allSettled","URL","toString","console","warn","removeOldChecks","beginLiveSync","enabledMonitors","lastSyncUntil","getLastSync","onevents","stopLiveSync","unsubscribe","Service"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{__extends as e,__awaiter as t,__generator as r,__assign as n,__spreadArray as i}from"../_virtual/_tslib.esm.js";import{Service as s}from"./Service.esm.js";import"../models/Event.esm.js";import{Nip66CheckEvent as o}from"../models/Nip66CheckEvent.esm.js";import"../models/DeltaEvent.esm.js";import"../models/RelayCheckAggregate.esm.js";import"../models/Geocoded.esm.js";import"../models/Monitor.esm.js";import"../models/Nip11.esm.js";import"../models/PubkeyProfile.esm.js";import"../models/PubkeyRelays.esm.js";import{MonitorService as a}from"./MonitorService.esm.js";import{getNormalizedWebsocketVariants as l}from"../utils/nostr.esm.js";var u=function(s){function RelayService(e,t){var r=s.call(this,e)||this;return r._relay="",r._ready=!1,r.monitors=null!=t?t:new a(e),r.addRelay("route66","wss://relay.nostr.watch"),r.addRelay("route66","wss://relaypag.es"),r.addRelay("route66","wss://monitorlizard.nostr1.com/"),r.addRelay("userMeta","wss://purplepag.es"),r.addRelay("userMeta","wss://user.kindpag.es"),r.addRelay("userMeta","wss://relay.nostr.band"),r.init(),r}return e(RelayService,s),RelayService.prototype.init=function(){return t(this,void 0,void 0,(function(){var e,t;return r(this,(function(r){switch(r.label){case 0:return[4,null===(e=null==this?void 0:this.cacheAdapter)||void 0===e?void 0:e.ready()];case 1:return r.sent(),[4,null===(t=null==this?void 0:this.monitors)||void 0===t?void 0:t.ready()];case 2:return r.sent(),this._ready=!0,[2]}}))}))},RelayService.prototype.ready=function(){return t(this,void 0,void 0,(function(){return r(this,(function(e){switch(e.label){case 0:return this._ready?[3,2]:[4,new Promise((function(e){return setTimeout(e,100)}))];case 1:return e.sent(),[3,0];case 2:return[2]}}))}))},RelayService.prototype.relayFilters=function(e,t){void 0===t&&(t="online");var r=[];if(0===this.monitors.activeMonitors.length)return[{kinds:[30166],"#d":[e]}];var i="online"===t?this.monitors.activeMonitors:this.monitors.array,s={"#d":l(e),kinds:[30166]};return"dead"===t?[s]:(i.forEach((function(e){var i;switch(t){case"offline":i=n(n({},e.checkFilterOffline),s);break;case"online":i=n(n({},e.checkFilter),s)}i&&r.push(i)})),r)},RelayService.prototype.deltaFilters=function(e,t){var r={kinds:[1066],"#r":l(e)};return(null==t?void 0:t.since)&&(r.since=t.since),(null==t?void 0:t.until)&&(r.until=t.until),(null==t?void 0:t.limit)&&(r.limit=t.limit),[r]},RelayService.prototype.getRelayData=function(e){return t(this,arguments,void 0,(function(e,t){var n,i;return void 0===t&&(t="online"),r(this,(function(r){switch(r.label){case 0:return[4,this.ready()];case 1:return r.sent(),[4,this.monitors.ready()];case 2:return r.sent(),[4,this.fetchRelayChecks(e,t)];case 3:return(n=r.sent())&&(null==n?void 0:n.length)?[4,this.monitorInstancesFromChecks(n)]:[2];case 4:return(i=r.sent())?("online"===t&&(n=n.filter((function(e){var t=i.get(e.pubkey);return!(!t||!t.relayIsOnline(e))}))),"offline"===t&&(n=n.filter((function(e){var t=i.get(e.pubkey);return!(!t||!t.relayIsOffline(e,!0))}))),"dead"===t&&(n=n.filter((function(e){var t=i.get(e.pubkey);return!(!t||!t.relayIsDead(e))}))),[2,[n,i]]):[2]}}))}))},RelayService.prototype.fetchRelayChecks=function(e){return t(this,arguments,void 0,(function(e,t){var n,i,s,a,l;return void 0===t&&(t="online"),r(this,(function(r){switch(r.label){case 0:return(n=RelayService.formatRelay(e))?(i=this.relayFilters(n,t),s=this.nip66Relays,a={cache:!0,returnResults:!0,keepAlive:!1,stream:!1},[4,this.fetch({relays:s,filters:i,options:a,hash:"relay:".concat(Math.random()),priority:100})]):[2];case 1:return(l=r.sent())?[2,l.map((function(e){return new o(e)}))]:[2]}}))}))},RelayService.prototype.fetchOperatorMeta=function(e,n){return t(this,arguments,void 0,(function(e,t,n){var s,o;return void 0===n&&(n=[]),r(this,(function(r){return s=[{kinds:[0,10002],authors:[e]}],n=i(i([],this.userMetaRelays,!0),n,!0),o={cache:!0,returnResults:!0,keepAlive:!1,stream:!0,batch:1},[2,this.subscribe({relays:n,filters:s,priority:1e3,options:o},t)]}))}))},RelayService.prototype.monitorInstancesFromChecks=function(e){return t(this,arguments,void 0,(function(e,t){var n,s,o,a,l,u,c,h,y,d=this;return void 0===t&&(t="map"),r(this,(function(r){switch(r.label){case 0:for(n=[],s=[],o=0,a=e;o<a.length;o++)l=a[o],n.push({authors:[l.pubkey],kinds:[10166]});return u=i([],this.nip66Relays,!0),c={cache:!0,returnResults:!0,keepAlive:!1,stream:!0,batch:1},h=new Set,y=function(e){if(d.monitors.manager.handleEvent(e),10166===e.kind){if(h.has(e.pubkey))return;s.push(d.monitors.fetch({relays:i([],d.userMetaRelays,!0),filters:[{authors:[e.pubkey],kinds:[0,10002]}],options:c},{onevent:y})),h.add(e.pubkey)}},[4,this.monitors.subscribe({relays:u,filters:n,options:c},{onevent:y})];case 1:return r.sent(),[4,Promise.allSettled(s)];case 2:return r.sent(),[2,"map"===t?this.monitors.map:this.monitors.array]}}))}))},RelayService.formatRelay=function(e){try{return new URL(e).toString()}catch(t){return console.warn("[RelayService] Invalid relay URL: ".concat(e)),""}},RelayService.removeOldChecks=function(e,t){return t.filter((function(t){var r=e.get(t.pubkey);return!(!r||!r.relayIsOnline(t))}))},RelayService.prototype.beginLiveSync=function(e,n){return t(this,void 0,void 0,(function(){var t,i,s,o;return r(this,(function(r){return t=[],this.monitors.enabledMonitors.forEach((function(r){var n,i=null===(n=r.getLastSync(30166))||void 0===n?void 0:n.until;t.push({kinds:[30166],authors:[r.pubkey],since:i,"#d":[e]})})),i=this.nip66Relays,s={cache:!0,keepAlive:!0,returnResults:!0,stream:!0,batch:2},o=function(e){var t;null===(t=null==n?void 0:n.onevents)||void 0===t||t.call(n,e)},[2,this.subscribe({filters:t,relays:i,options:s,hash:"liveSyncMonitorsChecksForRelay"},{onevents:o})]}))}))},RelayService.prototype.stopLiveSync=function(){return t(this,void 0,void 0,(function(){return r(this,(function(e){switch(e.label){case 0:return[4,this.unsubscribe("liveSyncMonitorsChecksForRelay")];case 1:return e.sent(),[2]}}))}))},RelayService}(s);export{u as RelayService};
2
+ //# sourceMappingURL=RelayService.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RelayService.esm.js","sources":["../../../src/services/RelayService.ts"],"sourcesContent":["import { IWebsocketAdapter, SubscribeHandlers, WebsocketAdapterOptions } from '@core/WebsocketAdapter';\nimport { ICacheAdapter } from '@core/CacheAdapter';\nimport { IAdaptersArgument } from '@interfaces/IAdaptersArgument';\nimport { EventEmitter } from 'tseep';\nimport { Service } from './Service';\nimport { StateManager } from '@base/managers/StateManager';\nimport { IEvent } from '@base/interfaces';\nimport { Filter } from 'nostr-tools';\nimport { Monitor, Nip66CheckEvent, NostrEvent } from '@base/models';\nimport { MonitorService } from './MonitorService';\nimport { getNormalizedWebsocketVariants, WebsocketUrlType } from '@base/utils/nostr';\n\nexport class RelayService extends Service {\n monitors: MonitorService;\n private _relay: string = '';\n protected _ready: boolean = false;\n\n constructor( adapters: IAdaptersArgument, monitorService?: MonitorService ) {\n super(adapters)\n this.monitors = monitorService ?? new MonitorService(adapters);\n\n //TODO: Move these to a defaults method in Services that can be used for convenience. \n //The default relays should be loaded from a config or note.\n this.addRelay('route66', 'wss://relay.nostr.watch');\n this.addRelay('route66', 'wss://relaypag.es');\n this.addRelay('route66', 'wss://monitorlizard.nostr1.com/')\n this.addRelay('userMeta', 'wss://purplepag.es');\n this.addRelay('userMeta', 'wss://user.kindpag.es');\n this.addRelay('userMeta', 'wss://relay.nostr.band');\n this.init()\n }\n\n async init(): Promise<void> {\n await this?.cacheAdapter?.ready();\n await this?.monitors?.ready();\n this._ready = true;\n }\n\n async ready(): Promise<void> {\n while(!this._ready){\n await new Promise(resolve => setTimeout(resolve, 100))\n }\n }\n\n relayFilters(relay: WebsocketUrlType, liveness: string = 'online'): Filter[] { \n const filters: Filter[] = []\n // console.log('this.monitors.activeMonitors', liveness, this.monitors.activeMonitors.length)\n if( this.monitors.activeMonitors.length === 0 ) return [{ kinds: [30166], \"#d\": [relay] }]\n const monitors = liveness === 'online'? this.monitors.activeMonitors: this.monitors.array;\n const defaultFilter: Filter = { \"#d\": getNormalizedWebsocketVariants(relay), kinds: [30166] }\n if(liveness === 'dead') {\n // console.log('relayfilters', filters)\n return [defaultFilter]\n }\n monitors.forEach((monitor) => {\n let filter;\n switch(liveness){\n case 'offline':\n filter = { ...monitor.checkFilterOffline, ...defaultFilter }\n break;\n case 'online': \n filter = { ...monitor.checkFilter, ...defaultFilter }\n }\n if(!filter) return;\n filters.push(filter)\n })\n // console.log('relayfilters', filters)\n return filters;\n }\n\n /**\n * Create filters for Kind 1066 delta events for a relay\n * Used for querying relay history and time series data\n *\n * @param relay - Relay URL to create filters for\n * @param options - Optional filter parameters\n * @returns Array of filters for Kind 1066 events\n */\n deltaFilters(relay: WebsocketUrlType, options?: { since?: number; until?: number; limit?: number }): Filter[] {\n const filter: Filter = {\n kinds: [1066],\n '#r': getNormalizedWebsocketVariants(relay),\n };\n\n if (options?.since) {\n filter.since = options.since;\n }\n\n if (options?.until) {\n filter.until = options.until;\n }\n\n if (options?.limit) {\n filter.limit = options.limit;\n }\n\n return [filter];\n }\n\n async getRelayData(relay: string, liveness: string = 'online'): Promise<[ Nip66CheckEvent[], Map<string, Monitor> ] | undefined> {\n await this.ready();\n await this.monitors.ready();\n let checks = await this.fetchRelayChecks(relay, liveness);\n if(!checks || !checks?.length) return;\n const monitors: Map<string, Monitor> | undefined = (await this.monitorInstancesFromChecks(checks)) as Map<string, Monitor>;\n if(!monitors) return;\n if(liveness === 'online') {\n checks = checks.filter(check => {\n const monitor = monitors.get(check.pubkey);\n if(!monitor || !monitor.relayIsOnline(check)) return false\n return true\n })\n }\n if(liveness === 'offline') {\n checks = checks.filter(check => {\n const monitor = monitors.get(check.pubkey);\n if(!monitor || !monitor.relayIsOffline(check, true)) return false\n return true\n })\n }\n if(liveness === 'dead') {\n checks = checks.filter(check => {\n const monitor = monitors.get(check.pubkey);\n if(!monitor || !monitor.relayIsDead(check)) return false\n return true\n })\n }\n return [ checks, monitors ];\n }\n\n async fetchRelayChecks(r: string, liveness: string = 'online'): Promise<Nip66CheckEvent[] | undefined> {\n const relay: string | null = RelayService.formatRelay(r);\n if(!relay) return;\n const filters: Filter[] = this.relayFilters(relay as WebsocketUrlType, liveness);\n const relays = this.nip66Relays;\n const priority = 100;\n const options: WebsocketAdapterOptions = {\n cache: true,\n returnResults: true, \n keepAlive: false,\n stream: false\n }\n const events: IEvent[] = await this.fetch( { relays, filters, options, hash: `relay:${Math.random()}`, priority } );\n if(!events) return;\n const checks: Nip66CheckEvent[] = events.map((event: IEvent) => new Nip66CheckEvent(event)); \n return checks;\n }\n\n async fetchOperatorMeta(pubkey: string, callbacks?: SubscribeHandlers, relays: string[] = []): Promise<IEvent[]> {\n const filters: Filter[] = [\n { kinds: [0, 10002], authors: [pubkey] }\n ]\n relays = [...this.userMetaRelays, ...relays];\n const priority = 1000;\n const options: WebsocketAdapterOptions = {\n cache: true,\n returnResults: true, \n keepAlive: false,\n stream: true,\n batch: 1\n }\n return this.subscribe( { relays, filters, priority, options }, callbacks );\n }\n\n async monitorInstancesFromChecks(checks: Nip66CheckEvent[], type: 'map' | 'array' = 'map'): Promise<Map<string, Monitor> | Monitor[] | undefined> {\n let filters: Filter[] = []\n const metaPromises: Promise<any>[] = []\n for(const check of checks){\n filters.push({ authors: [check.pubkey], kinds: [10166] })\n }\n let relays = [...this.nip66Relays];\n const options: WebsocketAdapterOptions = {\n cache: true,\n returnResults: true, \n keepAlive: false,\n stream: true,\n batch: 1\n }\n const monitorsProcessed = new Set()\n const onevent = (event: IEvent) => {\n this.monitors.manager.handleEvent(event)\n if(event.kind === 10166) {\n if(monitorsProcessed.has(event.pubkey)) return;\n metaPromises.push(this.monitors.fetch(\n { \n relays: [...this.userMetaRelays], \n filters: [{ authors: [event.pubkey], kinds: [0, 10002] }], \n options \n }, \n { onevent }\n ))\n monitorsProcessed.add(event.pubkey)\n } \n }\n await this.monitors.subscribe( \n { relays, filters, options },\n { onevent }\n )\n await Promise.allSettled(metaPromises)\n return type === 'map'? this.monitors.map: this.monitors.array\n }\n\n static formatRelay(relay: string): string | null { \n try {\n return new URL(relay).toString();\n }\n catch {\n console.warn (`[RelayService] Invalid relay URL: ${relay}`);\n return '';\n }\n }\n\n static removeOldChecks (monitors: Map<string, Monitor>, checks: Nip66CheckEvent[]): Nip66CheckEvent[] {\n return checks.filter(check => {\n const monitor = monitors.get(check.pubkey);\n if(monitor && monitor.relayIsOnline(check)) return true\n return false\n })\n }\n\n async beginLiveSync(relay: string, callbacks?: SubscribeHandlers): Promise<IEvent[]> {\n const filters: Filter[] = []\n this.monitors.enabledMonitors.forEach( (monitor: Monitor ) => {\n const lastSyncUntil = monitor.getLastSync(30166)?.until;\n filters.push({ \n kinds: [30166], \n authors: [monitor.pubkey], \n since: lastSyncUntil, \n \"#d\": [relay] \n });\n }) \n const hash = `liveSyncMonitorsChecksForRelay`;\n const relays: string[] = this.nip66Relays;\n const options: WebsocketAdapterOptions = {\n cache: true,\n keepAlive: true,\n returnResults: true,\n stream: true,\n batch: 2\n }\n const onevents: SubscribeHandlers['onevents'] = (events: IEvent[]) => { \n callbacks?.onevents?.(events);\n };\n return this.subscribe({ filters, relays, options, hash }, { onevents });\n }\n\n async stopLiveSync(): Promise<void> {\n await this.unsubscribe('liveSyncMonitorsChecksForRelay');\n }\n}"],"names":["RelayService","_super","adapters","monitorService","_this","call","this","_relay","_ready","monitors","MonitorService","addRelay","init","__extends","prototype","_a","cacheAdapter","ready","_c","sent","_b","Promise","resolve","setTimeout","relayFilters","relay","liveness","filters","activeMonitors","length","kinds","array","defaultFilter","getNormalizedWebsocketVariants","forEach","monitor","filter","checkFilterOffline","checkFilter","push","deltaFilters","options","since","until","limit","getRelayData","relay_1","__awaiter","arguments","fetchRelayChecks","checks","monitorInstancesFromChecks","check","get","pubkey","relayIsOnline","relayIsOffline","relayIsDead","r_1","r","formatRelay","relays","nip66Relays","cache","returnResults","keepAlive","stream","fetch","hash","concat","Math","random","priority","events","map","event","Nip66CheckEvent","fetchOperatorMeta","pubkey_1","callbacks_1","callbacks","authors","userMetaRelays","batch","subscribe","checks_1","type","metaPromises","_i","checks_2","__spreadArray","monitorsProcessed","Set","onevent","manager","handleEvent","kind","has","add","allSettled","URL","toString","console","warn","removeOldChecks","beginLiveSync","enabledMonitors","lastSyncUntil","getLastSync","onevents","stopLiveSync","unsubscribe","Service"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("../_virtual/_tslib.cjs.js");require("../core/Adapter.cjs.js"),require("../core/AdapterCacheWorker.cjs.js"),require("../core/AdapterWebsocketWorker.cjs.js"),require("../core/AdapterWorker.cjs.js"),require("../core/Base.cjs.js"),require("../core/Batcher.cjs.js"),require("../core/CacheAdapter.cjs.js"),require("../core/Workers.cjs.js"),require("../core/Queue.cjs.js");var t=require("../core/WebsocketAdapter.cjs.js"),r=require("../utils/events.cjs.js"),n=require("../utils/hash.cjs.js"),s=require("../managers/StateManager.cjs.js"),i=require("../models/Event.cjs.js"),o=function(){function Service(e){this._groupedRelays={},this._ready=!1,this._subscriptions=new Set,this.cacheAdapter=e.cacheAdapter,this.websocketAdapter=e.websocketAdapter}return Object.defineProperty(Service.prototype,"adapter",{get:function(){return{cache:this.cacheAdapter,websocket:this.websocketAdapter}},enumerable:!1,configurable:!0}),Object.defineProperty(Service.prototype,"nip66Relays",{get:function(){var e;return(null===(e=this._groupedRelays)||void 0===e?void 0:e.route66)||[]},enumerable:!1,configurable:!0}),Object.defineProperty(Service.prototype,"userMetaRelays",{get:function(){var e;return(null===(e=this._groupedRelays)||void 0===e?void 0:e.userMeta)||[]},enumerable:!1,configurable:!0}),Object.defineProperty(Service.prototype,"subscriptions",{get:function(){return this._subscriptions},enumerable:!1,configurable:!0}),Service.prototype.ready=function(){return e.__awaiter(this,void 0,void 0,(function(){return e.__generator(this,(function(e){switch(e.label){case 0:return this._ready?[3,2]:[4,new Promise((function(e){return setTimeout(e,100)}))];case 1:return e.sent(),[3,0];case 2:return[2]}}))}))},Service.prototype.modifyCacheFilters=function(t){return e.__awaiter(this,void 0,void 0,(function(){return e.__generator(this,(function(e){return console.warn("modifyCacheFilters not implemented"),[2,t]}))}))},Service.prototype.modifyWebsocketFilters=function(t){return e.__awaiter(this,void 0,void 0,(function(){return e.__generator(this,(function(e){return console.warn("modifyWebsocketFilters not implemented"),[2,t]}))}))},Service.prototype.publish=function(t){return e.__awaiter(this,void 0,void 0,(function(){var r,n,s;return e.__generator(this,(function(e){switch(e.label){case 0:return[4,this.ready()];case 1:return e.sent(),r=t.hash,n=t.note,s=t.relays,n?(r||(r=n.id.slice(0,21)),this.subscriptions.add(r),[4,this.websocketAdapter.publish({note:n,relays:s,hash:r})]):[2,!1];case 2:return e.sent(),this.subscriptions.delete(r),[2,!1]}}))}))},Service.prototype.subscribe=function(r,s){return e.__awaiter(this,arguments,void 0,(function(r,s,i){var o,c,a,u,l,h,d,v,p,b,f,y,_,g,w,m,S=this;return void 0===i&&(i=!1),e.__generator(this,(function(k){switch(k.label){case 0:return[4,this.ready()];case 1:return k.sent(),o=r.filters,r.relays,c=r.options,(a=r.hash)||(a=n.deterministicHash(r)),r.hash=a,this.subscriptions.add(a),console.log("[Service] subscribe: hash=".concat(null==a?void 0:a.slice(0,8),", nocache=").concat(i,", stream=").concat(null==c?void 0:c.stream,", keepAlive=").concat(null==c?void 0:c.keepAlive,", adapterType=").concat(null===(w=null===(g=this.websocketAdapter)||void 0===g?void 0:g.constructor)||void 0===w?void 0:w.name)),u=[],l=Boolean(s&&Object.keys(s).length>0),console.log("[Service] subscribe: hasCallbacks=".concat(l)),!o||i?[3,4]:({},s?(h=this.addSymbolToCallbacks(s,"cache"),this.fetchFromCache(o,h),[3,4]):[3,2]);case 2:return d=this.addSymbolToEvents,[4,this.fetchFromCache(o)];case 3:u=d.apply(this,[k.sent(),"cache"]),k.label=4;case 4:return v=void 0,l&&s&&(p=s.onclose,b=e.__assign(e.__assign({},s),{onclose:function(e){S.subscriptions.delete(e),null==p||p(e)}}),v=this.addSymbolToCallbacks(b,"ws")),f=Boolean(!0===(null==c?void 0:c.stream)&&l),console.log("[Service] subscribe: shouldStream=".concat(f)),f?(console.log("[Service] subscribe: calling websocketAdapter.subscribe, subscribeIsFn=".concat("function"==typeof(null===(m=this.websocketAdapter)||void 0===m?void 0:m.subscribe))),(null==c?void 0:c.keepAlive)?(this.websocketAdapter.subscribe(r,v),[3,8]):[3,5]):[3,9];case 5:return k.trys.push([5,7,,8]),[4,this.websocketAdapter.subscribe(r,v)];case 6:return k.sent(),[3,8];case 7:throw y=k.sent(),console.error("[Service] subscribe error:",y),y;case 8:return console.log("[Service] subscribe: websocketAdapter.subscribe returned"),[3,11];case 9:return console.log("[Service] subscribe: using _fetch instead of websocket subscribe"),r.options=e.__assign(e.__assign(e.__assign({},t.defaultWebsocketAdapterOptions),null!=c?c:{}),{stream:!1}),_=this.addSymbolToEvents,[4,this._fetch(r,v)];case 10:u=_.apply(this,[k.sent(),"ws"]),k.label=11;case 11:return(null==c?void 0:c.keepAlive)||this.subscriptions.delete(a),[2,f?[]:u]}}))}))},Service.prototype.subscribeRelatives=function(t,r,n){var s=t.id,i={filters:[{kinds:[9735,9321],"#e":[s]},{kinds:[1,7,1111],"#e":[s]},{kinds:[1111],"#E":[s]}],relays:r=e.__spreadArray(e.__spreadArray([],r||[],!0),["wss://relay.damus.io"],!1),options:{cache:!0,stream:!0,returnResults:!0,keepAlive:!1},priority:5};return this.subscribe(i,n)},Service.prototype.addSymbolToCallbacks=function(t,r){var n=e.__assign({},t);return n.onevent=function(e){var n;e[i.SOURCE]=r,null===(n=t.onevent)||void 0===n||n.call(t,e)},n.onevents=function(e){var n;e=e.map((function(e){return e[i.SOURCE]=r,e})),null===(n=t.onevents)||void 0===n||n.call(t,e)},n},Service.prototype.addSymbolToEvents=function(e,t){return e.map((function(e){return e[i.SOURCE]=t,e}))},Service.prototype.unsubscribe=function(t){return e.__awaiter(this,void 0,void 0,(function(){return e.__generator(this,(function(e){switch(e.label){case 0:return[4,this.ready()];case 1:return e.sent(),this.websocketAdapter.unsubscribe(t),[2]}}))}))},Service.prototype.unsubscribeMany=function(t){return e.__awaiter(this,void 0,void 0,(function(){var r=this;return e.__generator(this,(function(e){switch(e.label){case 0:return[4,this.ready()];case 1:return e.sent(),t.forEach((function(e){r.unsubscribe(e)})),[2]}}))}))},Service.prototype.unsubscribeAllActive=function(){return e.__awaiter(this,void 0,void 0,(function(){var t=this;return e.__generator(this,(function(e){switch(e.label){case 0:return[4,this.ready()];case 1:return e.sent(),this.subscriptions.forEach((function(e){t.unsubscribe(e)})),[2]}}))}))},Service.prototype.unsubscribeAll=function(){return e.__awaiter(this,void 0,void 0,(function(){return e.__generator(this,(function(e){switch(e.label){case 0:return[4,this.ready()];case 1:return e.sent(),this.websocketAdapter.unsubscribeAll(),[2]}}))}))},Service.prototype.fetch=function(t,r){return e.__awaiter(this,void 0,void 0,(function(){var s;return e.__generator(this,(function(e){switch(e.label){case 0:return[4,this.ready()];case 1:return e.sent(),t.hash||(t.hash=n.deterministicHash(t)),this.subscriptions.add(t.hash),[4,this._fetch(t,r)];case 2:return s=e.sent(),this.subscriptions.delete(t.hash),[2,s]}}))}))},Service.prototype.countFromCache=function(t){return e.__awaiter(this,void 0,void 0,(function(){return e.__generator(this,(function(e){switch(e.label){case 0:return[4,this.ready()];case 1:return e.sent(),[2,this.cacheAdapter.COUNT(t)]}}))}))},Service.prototype.fetchFromCache=function(t,r){return e.__awaiter(this,void 0,void 0,(function(){var n;return e.__generator(this,(function(e){switch(e.label){case 0:return[4,this.ready()];case 1:return e.sent(),n=[],[4,this.cacheAdapter.REQ(t)];case 2:return(null==(n=e.sent())?void 0:n.length)&&((null==r?void 0:r.onevents)&&r.onevents(n),(null==r?void 0:r.onevent)&&n.forEach((function(e){var t;null===(t=r.onevent)||void 0===t||t.call(r,e)}))),[2,(null==n?void 0:n.length)?n:[]]}}))}))},Service.prototype.fetchFromWebsocket=function(r,n){return e.__awaiter(this,void 0,void 0,(function(){var i,o,c,a,u;return e.__generator(this,(function(e){switch(e.label){case 0:return[4,this.ready()];case 1:return e.sent(),i=r.relays,o=r.filters,c=r.options,a=r.hash,[4,this.websocketAdapter.fetch({relays:i||[],filters:o,options:c||t.defaultWebsocketAdapterOptions,hash:a},n)];case 2:return(u=e.sent())instanceof Array&&s.StateManager.emit("events",u),[2,u instanceof Array?u:[]]}}))}))},Service.prototype._fetch=function(t,n){return e.__awaiter(this,void 0,void 0,(function(){var i,o,c,a,u,l,h,d,v;return e.__generator(this,(function(e){switch(e.label){case 0:return[4,this.ready()];case 1:return e.sent(),t.relays,i=t.options,o=t.filters,i.returnResults,o=null!=o?o:[],c=new Map,a=function(e){var t;if(r.isPRE(e)){var n=null===(t=e.tags.find((function(e){return"d"===e[0]})))||void 0===t?void 0:t[1];return n?"".concat(e.pubkey,":").concat(e.kind,":").concat(n):void 0}return r.isRE(e)?"".concat(e.pubkey,":").concat(e.kind):e.id},u=function(e){var t=a(e);return!(!t||c.has(t))&&(c.set(t,e),!0)},[4,this.fetchFromCache(o,n)];case 2:return(l=e.sent()).length>0&&l.forEach(u),h={},(null==n?void 0:n.onevent)&&(h.onevent=function(e){u(e)&&n.onevent(e)}),(null==n?void 0:n.onevents)&&(s.StateManager.emit("events",l),h.onevents=function(e){for(var t=[],r=0,s=e;r<s.length;r++){var i=s[r];u(i)&&t.push(i)}t.length>0&&n.onevents(t)}),[4,this.fetchFromWebsocket(t,h)];case 3:return(d=e.sent()).forEach(u),0===Object.keys(h).length&&s.StateManager.emit("events",d),v=Array.from(c.values()),[2,this.modifyReturnedEvents(v)]}}))}))},Service.prototype.modifyReturnedEvents=function(t){return e.__awaiter(this,void 0,void 0,(function(){return e.__generator(this,(function(e){return console.warn("modifyReturnedEvents not implemented"),[2,t]}))}))},Service.prototype.addRelay=function(e,t){var r,n;(null===(r=this._groupedRelays)||void 0===r?void 0:r[e])||(this._groupedRelays[e]=[]),null===(n=this._groupedRelays)||void 0===n||n[e].push(t)},Service.prototype.removeRelay=function(e,t){var r;(null===(r=this._groupedRelays)||void 0===r?void 0:r[e])&&(this._groupedRelays[e]=this._groupedRelays[e].filter((function(e){return e!==t})))},Service.prototype.setRelays=function(t,r){r&&0!==r.length?this._groupedRelays[t]=e.__spreadArray([],r,!0):console.warn("setRelays called with empty array for group '".concat(t,"', ignoring"))},Service.prototype.clearRelays=function(e){this._groupedRelays[e]=[]},Service}();exports.Service=o;
2
+ //# sourceMappingURL=Service.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Service.cjs.js","sources":["../../../src/services/Service.ts"],"sourcesContent":["import { IEvent } from \"@base/interfaces\";\nimport type { ICacheAdapter, IWebsocketAdapter, SubscribeHandlers, WebsocketRequestBody, WebsocketAdapterOptions } from \"@base/core\";\nimport { defaultWebsocketAdapterOptions } from \"@base/core\";\nimport { IAdaptersArgument } from \"@base/interfaces/IAdaptersArgument\";\nimport { Filter } from \"nostr-tools\";\nimport { deterministicHash, isPRE, isRE } from \"@base/utils\";\nimport { StateManager } from \"@base/managers/StateManager\";\nimport { NostrEvent } from \"@base/models\";\nimport { SOURCE } from \"@base/models/Event\";\n\nexport interface IGroupedRelays {\n userMeta?: string[];\n route66?: string[];\n appData?: string[];\n}\n\n// export interface WebsocketRequestBody extends WebsocketRequestBody {}\n\nexport type ServiceAdaptersTypes = {\n cache: ICacheAdapter;\n websocket: IWebsocketAdapter;\n}\n\nexport class Service {\n protected cacheAdapter: ICacheAdapter;\n protected websocketAdapter: IWebsocketAdapter;\n protected _groupedRelays: IGroupedRelays = {};\n protected _ready: boolean = false;\n protected _subscriptions: Set<string> = new Set();\n\n constructor(adapters: IAdaptersArgument) {\n this.cacheAdapter = adapters.cacheAdapter;\n this.websocketAdapter = adapters.websocketAdapter;\n }\n\n get adapter(): ServiceAdaptersTypes {\n return { cache: this.cacheAdapter, websocket: this.websocketAdapter };\n }\n\n get nip66Relays(): string[] {\n return this._groupedRelays?.route66 || [];\n }\n\n get userMetaRelays(): string[]{\n return this._groupedRelays?.userMeta || [];\n }\n\n get subscriptions(): Set<string> {\n return this._subscriptions;\n }\n\n async ready(): Promise<void> {\n while (!this._ready) {\n await new Promise((resolve) => setTimeout(resolve, 100));\n }\n }\n\n async modifyCacheFilters(filters: Filter[]): Promise<Filter[]> {\n console.warn('modifyCacheFilters not implemented');\n return filters;\n }\n\n async modifyWebsocketFilters(filters: Filter[]): Promise<Filter[]> {\n console.warn('modifyWebsocketFilters not implemented');\n return filters;\n }\n\n async publish(args: WebsocketRequestBody): Promise<boolean> {\n await this.ready();\n let { hash, note, relays } = args\n if(!note) return false;\n if(!hash) {\n hash = note.id.slice(0, 21)\n }\n this.subscriptions.add(hash)\n await this.websocketAdapter.publish({ note, relays, hash });\n this.subscriptions.delete(hash)\n return false;\n }\n\n async subscribe(args: WebsocketRequestBody, callbacks?: SubscribeHandlers, nocache: boolean = false): Promise<IEvent[]> {\n await this.ready();\n let { filters, relays, options, hash } = args;\n if(!hash) {\n hash = deterministicHash(args)\n }\n args.hash = hash;\n this.subscriptions.add(hash)\n\n console.log(`[Service] subscribe: hash=${hash?.slice(0,8)}, nocache=${nocache}, stream=${options?.stream}, keepAlive=${options?.keepAlive}, adapterType=${this.websocketAdapter?.constructor?.name}`);\n\n let result: IEvent[] = [];\n\n const hasCallbacks = Boolean(callbacks && Object.keys(callbacks).length > 0);\n console.log(`[Service] subscribe: hasCallbacks=${hasCallbacks}`);\n\n if(filters && !nocache) {\n let cacheCallbacks: SubscribeHandlers = {}\n if(callbacks) {\n cacheCallbacks = this.addSymbolToCallbacks(callbacks, 'cache');\n this.fetchFromCache(filters, cacheCallbacks);\n }\n else {\n result = this.addSymbolToEvents(await this.fetchFromCache(filters), 'cache');\n }\n }\n\n let wsCallbacks: SubscribeHandlers | undefined = undefined;\n if(hasCallbacks && callbacks) {\n const originalOnclose = callbacks.onclose;\n const wrappedCallbacks: SubscribeHandlers = {\n ...callbacks,\n onclose: (subId: string) => {\n this.subscriptions.delete(subId)\n originalOnclose?.(subId)\n }\n }\n wsCallbacks = this.addSymbolToCallbacks(wrappedCallbacks, 'ws');\n }\n\n const shouldStream = Boolean(options?.stream === true && hasCallbacks);\n console.log(`[Service] subscribe: shouldStream=${shouldStream}`);\n if(shouldStream){\n console.log(`[Service] subscribe: calling websocketAdapter.subscribe, subscribeIsFn=${typeof this.websocketAdapter?.subscribe === 'function'}`);\n if(options?.keepAlive){\n void this.websocketAdapter.subscribe(args, wsCallbacks);\n }\n else {\n try {\n await this.websocketAdapter.subscribe(args, wsCallbacks);\n } catch (err) {\n console.error(`[Service] subscribe error:`, err);\n throw err;\n }\n }\n console.log(`[Service] subscribe: websocketAdapter.subscribe returned`);\n }\n else {\n // Stream subscriptions without callbacks can hang (worker won't forward streamed messages\n // when `returnResults=false`). Force non-stream behavior when no callbacks are present.\n console.log(`[Service] subscribe: using _fetch instead of websocket subscribe`);\n args.options = { ...defaultWebsocketAdapterOptions, ...(options ?? {}), stream: false };\n result = this.addSymbolToEvents(await this._fetch(args, wsCallbacks), 'ws');\n }\n if(!options?.keepAlive) {\n this.subscriptions.delete(hash)\n }\n\n return shouldStream ? [] : result;\n }\n\n subscribeRelatives(note: IEvent | NostrEvent, relays?: string[], callbacks?: SubscribeHandlers): Promise<IEvent[]> {\n const { id } = note\n const filters: Filter[] = [\n { kinds: [9735, 9321], '#e': [id] }, //zaps\n { kinds: [1, 7, 1111], '#e': [id] }, //commments, mentions\n { kinds: [1111], '#E': [id] } //NIP-22 comments\n ]\n relays = [ ...(relays || []), 'wss://relay.damus.io' ]\n const options: WebsocketAdapterOptions = {\n cache: true,\n stream: true,\n returnResults: true,\n keepAlive: false\n }\n const args: WebsocketRequestBody = {\n filters,\n relays,\n options,\n priority: 5\n }\n return this.subscribe(args, callbacks) as Promise<IEvent[]>\n }\n\n private addSymbolToCallbacks(callbacks: SubscribeHandlers, symbolValue: string): SubscribeHandlers {\n const newCallbacks = {...callbacks}\n newCallbacks.onevent = (event: IEvent) => {\n event[SOURCE] = symbolValue\n callbacks.onevent?.(event)\n }\n newCallbacks.onevents = (events: IEvent[]) => {\n events = events.map( event => {\n event[SOURCE] = symbolValue\n return event\n })\n callbacks.onevents?.(events)\n }\n return newCallbacks;\n }\n\n private addSymbolToEvents(events: IEvent[], symbolValue: string): IEvent[] {\n return events.map( event => {\n event[SOURCE] = symbolValue\n return event\n })\n }\n\n async unsubscribe(hash: string) {\n await this.ready();\n this.websocketAdapter.unsubscribe(hash);\n }\n\n async unsubscribeMany(hashes: string[]) {\n await this.ready();\n hashes.forEach((hash) => {\n this.unsubscribe(hash);\n })\n }\n\n async unsubscribeAllActive(){\n await this.ready();\n this.subscriptions.forEach((hash) => {\n this.unsubscribe(hash);\n })\n }\n\n async unsubscribeAll(){\n await this.ready();\n this.websocketAdapter.unsubscribeAll();\n }\n\n async fetch(args: WebsocketRequestBody, callbacks?: SubscribeHandlers): Promise<IEvent[]> {\n await this.ready();\n if(!args.hash) { \n args.hash = deterministicHash(args);\n }\n this.subscriptions.add(args.hash)\n const results = await this._fetch(args, callbacks);\n this.subscriptions.delete(args.hash)\n return results;\n }\n\n async countFromCache(filters: Filter[]): Promise<number> {\n await this.ready();\n return this.cacheAdapter.COUNT(filters);\n }\n\n async fetchFromCache(filters: Filter[], callbacks?: SubscribeHandlers): Promise<IEvent[]> {\n await this.ready();\n let cacheEvents: IEvent[] = [];\n cacheEvents = await this.cacheAdapter.REQ(filters);\n if(cacheEvents?.length){\n // StateManager.emit('events', cacheEvents);\n if (callbacks?.onevents) {\n callbacks.onevents(cacheEvents);\n }\n if (callbacks?.onevent) {\n cacheEvents.forEach(event => {\n callbacks.onevent?.(event);\n });\n }\n \n }\n return cacheEvents?.length? cacheEvents: [];\n }\n\n async fetchFromWebsocket(args: WebsocketRequestBody, callbacks?: SubscribeHandlers): Promise<IEvent[]> {\n await this.ready();\n // console.log('Service.fetchFromWebsocket: ready', args);\n const { relays, filters, options, hash } = args;\n const websocketEvents: IEvent[] = await this.websocketAdapter.fetch(\n {\n relays: relays || [],\n filters,\n options: options || defaultWebsocketAdapterOptions,\n hash,\n },\n callbacks\n ) as IEvent[];\n if(websocketEvents instanceof Array){\n StateManager.emit('events', websocketEvents);\n }\n return websocketEvents instanceof Array ? websocketEvents : [];\n }\n\n async _fetch(args: WebsocketRequestBody, callbacks?: SubscribeHandlers): Promise<IEvent[]> {\n await this.ready();\n const { relays, options } = args;\n let { filters } = args;\n let { returnResults } = options;\n\n filters = filters ?? [];\n\n const events = new Map<string, IEvent>();\n\n const generateId = (event: IEvent): string | undefined => {\n if (isPRE(event)) {\n const dtagv = event.tags.find((t: string[]) => t[0] === 'd')?.[1];\n return dtagv ? `${event.pubkey}:${event.kind}:${dtagv}` : undefined;\n }\n return isRE(event) ? `${event.pubkey}:${event.kind}` : event.id;\n };\n\n const maybeAddEventToMap = (event: IEvent): boolean => {\n const id = generateId(event);\n if (!id || events.has(id)) return false;\n events.set(id, event);\n return true;\n };\n\n const cacheEvents = await this.fetchFromCache(filters, callbacks);\n\n if(cacheEvents.length > 0) {\n cacheEvents.forEach(maybeAddEventToMap);\n }\n\n const _callbacks: SubscribeHandlers = {};\n\n if (callbacks?.onevent) {\n _callbacks.onevent = (event: IEvent) => {\n if (maybeAddEventToMap(event)) callbacks.onevent!(event);\n };\n }\n\n if (callbacks?.onevents) {\n StateManager.emit('events', cacheEvents);\n _callbacks.onevents = (batch: IEvent[]) => {\n const newEvents: IEvent[] = [];\n for (const event of batch) {\n if (maybeAddEventToMap(event)) newEvents.push(event);\n }\n if (newEvents.length > 0) callbacks.onevents!(newEvents);\n };\n }\n\n const websocketEvents = await this.fetchFromWebsocket(args, _callbacks);\n websocketEvents.forEach(maybeAddEventToMap);\n\n if(Object.keys(_callbacks).length === 0) {\n StateManager.emit('events', websocketEvents);\n }\n\n const finalEvents = Array.from(events.values());\n return this.modifyReturnedEvents(finalEvents);\n }\n\n async modifyReturnedEvents(events: IEvent[]): Promise<IEvent[]> {\n console.warn('modifyReturnedEvents not implemented');\n return events;\n }\n\n addRelay(to: keyof IGroupedRelays, relay: string): void {\n if (!this._groupedRelays?.[to]) this._groupedRelays[to] = [];\n this._groupedRelays?.[to].push(relay);\n }\n\n removeRelay(from: keyof IGroupedRelays, relay: string): void {\n if (!this._groupedRelays?.[from]) return;\n this._groupedRelays[from] = this._groupedRelays[from].filter((r) => r !== relay);\n }\n\n /**\n * Replace all relays in a group with new ones\n * Note: Empty arrays are ignored to prevent accidentally wiping out relay lists\n */\n setRelays(group: keyof IGroupedRelays, relays: string[]): void {\n if (!relays || relays.length === 0) {\n console.warn(`setRelays called with empty array for group '${group}', ignoring`);\n return;\n }\n this._groupedRelays[group] = [...relays];\n }\n\n /**\n * Clear all relays from a group\n */\n clearRelays(group: keyof IGroupedRelays): void {\n this._groupedRelays[group] = [];\n }\n}\n"],"names":["Service","adapters","this","_groupedRelays","_ready","_subscriptions","Set","cacheAdapter","websocketAdapter","Object","defineProperty","prototype","get","cache","websocket","_a","route66","userMeta","ready","Promise","resolve","setTimeout","sent","modifyCacheFilters","filters","console","warn","modifyWebsocketFilters","publish","args","hash","note","relays","id","slice","subscriptions","add","delete","subscribe","args_1","callbacks_1","callbacks","nocache","_f","options","deterministicHash","log","concat","stream","keepAlive","_c","constructor","_d","name","result","hasCallbacks","Boolean","keys","length","cacheCallbacks","addSymbolToCallbacks","fetchFromCache","addSymbolToEvents","wsCallbacks","undefined","originalOnclose_1","onclose","wrappedCallbacks","subId","_this","shouldStream","_e","error","err_1","__assign","defaultWebsocketAdapterOptions","_b","_fetch","subscribeRelatives","kinds","__spreadArray","returnResults","priority","symbolValue","newCallbacks","onevent","event","SOURCE","call","onevents","events","map","unsubscribe","unsubscribeMany","hashes","forEach","unsubscribeAllActive","unsubscribeAll","fetch","results","countFromCache","COUNT","cacheEvents","REQ","fetchFromWebsocket","websocketEvents","Array","StateManager","emit","Map","generateId","isPRE","dtagv","tags","find","t","pubkey","kind","isRE","maybeAddEventToMap","has","set","_callbacks","batch","newEvents","_i","batch_1","event_1","push","finalEvents","from","values","modifyReturnedEvents","addRelay","to","relay","removeRelay","filter","r","setRelays","group","clearRelays"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{__awaiter as e,__generator as t,__assign as r,__spreadArray as n}from"../_virtual/_tslib.esm.js";import"../core/Adapter.esm.js";import"../core/AdapterCacheWorker.esm.js";import"../core/AdapterWebsocketWorker.esm.js";import"../core/AdapterWorker.esm.js";import"../core/Base.esm.js";import"../core/Batcher.esm.js";import"../core/CacheAdapter.esm.js";import"../core/Workers.esm.js";import"../core/Queue.esm.js";import{defaultWebsocketAdapterOptions as s}from"../core/WebsocketAdapter.esm.js";import{isPRE as i,isRE as o}from"../utils/events.esm.js";import{deterministicHash as c}from"../utils/hash.esm.js";import{StateManager as u}from"../managers/StateManager.esm.js";import{SOURCE as a}from"../models/Event.esm.js";var l=function(){function Service(e){this._groupedRelays={},this._ready=!1,this._subscriptions=new Set,this.cacheAdapter=e.cacheAdapter,this.websocketAdapter=e.websocketAdapter}return Object.defineProperty(Service.prototype,"adapter",{get:function(){return{cache:this.cacheAdapter,websocket:this.websocketAdapter}},enumerable:!1,configurable:!0}),Object.defineProperty(Service.prototype,"nip66Relays",{get:function(){var e;return(null===(e=this._groupedRelays)||void 0===e?void 0:e.route66)||[]},enumerable:!1,configurable:!0}),Object.defineProperty(Service.prototype,"userMetaRelays",{get:function(){var e;return(null===(e=this._groupedRelays)||void 0===e?void 0:e.userMeta)||[]},enumerable:!1,configurable:!0}),Object.defineProperty(Service.prototype,"subscriptions",{get:function(){return this._subscriptions},enumerable:!1,configurable:!0}),Service.prototype.ready=function(){return e(this,void 0,void 0,(function(){return t(this,(function(e){switch(e.label){case 0:return this._ready?[3,2]:[4,new Promise((function(e){return setTimeout(e,100)}))];case 1:return e.sent(),[3,0];case 2:return[2]}}))}))},Service.prototype.modifyCacheFilters=function(r){return e(this,void 0,void 0,(function(){return t(this,(function(e){return console.warn("modifyCacheFilters not implemented"),[2,r]}))}))},Service.prototype.modifyWebsocketFilters=function(r){return e(this,void 0,void 0,(function(){return t(this,(function(e){return console.warn("modifyWebsocketFilters not implemented"),[2,r]}))}))},Service.prototype.publish=function(r){return e(this,void 0,void 0,(function(){var e,n,s;return t(this,(function(t){switch(t.label){case 0:return[4,this.ready()];case 1:return t.sent(),e=r.hash,n=r.note,s=r.relays,n?(e||(e=n.id.slice(0,21)),this.subscriptions.add(e),[4,this.websocketAdapter.publish({note:n,relays:s,hash:e})]):[2,!1];case 2:return t.sent(),this.subscriptions.delete(e),[2,!1]}}))}))},Service.prototype.subscribe=function(n,i){return e(this,arguments,void 0,(function(e,n,i){var o,u,a,l,h,d,v,p,f,b,y,m,S,k,g,w,A=this;return void 0===i&&(i=!1),t(this,(function(t){switch(t.label){case 0:return[4,this.ready()];case 1:return t.sent(),o=e.filters,e.relays,u=e.options,(a=e.hash)||(a=c(e)),e.hash=a,this.subscriptions.add(a),console.log("[Service] subscribe: hash=".concat(null==a?void 0:a.slice(0,8),", nocache=").concat(i,", stream=").concat(null==u?void 0:u.stream,", keepAlive=").concat(null==u?void 0:u.keepAlive,", adapterType=").concat(null===(g=null===(k=this.websocketAdapter)||void 0===k?void 0:k.constructor)||void 0===g?void 0:g.name)),l=[],h=Boolean(n&&Object.keys(n).length>0),console.log("[Service] subscribe: hasCallbacks=".concat(h)),!o||i?[3,4]:({},n?(d=this.addSymbolToCallbacks(n,"cache"),this.fetchFromCache(o,d),[3,4]):[3,2]);case 2:return v=this.addSymbolToEvents,[4,this.fetchFromCache(o)];case 3:l=v.apply(this,[t.sent(),"cache"]),t.label=4;case 4:return p=void 0,h&&n&&(f=n.onclose,b=r(r({},n),{onclose:function(e){A.subscriptions.delete(e),null==f||f(e)}}),p=this.addSymbolToCallbacks(b,"ws")),y=Boolean(!0===(null==u?void 0:u.stream)&&h),console.log("[Service] subscribe: shouldStream=".concat(y)),y?(console.log("[Service] subscribe: calling websocketAdapter.subscribe, subscribeIsFn=".concat("function"==typeof(null===(w=this.websocketAdapter)||void 0===w?void 0:w.subscribe))),(null==u?void 0:u.keepAlive)?(this.websocketAdapter.subscribe(e,p),[3,8]):[3,5]):[3,9];case 5:return t.trys.push([5,7,,8]),[4,this.websocketAdapter.subscribe(e,p)];case 6:return t.sent(),[3,8];case 7:throw m=t.sent(),console.error("[Service] subscribe error:",m),m;case 8:return console.log("[Service] subscribe: websocketAdapter.subscribe returned"),[3,11];case 9:return console.log("[Service] subscribe: using _fetch instead of websocket subscribe"),e.options=r(r(r({},s),null!=u?u:{}),{stream:!1}),S=this.addSymbolToEvents,[4,this._fetch(e,p)];case 10:l=S.apply(this,[t.sent(),"ws"]),t.label=11;case 11:return(null==u?void 0:u.keepAlive)||this.subscriptions.delete(a),[2,y?[]:l]}}))}))},Service.prototype.subscribeRelatives=function(e,t,r){var s=e.id,i={filters:[{kinds:[9735,9321],"#e":[s]},{kinds:[1,7,1111],"#e":[s]},{kinds:[1111],"#E":[s]}],relays:t=n(n([],t||[],!0),["wss://relay.damus.io"],!1),options:{cache:!0,stream:!0,returnResults:!0,keepAlive:!1},priority:5};return this.subscribe(i,r)},Service.prototype.addSymbolToCallbacks=function(e,t){var n=r({},e);return n.onevent=function(r){var n;r[a]=t,null===(n=e.onevent)||void 0===n||n.call(e,r)},n.onevents=function(r){var n;r=r.map((function(e){return e[a]=t,e})),null===(n=e.onevents)||void 0===n||n.call(e,r)},n},Service.prototype.addSymbolToEvents=function(e,t){return e.map((function(e){return e[a]=t,e}))},Service.prototype.unsubscribe=function(r){return e(this,void 0,void 0,(function(){return t(this,(function(e){switch(e.label){case 0:return[4,this.ready()];case 1:return e.sent(),this.websocketAdapter.unsubscribe(r),[2]}}))}))},Service.prototype.unsubscribeMany=function(r){return e(this,void 0,void 0,(function(){var e=this;return t(this,(function(t){switch(t.label){case 0:return[4,this.ready()];case 1:return t.sent(),r.forEach((function(t){e.unsubscribe(t)})),[2]}}))}))},Service.prototype.unsubscribeAllActive=function(){return e(this,void 0,void 0,(function(){var e=this;return t(this,(function(t){switch(t.label){case 0:return[4,this.ready()];case 1:return t.sent(),this.subscriptions.forEach((function(t){e.unsubscribe(t)})),[2]}}))}))},Service.prototype.unsubscribeAll=function(){return e(this,void 0,void 0,(function(){return t(this,(function(e){switch(e.label){case 0:return[4,this.ready()];case 1:return e.sent(),this.websocketAdapter.unsubscribeAll(),[2]}}))}))},Service.prototype.fetch=function(r,n){return e(this,void 0,void 0,(function(){var e;return t(this,(function(t){switch(t.label){case 0:return[4,this.ready()];case 1:return t.sent(),r.hash||(r.hash=c(r)),this.subscriptions.add(r.hash),[4,this._fetch(r,n)];case 2:return e=t.sent(),this.subscriptions.delete(r.hash),[2,e]}}))}))},Service.prototype.countFromCache=function(r){return e(this,void 0,void 0,(function(){return t(this,(function(e){switch(e.label){case 0:return[4,this.ready()];case 1:return e.sent(),[2,this.cacheAdapter.COUNT(r)]}}))}))},Service.prototype.fetchFromCache=function(r,n){return e(this,void 0,void 0,(function(){var e;return t(this,(function(t){switch(t.label){case 0:return[4,this.ready()];case 1:return t.sent(),e=[],[4,this.cacheAdapter.REQ(r)];case 2:return(null==(e=t.sent())?void 0:e.length)&&((null==n?void 0:n.onevents)&&n.onevents(e),(null==n?void 0:n.onevent)&&e.forEach((function(e){var t;null===(t=n.onevent)||void 0===t||t.call(n,e)}))),[2,(null==e?void 0:e.length)?e:[]]}}))}))},Service.prototype.fetchFromWebsocket=function(r,n){return e(this,void 0,void 0,(function(){var e,i,o,c,a;return t(this,(function(t){switch(t.label){case 0:return[4,this.ready()];case 1:return t.sent(),e=r.relays,i=r.filters,o=r.options,c=r.hash,[4,this.websocketAdapter.fetch({relays:e||[],filters:i,options:o||s,hash:c},n)];case 2:return(a=t.sent())instanceof Array&&u.emit("events",a),[2,a instanceof Array?a:[]]}}))}))},Service.prototype._fetch=function(r,n){return e(this,void 0,void 0,(function(){var e,s,c,a,l,h,d,v,p;return t(this,(function(t){switch(t.label){case 0:return[4,this.ready()];case 1:return t.sent(),r.relays,e=r.options,s=r.filters,e.returnResults,s=null!=s?s:[],c=new Map,a=function(e){var t;if(i(e)){var r=null===(t=e.tags.find((function(e){return"d"===e[0]})))||void 0===t?void 0:t[1];return r?"".concat(e.pubkey,":").concat(e.kind,":").concat(r):void 0}return o(e)?"".concat(e.pubkey,":").concat(e.kind):e.id},l=function(e){var t=a(e);return!(!t||c.has(t))&&(c.set(t,e),!0)},[4,this.fetchFromCache(s,n)];case 2:return(h=t.sent()).length>0&&h.forEach(l),d={},(null==n?void 0:n.onevent)&&(d.onevent=function(e){l(e)&&n.onevent(e)}),(null==n?void 0:n.onevents)&&(u.emit("events",h),d.onevents=function(e){for(var t=[],r=0,s=e;r<s.length;r++){var i=s[r];l(i)&&t.push(i)}t.length>0&&n.onevents(t)}),[4,this.fetchFromWebsocket(r,d)];case 3:return(v=t.sent()).forEach(l),0===Object.keys(d).length&&u.emit("events",v),p=Array.from(c.values()),[2,this.modifyReturnedEvents(p)]}}))}))},Service.prototype.modifyReturnedEvents=function(r){return e(this,void 0,void 0,(function(){return t(this,(function(e){return console.warn("modifyReturnedEvents not implemented"),[2,r]}))}))},Service.prototype.addRelay=function(e,t){var r,n;(null===(r=this._groupedRelays)||void 0===r?void 0:r[e])||(this._groupedRelays[e]=[]),null===(n=this._groupedRelays)||void 0===n||n[e].push(t)},Service.prototype.removeRelay=function(e,t){var r;(null===(r=this._groupedRelays)||void 0===r?void 0:r[e])&&(this._groupedRelays[e]=this._groupedRelays[e].filter((function(e){return e!==t})))},Service.prototype.setRelays=function(e,t){t&&0!==t.length?this._groupedRelays[e]=n([],t,!0):console.warn("setRelays called with empty array for group '".concat(e,"', ignoring"))},Service.prototype.clearRelays=function(e){this._groupedRelays[e]=[]},Service}();export{l as Service};
2
+ //# sourceMappingURL=Service.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Service.esm.js","sources":["../../../src/services/Service.ts"],"sourcesContent":["import { IEvent } from \"@base/interfaces\";\nimport type { ICacheAdapter, IWebsocketAdapter, SubscribeHandlers, WebsocketRequestBody, WebsocketAdapterOptions } from \"@base/core\";\nimport { defaultWebsocketAdapterOptions } from \"@base/core\";\nimport { IAdaptersArgument } from \"@base/interfaces/IAdaptersArgument\";\nimport { Filter } from \"nostr-tools\";\nimport { deterministicHash, isPRE, isRE } from \"@base/utils\";\nimport { StateManager } from \"@base/managers/StateManager\";\nimport { NostrEvent } from \"@base/models\";\nimport { SOURCE } from \"@base/models/Event\";\n\nexport interface IGroupedRelays {\n userMeta?: string[];\n route66?: string[];\n appData?: string[];\n}\n\n// export interface WebsocketRequestBody extends WebsocketRequestBody {}\n\nexport type ServiceAdaptersTypes = {\n cache: ICacheAdapter;\n websocket: IWebsocketAdapter;\n}\n\nexport class Service {\n protected cacheAdapter: ICacheAdapter;\n protected websocketAdapter: IWebsocketAdapter;\n protected _groupedRelays: IGroupedRelays = {};\n protected _ready: boolean = false;\n protected _subscriptions: Set<string> = new Set();\n\n constructor(adapters: IAdaptersArgument) {\n this.cacheAdapter = adapters.cacheAdapter;\n this.websocketAdapter = adapters.websocketAdapter;\n }\n\n get adapter(): ServiceAdaptersTypes {\n return { cache: this.cacheAdapter, websocket: this.websocketAdapter };\n }\n\n get nip66Relays(): string[] {\n return this._groupedRelays?.route66 || [];\n }\n\n get userMetaRelays(): string[]{\n return this._groupedRelays?.userMeta || [];\n }\n\n get subscriptions(): Set<string> {\n return this._subscriptions;\n }\n\n async ready(): Promise<void> {\n while (!this._ready) {\n await new Promise((resolve) => setTimeout(resolve, 100));\n }\n }\n\n async modifyCacheFilters(filters: Filter[]): Promise<Filter[]> {\n console.warn('modifyCacheFilters not implemented');\n return filters;\n }\n\n async modifyWebsocketFilters(filters: Filter[]): Promise<Filter[]> {\n console.warn('modifyWebsocketFilters not implemented');\n return filters;\n }\n\n async publish(args: WebsocketRequestBody): Promise<boolean> {\n await this.ready();\n let { hash, note, relays } = args\n if(!note) return false;\n if(!hash) {\n hash = note.id.slice(0, 21)\n }\n this.subscriptions.add(hash)\n await this.websocketAdapter.publish({ note, relays, hash });\n this.subscriptions.delete(hash)\n return false;\n }\n\n async subscribe(args: WebsocketRequestBody, callbacks?: SubscribeHandlers, nocache: boolean = false): Promise<IEvent[]> {\n await this.ready();\n let { filters, relays, options, hash } = args;\n if(!hash) {\n hash = deterministicHash(args)\n }\n args.hash = hash;\n this.subscriptions.add(hash)\n\n console.log(`[Service] subscribe: hash=${hash?.slice(0,8)}, nocache=${nocache}, stream=${options?.stream}, keepAlive=${options?.keepAlive}, adapterType=${this.websocketAdapter?.constructor?.name}`);\n\n let result: IEvent[] = [];\n\n const hasCallbacks = Boolean(callbacks && Object.keys(callbacks).length > 0);\n console.log(`[Service] subscribe: hasCallbacks=${hasCallbacks}`);\n\n if(filters && !nocache) {\n let cacheCallbacks: SubscribeHandlers = {}\n if(callbacks) {\n cacheCallbacks = this.addSymbolToCallbacks(callbacks, 'cache');\n this.fetchFromCache(filters, cacheCallbacks);\n }\n else {\n result = this.addSymbolToEvents(await this.fetchFromCache(filters), 'cache');\n }\n }\n\n let wsCallbacks: SubscribeHandlers | undefined = undefined;\n if(hasCallbacks && callbacks) {\n const originalOnclose = callbacks.onclose;\n const wrappedCallbacks: SubscribeHandlers = {\n ...callbacks,\n onclose: (subId: string) => {\n this.subscriptions.delete(subId)\n originalOnclose?.(subId)\n }\n }\n wsCallbacks = this.addSymbolToCallbacks(wrappedCallbacks, 'ws');\n }\n\n const shouldStream = Boolean(options?.stream === true && hasCallbacks);\n console.log(`[Service] subscribe: shouldStream=${shouldStream}`);\n if(shouldStream){\n console.log(`[Service] subscribe: calling websocketAdapter.subscribe, subscribeIsFn=${typeof this.websocketAdapter?.subscribe === 'function'}`);\n if(options?.keepAlive){\n void this.websocketAdapter.subscribe(args, wsCallbacks);\n }\n else {\n try {\n await this.websocketAdapter.subscribe(args, wsCallbacks);\n } catch (err) {\n console.error(`[Service] subscribe error:`, err);\n throw err;\n }\n }\n console.log(`[Service] subscribe: websocketAdapter.subscribe returned`);\n }\n else {\n // Stream subscriptions without callbacks can hang (worker won't forward streamed messages\n // when `returnResults=false`). Force non-stream behavior when no callbacks are present.\n console.log(`[Service] subscribe: using _fetch instead of websocket subscribe`);\n args.options = { ...defaultWebsocketAdapterOptions, ...(options ?? {}), stream: false };\n result = this.addSymbolToEvents(await this._fetch(args, wsCallbacks), 'ws');\n }\n if(!options?.keepAlive) {\n this.subscriptions.delete(hash)\n }\n\n return shouldStream ? [] : result;\n }\n\n subscribeRelatives(note: IEvent | NostrEvent, relays?: string[], callbacks?: SubscribeHandlers): Promise<IEvent[]> {\n const { id } = note\n const filters: Filter[] = [\n { kinds: [9735, 9321], '#e': [id] }, //zaps\n { kinds: [1, 7, 1111], '#e': [id] }, //commments, mentions\n { kinds: [1111], '#E': [id] } //NIP-22 comments\n ]\n relays = [ ...(relays || []), 'wss://relay.damus.io' ]\n const options: WebsocketAdapterOptions = {\n cache: true,\n stream: true,\n returnResults: true,\n keepAlive: false\n }\n const args: WebsocketRequestBody = {\n filters,\n relays,\n options,\n priority: 5\n }\n return this.subscribe(args, callbacks) as Promise<IEvent[]>\n }\n\n private addSymbolToCallbacks(callbacks: SubscribeHandlers, symbolValue: string): SubscribeHandlers {\n const newCallbacks = {...callbacks}\n newCallbacks.onevent = (event: IEvent) => {\n event[SOURCE] = symbolValue\n callbacks.onevent?.(event)\n }\n newCallbacks.onevents = (events: IEvent[]) => {\n events = events.map( event => {\n event[SOURCE] = symbolValue\n return event\n })\n callbacks.onevents?.(events)\n }\n return newCallbacks;\n }\n\n private addSymbolToEvents(events: IEvent[], symbolValue: string): IEvent[] {\n return events.map( event => {\n event[SOURCE] = symbolValue\n return event\n })\n }\n\n async unsubscribe(hash: string) {\n await this.ready();\n this.websocketAdapter.unsubscribe(hash);\n }\n\n async unsubscribeMany(hashes: string[]) {\n await this.ready();\n hashes.forEach((hash) => {\n this.unsubscribe(hash);\n })\n }\n\n async unsubscribeAllActive(){\n await this.ready();\n this.subscriptions.forEach((hash) => {\n this.unsubscribe(hash);\n })\n }\n\n async unsubscribeAll(){\n await this.ready();\n this.websocketAdapter.unsubscribeAll();\n }\n\n async fetch(args: WebsocketRequestBody, callbacks?: SubscribeHandlers): Promise<IEvent[]> {\n await this.ready();\n if(!args.hash) { \n args.hash = deterministicHash(args);\n }\n this.subscriptions.add(args.hash)\n const results = await this._fetch(args, callbacks);\n this.subscriptions.delete(args.hash)\n return results;\n }\n\n async countFromCache(filters: Filter[]): Promise<number> {\n await this.ready();\n return this.cacheAdapter.COUNT(filters);\n }\n\n async fetchFromCache(filters: Filter[], callbacks?: SubscribeHandlers): Promise<IEvent[]> {\n await this.ready();\n let cacheEvents: IEvent[] = [];\n cacheEvents = await this.cacheAdapter.REQ(filters);\n if(cacheEvents?.length){\n // StateManager.emit('events', cacheEvents);\n if (callbacks?.onevents) {\n callbacks.onevents(cacheEvents);\n }\n if (callbacks?.onevent) {\n cacheEvents.forEach(event => {\n callbacks.onevent?.(event);\n });\n }\n \n }\n return cacheEvents?.length? cacheEvents: [];\n }\n\n async fetchFromWebsocket(args: WebsocketRequestBody, callbacks?: SubscribeHandlers): Promise<IEvent[]> {\n await this.ready();\n // console.log('Service.fetchFromWebsocket: ready', args);\n const { relays, filters, options, hash } = args;\n const websocketEvents: IEvent[] = await this.websocketAdapter.fetch(\n {\n relays: relays || [],\n filters,\n options: options || defaultWebsocketAdapterOptions,\n hash,\n },\n callbacks\n ) as IEvent[];\n if(websocketEvents instanceof Array){\n StateManager.emit('events', websocketEvents);\n }\n return websocketEvents instanceof Array ? websocketEvents : [];\n }\n\n async _fetch(args: WebsocketRequestBody, callbacks?: SubscribeHandlers): Promise<IEvent[]> {\n await this.ready();\n const { relays, options } = args;\n let { filters } = args;\n let { returnResults } = options;\n\n filters = filters ?? [];\n\n const events = new Map<string, IEvent>();\n\n const generateId = (event: IEvent): string | undefined => {\n if (isPRE(event)) {\n const dtagv = event.tags.find((t: string[]) => t[0] === 'd')?.[1];\n return dtagv ? `${event.pubkey}:${event.kind}:${dtagv}` : undefined;\n }\n return isRE(event) ? `${event.pubkey}:${event.kind}` : event.id;\n };\n\n const maybeAddEventToMap = (event: IEvent): boolean => {\n const id = generateId(event);\n if (!id || events.has(id)) return false;\n events.set(id, event);\n return true;\n };\n\n const cacheEvents = await this.fetchFromCache(filters, callbacks);\n\n if(cacheEvents.length > 0) {\n cacheEvents.forEach(maybeAddEventToMap);\n }\n\n const _callbacks: SubscribeHandlers = {};\n\n if (callbacks?.onevent) {\n _callbacks.onevent = (event: IEvent) => {\n if (maybeAddEventToMap(event)) callbacks.onevent!(event);\n };\n }\n\n if (callbacks?.onevents) {\n StateManager.emit('events', cacheEvents);\n _callbacks.onevents = (batch: IEvent[]) => {\n const newEvents: IEvent[] = [];\n for (const event of batch) {\n if (maybeAddEventToMap(event)) newEvents.push(event);\n }\n if (newEvents.length > 0) callbacks.onevents!(newEvents);\n };\n }\n\n const websocketEvents = await this.fetchFromWebsocket(args, _callbacks);\n websocketEvents.forEach(maybeAddEventToMap);\n\n if(Object.keys(_callbacks).length === 0) {\n StateManager.emit('events', websocketEvents);\n }\n\n const finalEvents = Array.from(events.values());\n return this.modifyReturnedEvents(finalEvents);\n }\n\n async modifyReturnedEvents(events: IEvent[]): Promise<IEvent[]> {\n console.warn('modifyReturnedEvents not implemented');\n return events;\n }\n\n addRelay(to: keyof IGroupedRelays, relay: string): void {\n if (!this._groupedRelays?.[to]) this._groupedRelays[to] = [];\n this._groupedRelays?.[to].push(relay);\n }\n\n removeRelay(from: keyof IGroupedRelays, relay: string): void {\n if (!this._groupedRelays?.[from]) return;\n this._groupedRelays[from] = this._groupedRelays[from].filter((r) => r !== relay);\n }\n\n /**\n * Replace all relays in a group with new ones\n * Note: Empty arrays are ignored to prevent accidentally wiping out relay lists\n */\n setRelays(group: keyof IGroupedRelays, relays: string[]): void {\n if (!relays || relays.length === 0) {\n console.warn(`setRelays called with empty array for group '${group}', ignoring`);\n return;\n }\n this._groupedRelays[group] = [...relays];\n }\n\n /**\n * Clear all relays from a group\n */\n clearRelays(group: keyof IGroupedRelays): void {\n this._groupedRelays[group] = [];\n }\n}\n"],"names":["Service","adapters","this","_groupedRelays","_ready","_subscriptions","Set","cacheAdapter","websocketAdapter","Object","defineProperty","prototype","get","cache","websocket","_a","route66","userMeta","ready","Promise","resolve","setTimeout","sent","modifyCacheFilters","filters","console","warn","modifyWebsocketFilters","publish","args","hash","note","relays","id","slice","subscriptions","add","delete","subscribe","args_1","callbacks_1","callbacks","nocache","_f","options","deterministicHash","log","concat","stream","keepAlive","_c","constructor","_d","name","result","hasCallbacks","Boolean","keys","length","cacheCallbacks","addSymbolToCallbacks","fetchFromCache","addSymbolToEvents","wsCallbacks","undefined","originalOnclose_1","onclose","wrappedCallbacks","subId","_this","shouldStream","_e","error","err_1","__assign","defaultWebsocketAdapterOptions","_b","_fetch","subscribeRelatives","kinds","__spreadArray","returnResults","priority","symbolValue","newCallbacks","onevent","event","SOURCE","call","onevents","events","map","unsubscribe","unsubscribeMany","hashes","forEach","unsubscribeAllActive","unsubscribeAll","fetch","results","countFromCache","COUNT","cacheEvents","REQ","fetchFromWebsocket","websocketEvents","Array","StateManager","emit","Map","generateId","isPRE","dtagv","tags","find","t","pubkey","kind","isRE","maybeAddEventToMap","has","set","_callbacks","batch","newEvents","_i","batch_1","event_1","push","finalEvents","from","values","modifyReturnedEvents","addRelay","to","relay","removeRelay","filter","r","setRelays","group","clearRelays"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("./MonitorService.cjs.js"),r=require("./RelayService.cjs.js"),i=require("./AuditorService.cjs.js"),c=require("./Service.cjs.js"),o=require("./ChronicleService.cjs.js");exports.MonitorService=e.MonitorService,exports.RelayService=r.RelayService,exports.AuditorService=i.AuditorService,exports.Service=c.Service,exports.ChronicleService=o.ChronicleService;
2
+ //# sourceMappingURL=index.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export{MonitorService}from"./MonitorService.esm.js";export{RelayService}from"./RelayService.esm.js";export{AuditorService}from"./AuditorService.esm.js";export{Service}from"./Service.esm.js";export{ChronicleService}from"./ChronicleService.esm.js";
2
+ //# sourceMappingURL=index.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";exports.transformCheck=function(n){var t,u,i,r,l,e,o,s,a,d,f=n.id,c=n.tags.find((function(n){return"d"===n[0]})),v=c?new URL(c[1]).toString():null,g=n.pubkey,p=n.created_at,m=(null===(t=n.tags.find((function(n){return"n"===n[0]})))||void 0===t?void 0:t[1])||null,h=parseInt(null===(u=n.tags.find((function(n){return"rtt-open"===n[0]})))||void 0===u?void 0:u[1])||null,y=parseInt(null===(i=n.tags.find((function(n){return"rtt-write"===n[0]})))||void 0===i?void 0:i[1])||null,R=h||y||null,k=(null===(r=n.tags.find((function(n){return"p"===n[0]})))||void 0===r?void 0:r[1])||null,w=n.tags.filter((function(n){return"N"===n[0]})).map((function(n){return parseInt(n[1])}))||null,I=(null===(l=n.tags.find((function(n){return"s"===n[0]})))||void 0===l?void 0:l[1])||null,b=(null===(e=n.tags.find((function(n){return"l"===n[0]&&"nip11.version"===n[2]})))||void 0===e?void 0:e[1])||null,q=!!n.tags.some((function(n){return"R"===n[0]&&"payment"===n[1]})),C=!!n.tags.some((function(n){return"R"===n[0]&&"auth"===n[1]}));return n.tags.some((function(n){return"R"===n[0]&&"auth"===n[1]})),{nid:f,relay:v,monitorPubkey:g,created_at:p,networks:m,rtt:R,operatorPubkey:k,supportedNips:w,software:I,version:b,paymentRequired:q,authRequired:C,geohash:n.tags.filter((function(n){return"g"===n[0]})).map((function(n){return n[1]}))||null,geocode:(null===(o=n.tags.find((function(n){return"l"===n[0]&&"countryCode"===n[2]&&2===n[1].length})))||void 0===o?void 0:o[1])||null,isp:(null===(s=n.tags.find((function(n){return"l"===n[0]&&n[2].includes("isp")})))||void 0===s?void 0:s[1])||null,as:(null===(a=n.tags.find((function(n){return"l"===n[0]&&"host.as"===n[2]})))||void 0===a?void 0:a[1])||null,asname:(null===(d=n.tags.find((function(n){return"l"===n[0]&&"host.asn"===n[2]})))||void 0===d?void 0:d[1])||null,ipv4:n.tags.filter((function(n){return"l"===n[0]&&n[2].includes("ipv4")})).map((function(n){return n[1]}))||null,ipv6:null,sslValidTo:null,sslIssuer:null}};
2
+ //# sourceMappingURL=TransformCheck.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransformCheck.cjs.js","sources":["../../../src/transform/TransformCheck.ts"],"sourcesContent":["import { NostrTag } from \"@base/models/Event\";\n\nexport const transformCheck = (event: any) => {\n const nid = event.id;\n \n const dTag = event.tags.find((tag: NostrTag) => tag[0] === 'd');\n const relay = dTag ? new URL(dTag[1]).toString() : null;\n \n const monitorPubkey = event.pubkey;\n const created_at = event.created_at;\n \n const networks = event.tags.find((tag: NostrTag) => tag[0] === 'n')?.[1] || null;\n const rttOpen = parseInt(event.tags.find((tag: NostrTag) => tag[0] === 'rtt-open')?.[1]) || null;\n const rttWrite = parseInt(event.tags.find((tag: NostrTag) => tag[0] === 'rtt-write')?.[1]) || null;\n const rtt = rttOpen || rttWrite || null;\n \n const operatorPubkey = event.tags.find((tag: NostrTag) => tag[0] === 'p')?.[1] || null;\n \n const supportedNips = event.tags\n .filter((tag: NostrTag) => tag[0] === 'N')\n .map((tag: NostrTag) => parseInt(tag[1])) || null;\n \n const software = event.tags.find((tag: NostrTag) => tag[0] === 's')?.[1] || null;\n const version = event.tags.find((tag: NostrTag) => tag[0] === 'l' && tag[2] === 'nip11.version')?.[1] || null;\n \n const paymentRequired = event.tags.some((tag: NostrTag) => tag[0] === 'R' && tag[1] === 'payment') ? true : false;\n const authRequired = event.tags.some((tag: NostrTag) => tag[0] === 'R' && tag[1] === 'auth') ? true : false;\n const powRequired = event.tags.some((tag: NostrTag) => tag[0] === 'R' && tag[1] === 'auth') ? true : false;\n \n const geohash = event.tags.filter((tag: NostrTag) => tag[0] === 'g').map((tag: NostrTag) => tag[1]) || null;\n const geocode = event.tags.find((tag: NostrTag) => tag[0] === 'l' && tag[2] === 'countryCode' && tag[1].length === 2)?.[1] || null;\n \n const isp = event.tags.find((tag: NostrTag) => tag[0] === 'l' && tag[2].includes('isp'))?.[1] || null;\n const as = event.tags.find((tag: NostrTag) => tag[0] === 'l' && tag[2] === 'host.as')?.[1] || null;\n const asname = event.tags.find((tag: NostrTag) => tag[0] === 'l' && tag[2] === 'host.asn')?.[1] || null;\n \n const ipv4 = event.tags.filter((tag: NostrTag) => tag[0] === 'l' && tag[2].includes('ipv4')).map((tag: NostrTag) => tag[1]) || null;\n \n return {\n nid,\n relay,\n monitorPubkey,\n created_at,\n networks,\n rtt,\n operatorPubkey,\n supportedNips,\n software,\n version,\n paymentRequired,\n authRequired,\n geohash,\n geocode,\n isp,\n as,\n asname,\n ipv4,\n ipv6: null,\n sslValidTo: null,\n sslIssuer: null,\n };\n }"],"names":["event","nid","id","dTag","tags","find","tag","relay","URL","toString","monitorPubkey","pubkey","created_at","networks","_a","rttOpen","parseInt","_b","rttWrite","_c","rtt","operatorPubkey","_d","supportedNips","filter","map","software","_e","version","_f","paymentRequired","some","authRequired","geohash","geocode","_g","length","isp","_h","includes","as","_j","asname","_k","ipv4","ipv6","sslValidTo","sslIssuer"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ var transformCheck=function(n){var t,u,i,l,r,o,e,s,a,d,f=n.id,c=n.tags.find((function(n){return"d"===n[0]})),v=c?new URL(c[1]).toString():null,g=n.pubkey,p=n.created_at,m=(null===(t=n.tags.find((function(n){return"n"===n[0]})))||void 0===t?void 0:t[1])||null,h=parseInt(null===(u=n.tags.find((function(n){return"rtt-open"===n[0]})))||void 0===u?void 0:u[1])||null,y=parseInt(null===(i=n.tags.find((function(n){return"rtt-write"===n[0]})))||void 0===i?void 0:i[1])||null,R=h||y||null,k=(null===(l=n.tags.find((function(n){return"p"===n[0]})))||void 0===l?void 0:l[1])||null,w=n.tags.filter((function(n){return"N"===n[0]})).map((function(n){return parseInt(n[1])}))||null,I=(null===(r=n.tags.find((function(n){return"s"===n[0]})))||void 0===r?void 0:r[1])||null,b=(null===(o=n.tags.find((function(n){return"l"===n[0]&&"nip11.version"===n[2]})))||void 0===o?void 0:o[1])||null,q=!!n.tags.some((function(n){return"R"===n[0]&&"payment"===n[1]})),N=!!n.tags.some((function(n){return"R"===n[0]&&"auth"===n[1]}));return n.tags.some((function(n){return"R"===n[0]&&"auth"===n[1]})),{nid:f,relay:v,monitorPubkey:g,created_at:p,networks:m,rtt:R,operatorPubkey:k,supportedNips:w,software:I,version:b,paymentRequired:q,authRequired:N,geohash:n.tags.filter((function(n){return"g"===n[0]})).map((function(n){return n[1]}))||null,geocode:(null===(e=n.tags.find((function(n){return"l"===n[0]&&"countryCode"===n[2]&&2===n[1].length})))||void 0===e?void 0:e[1])||null,isp:(null===(s=n.tags.find((function(n){return"l"===n[0]&&n[2].includes("isp")})))||void 0===s?void 0:s[1])||null,as:(null===(a=n.tags.find((function(n){return"l"===n[0]&&"host.as"===n[2]})))||void 0===a?void 0:a[1])||null,asname:(null===(d=n.tags.find((function(n){return"l"===n[0]&&"host.asn"===n[2]})))||void 0===d?void 0:d[1])||null,ipv4:n.tags.filter((function(n){return"l"===n[0]&&n[2].includes("ipv4")})).map((function(n){return n[1]}))||null,ipv6:null,sslValidTo:null,sslIssuer:null}};export{transformCheck};
2
+ //# sourceMappingURL=TransformCheck.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransformCheck.esm.js","sources":["../../../src/transform/TransformCheck.ts"],"sourcesContent":["import { NostrTag } from \"@base/models/Event\";\n\nexport const transformCheck = (event: any) => {\n const nid = event.id;\n \n const dTag = event.tags.find((tag: NostrTag) => tag[0] === 'd');\n const relay = dTag ? new URL(dTag[1]).toString() : null;\n \n const monitorPubkey = event.pubkey;\n const created_at = event.created_at;\n \n const networks = event.tags.find((tag: NostrTag) => tag[0] === 'n')?.[1] || null;\n const rttOpen = parseInt(event.tags.find((tag: NostrTag) => tag[0] === 'rtt-open')?.[1]) || null;\n const rttWrite = parseInt(event.tags.find((tag: NostrTag) => tag[0] === 'rtt-write')?.[1]) || null;\n const rtt = rttOpen || rttWrite || null;\n \n const operatorPubkey = event.tags.find((tag: NostrTag) => tag[0] === 'p')?.[1] || null;\n \n const supportedNips = event.tags\n .filter((tag: NostrTag) => tag[0] === 'N')\n .map((tag: NostrTag) => parseInt(tag[1])) || null;\n \n const software = event.tags.find((tag: NostrTag) => tag[0] === 's')?.[1] || null;\n const version = event.tags.find((tag: NostrTag) => tag[0] === 'l' && tag[2] === 'nip11.version')?.[1] || null;\n \n const paymentRequired = event.tags.some((tag: NostrTag) => tag[0] === 'R' && tag[1] === 'payment') ? true : false;\n const authRequired = event.tags.some((tag: NostrTag) => tag[0] === 'R' && tag[1] === 'auth') ? true : false;\n const powRequired = event.tags.some((tag: NostrTag) => tag[0] === 'R' && tag[1] === 'auth') ? true : false;\n \n const geohash = event.tags.filter((tag: NostrTag) => tag[0] === 'g').map((tag: NostrTag) => tag[1]) || null;\n const geocode = event.tags.find((tag: NostrTag) => tag[0] === 'l' && tag[2] === 'countryCode' && tag[1].length === 2)?.[1] || null;\n \n const isp = event.tags.find((tag: NostrTag) => tag[0] === 'l' && tag[2].includes('isp'))?.[1] || null;\n const as = event.tags.find((tag: NostrTag) => tag[0] === 'l' && tag[2] === 'host.as')?.[1] || null;\n const asname = event.tags.find((tag: NostrTag) => tag[0] === 'l' && tag[2] === 'host.asn')?.[1] || null;\n \n const ipv4 = event.tags.filter((tag: NostrTag) => tag[0] === 'l' && tag[2].includes('ipv4')).map((tag: NostrTag) => tag[1]) || null;\n \n return {\n nid,\n relay,\n monitorPubkey,\n created_at,\n networks,\n rtt,\n operatorPubkey,\n supportedNips,\n software,\n version,\n paymentRequired,\n authRequired,\n geohash,\n geocode,\n isp,\n as,\n asname,\n ipv4,\n ipv6: null,\n sslValidTo: null,\n sslIssuer: null,\n };\n }"],"names":["transformCheck","event","nid","id","dTag","tags","find","tag","relay","URL","toString","monitorPubkey","pubkey","created_at","networks","_a","rttOpen","parseInt","_b","rttWrite","_c","rtt","operatorPubkey","_d","supportedNips","filter","map","software","_e","version","_f","paymentRequired","some","authRequired","geohash","geocode","_g","length","isp","_h","includes","as","_j","asname","_k","ipv4","ipv6","sslValidTo","sslIssuer"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("../_virtual/_tslib.cjs.js"),n=require("../utils/encoding.cjs.js"),decode=function(t){var r=n.decodeByteArrayToJson(t.encoded);return e.__assign(e.__assign({},t),r)},encode=function(e){return{id:e.id,pubkey:e.pubkey,kind:e.kind,created_at:e.created_at,encoded:n.encodeJsonToByteArray({tags:e.tags,content:e.content,signature:e.signature})}};exports.TransformEvent=function(e){return(null==e?void 0:e.encoded)?decode(e):encode(e)};
2
+ //# sourceMappingURL=TransformEvent.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransformEvent.cjs.js","sources":["../../../src/transform/TransformEvent.ts"],"sourcesContent":["import { IEvent } from \"@base/models\"\nimport { IEventEncoded } from \"@base/models/EventEncoded\"\nimport { decodeByteArrayToJson, encodeJsonToByteArray } from \"@base/utils/encoding\"\n\nexport const TransformEvent = ( event: IEvent | IEventEncoded ): IEvent | IEventEncoded => {\n //@ts-ignore\n if(event?.encoded){\n return decode(event as IEventEncoded)\n }\n return encode(event as IEvent)\n}\n\nconst decode = ( event: IEventEncoded ): IEvent => {\n const json = decodeByteArrayToJson(event.encoded)\n return {...event, ...json} \n}\n\nconst encode = ( event: IEvent ): IEventEncoded => {\n const { id, pubkey, kind, created_at } = event\n const encoded = encodeJsonToByteArray({ \n tags: event.tags,\n content: event.content,\n signature: event.signature\n });\n return { id, pubkey, kind, created_at, encoded }\n}"],"names":["decode","event","json","decodeByteArrayToJson","encoded","__assign","encode","id","pubkey","kind","created_at","encodeJsonToByteArray","tags","content","signature"],"mappings":"8FAYMA,OAAS,SAAEC,GACf,IAAMC,EAAOC,EAAAA,sBAAsBF,EAAMG,SACzC,OAAAC,EAAAA,SAAAA,EAAAA,SAAA,CAAA,EAAWJ,GAAUC,EACvB,EAEMI,OAAS,SAAEL,GAOf,MAAO,CAAEM,GANgCN,KAM5BO,OAN4BP,EAAKO,OAMzBC,KANoBR,EAAKQ,KAMnBC,WANcT,aAMFG,QALvBO,EAAAA,sBAAsB,CACpCC,KAAMX,EAAMW,KACZC,QAASZ,EAAMY,QACfC,UAAWb,EAAMa,YAGrB,yBArB8B,SAAEb,GAE9B,OAAGA,aAAK,EAALA,EAAOG,SACDJ,OAAOC,GAETK,OAAOL,EAChB"}
@@ -0,0 +1,2 @@
1
+ import{__assign as t}from"../_virtual/_tslib.esm.js";import{decodeByteArrayToJson as e,encodeJsonToByteArray as n}from"../utils/encoding.esm.js";var TransformEvent=function(t){return(null==t?void 0:t.encoded)?decode(t):encode(t)},decode=function(n){var r=e(n.encoded);return t(t({},n),r)},encode=function(t){return{id:t.id,pubkey:t.pubkey,kind:t.kind,created_at:t.created_at,encoded:n({tags:t.tags,content:t.content,signature:t.signature})}};export{TransformEvent};
2
+ //# sourceMappingURL=TransformEvent.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransformEvent.esm.js","sources":["../../../src/transform/TransformEvent.ts"],"sourcesContent":["import { IEvent } from \"@base/models\"\nimport { IEventEncoded } from \"@base/models/EventEncoded\"\nimport { decodeByteArrayToJson, encodeJsonToByteArray } from \"@base/utils/encoding\"\n\nexport const TransformEvent = ( event: IEvent | IEventEncoded ): IEvent | IEventEncoded => {\n //@ts-ignore\n if(event?.encoded){\n return decode(event as IEventEncoded)\n }\n return encode(event as IEvent)\n}\n\nconst decode = ( event: IEventEncoded ): IEvent => {\n const json = decodeByteArrayToJson(event.encoded)\n return {...event, ...json} \n}\n\nconst encode = ( event: IEvent ): IEventEncoded => {\n const { id, pubkey, kind, created_at } = event\n const encoded = encodeJsonToByteArray({ \n tags: event.tags,\n content: event.content,\n signature: event.signature\n });\n return { id, pubkey, kind, created_at, encoded }\n}"],"names":["TransformEvent","event","encoded","decode","encode","json","decodeByteArrayToJson","__assign","id","pubkey","kind","created_at","encodeJsonToByteArray","tags","content","signature"],"mappings":"iJAIO,IAAMA,eAAiB,SAAEC,GAE9B,OAAGA,aAAK,EAALA,EAAOC,SACDC,OAAOF,GAETG,OAAOH,EAChB,EAEME,OAAS,SAAEF,GACf,IAAMI,EAAOC,EAAsBL,EAAMC,SACzC,OAAAK,EAAAA,EAAA,CAAA,EAAWN,GAAUI,EACvB,EAEMD,OAAS,SAAEH,GAOf,MAAO,CAAEO,GANgCP,KAM5BQ,OAN4BR,EAAKQ,OAMzBC,KANoBT,EAAKS,KAMnBC,WANcV,aAMFC,QALvBU,EAAsB,CACpCC,KAAMZ,EAAMY,KACZC,QAASb,EAAMa,QACfC,UAAWd,EAAMc,YAGrB"}
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("../_virtual/_tslib.cjs.js"),r=require("../models/_.cjs.js");require("../models/Event.cjs.js"),require("../models/Nip66CheckEvent.cjs.js"),require("../models/DeltaEvent.cjs.js"),require("../models/RelayCheckAggregate.cjs.js"),require("../models/Geocoded.cjs.js"),require("../models/Monitor.cjs.js"),require("../models/Nip11.cjs.js"),require("../models/PubkeyProfile.cjs.js"),require("../models/PubkeyRelays.cjs.js");var n=require("./TransformRelays.cjs.js"),t=require("../utils/general.cjs.js"),k10166ToIEvent=function(e){var r=e.pubkey,n=e.created_at;return{id:e.id,kind:e.kind,pubkey:r,created_at:n,tags:e.tags,content:e.content,signature:e.signature}},n66IEventToIMonitor=function(t){var s=t.pubkey,o=t.id,u=getFrequency(t),i={pubkey:s,eventId:o,checks:getChecks(t),frequency:u,geohash:getGeohash(t),geocode:n.iGeocodeToArray(n.geocodeTransform(t))};return e.__assign(e.__assign({},r.modelDefaults()),i)},getFrequency=function(e){var r,n=-1;try{var t=null===(r=e.tags.find((function(e){return"frequency"===e[0]})))||void 0===r?void 0:r[1];t&&(n=parseInt(t))}catch(r){console.warn("frequency did not validate for monitor: ".concat(e.pubkey))}return n},getGeohash=function(e){return e.tags.filter((function(e){return"g"===e[0]&&t.isGeohash(e[1])})).reduce((function(e,r){r[0];var n=r[1];return n.length>((null==e?void 0:e.length)||0)?n:e}),null)},getChecks=function(e){var r=e.tags.reduce((function(e,r){var n=r[0],t=r[1];return"c"===n&&e.push(t),e}),[]);return null!=r?r:null};exports.k10166ToIEvent=k10166ToIEvent,exports.n66IEventToIMonitor=n66IEventToIMonitor,exports.transform10166=function(r){return e.__awaiter(void 0,void 0,void 0,(function(){var n,t,s;return e.__generator(this,(function(e){return n={},t=k10166ToIEvent(r),s=n66IEventToIMonitor(t),t&&(n.event=t),s&&(n.monitor=s),[2,n]}))}))};
2
+ //# sourceMappingURL=TransformMonitors.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransformMonitors.cjs.js","sources":["../../../src/transform/TransformMonitors.ts"],"sourcesContent":["import { IEvent, IMonitor, modelDefaults } from '@models/index';\nimport { geocodeTransform, iGeocodeToArray } from './TransformRelays';\nimport { isGeohash } from '@base/utils';\n\nexport type IdbReadyMonitorData = { \n event?: IEvent;\n monitor?: IMonitor;\n}\n\nexport const transform10166 = async (_event: IEvent): Promise<IdbReadyMonitorData> => { \n const res: IdbReadyMonitorData = {}\n\n const eventRecord = k10166ToIEvent(_event)\n const parsedMonitor = n66IEventToIMonitor( eventRecord)\n\n if(eventRecord) res.event = eventRecord\n if(parsedMonitor) res.monitor = parsedMonitor\n\n return res\n}\n\nexport const k10166ToIEvent = (_event: IEvent): IEvent => {\n const { pubkey, created_at, id, kind, tags, content, signature } = _event;\n const event: IEvent = {\n id,\n kind,\n pubkey,\n created_at,\n tags,\n content,\n signature\n }\n return event\n}\n\nexport const n66IEventToIMonitor = (event: IEvent): IMonitor => {\n const { pubkey, id:eventId } = event;\n\n const frequency: number = getFrequency(event);\n const checks: string[] | null = getChecks(event)\n const geohash: string | null = getGeohash(event)\n const geocode = iGeocodeToArray(geocodeTransform(event))\n\n const monitor = { \n pubkey,\n eventId,\n checks,\n frequency,\n geohash,\n geocode\n }\n\n return {...modelDefaults<IMonitor>(), ...monitor} as IMonitor\n}\n\nconst getFrequency = (event: IEvent): number => {\n let f = -1\n try{\n const f_ = event.tags.find( tag => tag[0] === 'frequency' )?.[1];\n if(f_) f = parseInt(f_)\n }\n catch(e){\n console.warn(`frequency did not validate for monitor: ${event.pubkey}`)\n }\n return f;\n}\n\nconst getGeohash = (event: IEvent): string | null => {\n const geohashes = event.tags.filter( t => t[0] === 'g' && isGeohash(t[1]) )\n return geohashes.reduce((longest, t) => {\n const key = t[0];\n const value = t[1];\n if (value.length > (longest?.length || 0)) {\n return value;\n }\n return longest\n }, null as string | null);\n};\n\nconst getChecks = (event: IEvent): string[] | null => {\n const checks = event.tags.reduce( (acc, t) => {\n const key = t[0];\n const value = t[1];\n const isCheck = key === 'c';\n if(isCheck) acc.push(value)\n return acc\n }, [] as string[] );\n return checks ?? null\n}\n\nexport default transform10166;"],"names":["k10166ToIEvent","_event","pubkey","created_at","id","kind","tags","content","signature","n66IEventToIMonitor","event","eventId","frequency","getFrequency","monitor","checks","getChecks","geohash","getGeohash","geocode","iGeocodeToArray","geocodeTransform","__assign","modelDefaults","f","f_","_a","find","tag","parseInt","e","console","warn","concat","filter","t","isGeohash","reduce","longest","value","length","acc","key","push","__awaiter","res","eventRecord","parsedMonitor"],"mappings":"0gBAqBaA,eAAiB,SAACC,GACrB,IAAAC,EAA2DD,EAAMC,OAAzDC,EAAmDF,EAAME,WAUzE,MATsB,CACpBC,GAFiEH,EAAMG,GAGvEC,KAHiEJ,EAAMI,KAIvEH,OAAMA,EACNC,WAAUA,EACVG,KANiEL,OAOjEM,QAPiEN,UAQjEO,UARiEP,YAWrE,EAEaQ,oBAAsB,SAACC,GAC1B,IAAAR,EAAuBQ,EAAKR,OAAjBS,EAAYD,EAAKN,GAE9BQ,EAAoBC,aAAaH,GAKjCI,EAAU,CACdZ,OAAMA,EACNS,QAAOA,EACPI,OAP8BC,UAAUN,GAQxCE,UAASA,EACTK,QAR6BC,WAAWR,GASxCS,QARcC,EAAAA,gBAAgBC,EAAAA,iBAAiBX,KAWjD,OAAOY,EAAAA,uBAAIC,EAAAA,iBAA8BT,EAC3C,EAEMD,aAAe,SAACH,SAChBc,GAAI,EACR,IACE,IAAMC,EAAqD,QAAhDC,EAAAhB,EAAMJ,KAAKqB,MAAM,SAAAC,GAAO,MAAW,cAAXA,EAAI,EAAJ,WAAwB,IAAAF,OAAA,EAAAA,EAAG,GAC3DD,IAAID,EAAIK,SAASJ,GACtB,CACA,MAAMK,GACJC,QAAQC,KAAK,2CAAAC,OAA2CvB,EAAMR,QAChE,CACA,OAAOsB,CACT,EAEMN,WAAa,SAACR,GAElB,OADkBA,EAAMJ,KAAK4B,QAAQ,SAAAC,GAAK,MAAS,MAATA,EAAE,IAAcC,YAAUD,EAAE,GAA5B,IACzBE,QAAO,SAACC,EAASH,GACpBA,EAAE,GACd,IAAMI,EAAQJ,EAAE,GAChB,OAAII,EAAMC,SAAUF,aAAO,EAAPA,EAASE,SAAU,GAC9BD,EAEFD,CACT,GAAG,KACL,EAEMtB,UAAY,SAACN,GACjB,IAAMK,EAASL,EAAMJ,KAAK+B,QAAQ,SAACI,EAAKN,GACtC,IAAMO,EAAMP,EAAE,GACRI,EAAQJ,EAAE,GAGhB,MAFwB,MAARO,GACJD,EAAIE,KAAKJ,GACdE,CACT,GAAG,IACH,OAAO1B,QAAAA,EAAU,IACnB,+GA/E8B,SAAOd,GAAc,OAAA2C,EAAAA,eAAA,OAAA,OAAA,GAAA,4DASjD,OARMC,EAA2B,CAAA,EAE3BC,EAAc9C,eAAeC,GAC7B8C,EAAgBtC,oBAAqBqC,GAExCA,IAAaD,EAAInC,MAAQoC,GACzBC,IAAeF,EAAI/B,QAAUiC,GAEhC,CAAA,EAAOF"}
@@ -0,0 +1,2 @@
1
+ import{__assign as e,__awaiter as t,__generator as r}from"../_virtual/_tslib.esm.js";import{modelDefaults as n}from"../models/_.esm.js";import"../models/Event.esm.js";import"../models/Nip66CheckEvent.esm.js";import"../models/DeltaEvent.esm.js";import"../models/RelayCheckAggregate.esm.js";import"../models/Geocoded.esm.js";import"../models/Monitor.esm.js";import"../models/Nip11.esm.js";import"../models/PubkeyProfile.esm.js";import"../models/PubkeyRelays.esm.js";import{iGeocodeToArray as o,geocodeTransform as s}from"./TransformRelays.esm.js";import{isGeohash as i}from"../utils/general.esm.js";var transform10166=function(e){return t(void 0,void 0,void 0,(function(){var t,n,o;return r(this,(function(r){return t={},n=k10166ToIEvent(e),o=n66IEventToIMonitor(n),n&&(t.event=n),o&&(t.monitor=o),[2,t]}))}))},k10166ToIEvent=function(e){var t=e.pubkey,r=e.created_at;return{id:e.id,kind:e.kind,pubkey:t,created_at:r,tags:e.tags,content:e.content,signature:e.signature}},n66IEventToIMonitor=function(t){var r=t.pubkey,i=t.id,u=getFrequency(t),m={pubkey:r,eventId:i,checks:getChecks(t),frequency:u,geohash:getGeohash(t),geocode:o(s(t))};return e(e({},n()),m)},getFrequency=function(e){var t,r=-1;try{var n=null===(t=e.tags.find((function(e){return"frequency"===e[0]})))||void 0===t?void 0:t[1];n&&(r=parseInt(n))}catch(t){console.warn("frequency did not validate for monitor: ".concat(e.pubkey))}return r},getGeohash=function(e){return e.tags.filter((function(e){return"g"===e[0]&&i(e[1])})).reduce((function(e,t){t[0];var r=t[1];return r.length>((null==e?void 0:e.length)||0)?r:e}),null)},getChecks=function(e){var t=e.tags.reduce((function(e,t){var r=t[0],n=t[1];return"c"===r&&e.push(n),e}),[]);return null!=t?t:null};export{k10166ToIEvent,n66IEventToIMonitor,transform10166};
2
+ //# sourceMappingURL=TransformMonitors.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransformMonitors.esm.js","sources":["../../../src/transform/TransformMonitors.ts"],"sourcesContent":["import { IEvent, IMonitor, modelDefaults } from '@models/index';\nimport { geocodeTransform, iGeocodeToArray } from './TransformRelays';\nimport { isGeohash } from '@base/utils';\n\nexport type IdbReadyMonitorData = { \n event?: IEvent;\n monitor?: IMonitor;\n}\n\nexport const transform10166 = async (_event: IEvent): Promise<IdbReadyMonitorData> => { \n const res: IdbReadyMonitorData = {}\n\n const eventRecord = k10166ToIEvent(_event)\n const parsedMonitor = n66IEventToIMonitor( eventRecord)\n\n if(eventRecord) res.event = eventRecord\n if(parsedMonitor) res.monitor = parsedMonitor\n\n return res\n}\n\nexport const k10166ToIEvent = (_event: IEvent): IEvent => {\n const { pubkey, created_at, id, kind, tags, content, signature } = _event;\n const event: IEvent = {\n id,\n kind,\n pubkey,\n created_at,\n tags,\n content,\n signature\n }\n return event\n}\n\nexport const n66IEventToIMonitor = (event: IEvent): IMonitor => {\n const { pubkey, id:eventId } = event;\n\n const frequency: number = getFrequency(event);\n const checks: string[] | null = getChecks(event)\n const geohash: string | null = getGeohash(event)\n const geocode = iGeocodeToArray(geocodeTransform(event))\n\n const monitor = { \n pubkey,\n eventId,\n checks,\n frequency,\n geohash,\n geocode\n }\n\n return {...modelDefaults<IMonitor>(), ...monitor} as IMonitor\n}\n\nconst getFrequency = (event: IEvent): number => {\n let f = -1\n try{\n const f_ = event.tags.find( tag => tag[0] === 'frequency' )?.[1];\n if(f_) f = parseInt(f_)\n }\n catch(e){\n console.warn(`frequency did not validate for monitor: ${event.pubkey}`)\n }\n return f;\n}\n\nconst getGeohash = (event: IEvent): string | null => {\n const geohashes = event.tags.filter( t => t[0] === 'g' && isGeohash(t[1]) )\n return geohashes.reduce((longest, t) => {\n const key = t[0];\n const value = t[1];\n if (value.length > (longest?.length || 0)) {\n return value;\n }\n return longest\n }, null as string | null);\n};\n\nconst getChecks = (event: IEvent): string[] | null => {\n const checks = event.tags.reduce( (acc, t) => {\n const key = t[0];\n const value = t[1];\n const isCheck = key === 'c';\n if(isCheck) acc.push(value)\n return acc\n }, [] as string[] );\n return checks ?? null\n}\n\nexport default transform10166;"],"names":["transform10166","_event","__awaiter","res","eventRecord","k10166ToIEvent","parsedMonitor","n66IEventToIMonitor","event","monitor","pubkey","created_at","id","kind","tags","content","signature","eventId","frequency","getFrequency","checks","getChecks","geohash","getGeohash","geocode","iGeocodeToArray","geocodeTransform","__assign","modelDefaults","f","f_","_a","find","tag","parseInt","e","console","warn","concat","filter","t","isGeohash","reduce","longest","value","length","acc","key","push"],"mappings":"qlBASO,IAAMA,eAAiB,SAAOC,GAAc,OAAAC,OAAA,OAAA,OAAA,GAAA,gDASjD,OARMC,EAA2B,CAAA,EAE3BC,EAAcC,eAAeJ,GAC7BK,EAAgBC,oBAAqBH,GAExCA,IAAaD,EAAIK,MAAQJ,GACzBE,IAAeH,EAAIM,QAAUH,GAEhC,CAAA,EAAOH,UAGIE,eAAiB,SAACJ,GACrB,IAAAS,EAA2DT,EAAMS,OAAzDC,EAAmDV,EAAMU,WAUzE,MATsB,CACpBC,GAFiEX,EAAMW,GAGvEC,KAHiEZ,EAAMY,KAIvEH,OAAMA,EACNC,WAAUA,EACVG,KANiEb,OAOjEc,QAPiEd,UAQjEe,UARiEf,YAWrE,EAEaM,oBAAsB,SAACC,GAC1B,IAAAE,EAAuBF,EAAKE,OAAjBO,EAAYT,EAAKI,GAE9BM,EAAoBC,aAAaX,GAKjCC,EAAU,CACdC,OAAMA,EACNO,QAAOA,EACPG,OAP8BC,UAAUb,GAQxCU,UAASA,EACTI,QAR6BC,WAAWf,GASxCgB,QARcC,EAAgBC,EAAiBlB,KAWjD,OAAOmB,OAAIC,KAA8BnB,EAC3C,EAEMU,aAAe,SAACX,SAChBqB,GAAI,EACR,IACE,IAAMC,EAAqD,QAAhDC,EAAAvB,EAAMM,KAAKkB,MAAM,SAAAC,GAAO,MAAW,cAAXA,EAAI,EAAJ,WAAwB,IAAAF,OAAA,EAAAA,EAAG,GAC3DD,IAAID,EAAIK,SAASJ,GACtB,CACA,MAAMK,GACJC,QAAQC,KAAK,2CAAAC,OAA2C9B,EAAME,QAChE,CACA,OAAOmB,CACT,EAEMN,WAAa,SAACf,GAElB,OADkBA,EAAMM,KAAKyB,QAAQ,SAAAC,GAAK,MAAS,MAATA,EAAE,IAAcC,EAAUD,EAAE,GAA5B,IACzBE,QAAO,SAACC,EAASH,GACpBA,EAAE,GACd,IAAMI,EAAQJ,EAAE,GAChB,OAAII,EAAMC,SAAUF,aAAO,EAAPA,EAASE,SAAU,GAC9BD,EAEFD,CACT,GAAG,KACL,EAEMtB,UAAY,SAACb,GACjB,IAAMY,EAASZ,EAAMM,KAAK4B,QAAQ,SAACI,EAAKN,GACtC,IAAMO,EAAMP,EAAE,GACRI,EAAQJ,EAAE,GAGhB,MAFwB,MAARO,GACJD,EAAIE,KAAKJ,GACdE,CACT,GAAG,IACH,OAAO1B,QAAAA,EAAU,IACnB"}
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("../_virtual/_tslib.cjs.js"),n=require("../models/_.cjs.js");require("../models/Event.cjs.js"),require("../models/Nip66CheckEvent.cjs.js"),require("../models/DeltaEvent.cjs.js"),require("../models/RelayCheckAggregate.cjs.js"),require("../models/Geocoded.cjs.js"),require("../models/Monitor.cjs.js"),require("../models/Nip11.cjs.js"),require("../models/PubkeyProfile.cjs.js"),require("../models/PubkeyRelays.cjs.js");var r=require("../utils/events.cjs.js"),t=require("../utils/geo.cjs.js"),k30166ToIEvent=function(e){var n=e.pubkey,r=e.created_at;return{id:e.id,kind:e.kind,pubkey:n,created_at:r,tags:e.tags,content:e.content,signature:e.signature}},k30166ToICheck=function(t,o,i){var s,u,a,l,c,d,v,p,f,g,y,j;void 0===i&&(i=[]);var h=t.pubkey,m=t.created_at,_=t.id,k=m,b=r.getUrlFromEvent(t),w=r.getNetworkFromEvent(t),q=getRtt(t),E=getIps(t),x=E.ipv4,N=E.ipv6,C=getIsp(t),S=C.isp,P=C.as,R=C.asname,T=getGeohash(t),A=iGeocodeToArray(i),G=null,I=null,O=null,D=null,F=null,U=null;o&&(G=null!==(u=null===(s=o.json)||void 0===s?void 0:s.pubkey)&&void 0!==u?u:null,I=null!==(l=null===(a=o.json)||void 0===a?void 0:a.supported_nips)&&void 0!==l?l:null,O=null!==(d=null===(c=o.json)||void 0===c?void 0:c.software)&&void 0!==d?d:null,D=null!==(p=null===(v=o.json)||void 0===v?void 0:v.version)&&void 0!==p?p:null,F=(null===(g=null===(f=o.json)||void 0===f?void 0:f.limitation)||void 0===g?void 0:g.payment_required)?1:0,U=(null===(j=null===(y=o.json)||void 0===y?void 0:y.limitation)||void 0===j?void 0:j.authRequired)?1:0);var J={nid:_,relay:b,monitorPubkey:h,created_at:k,network:w,rtt:q,geohash:T,geocode:A,operatorPubkey:G,supportedNips:I,software:O,version:D,paymentRequired:F,authRequired:U,isp:S,as:P,asname:R,ipv4:x,ipv6:N};return e.__assign(e.__assign({},n.modelDefaults()),J)},iGeocodeToArray=function(e){return e.reduce((function(e,n){return e.push(n.code),e}),[])},getGeohash=function(e){return e.tags.reduce((function(e,n){var r=n[0],t=n[1];return"g"===r&&t.length>((null==e?void 0:e.length)||0)?t:e}),null)},getRtt=function(e){var n,r,t=null===(n=e.tags.find((function(e){if("rtt-open"===e[0])return!0})))||void 0===n?void 0:n[1];if(!t)return null;try{r=parseInt(t)}catch(n){console.warn("rtt did not validate for monitor: ".concat(e.pubkey))}return null!=r?r:null},getIps=function(e){return e.tags.reduce((function(e,n){var r=n[0],t=n[1],o=n[2],i="l"===r;return i&&o.includes("ipv4")&&e.ipv4.push(t),i&&o.includes("ipv6")&&e.ipv6.push(t),e}),{ipv4:[],ipv6:[]})},getIsp=function(e){return e.tags.reduce((function(e,n){var r=n[0],t=n[1],o=n[2],i="l"===r;return i&&o.includes("isp")?e.isp=t:i&&o.includes("asname")?e.asname=t:i&&o.includes("as")&&(e.as=t),e}),{isp:null,as:null,asname:null})},n66IEventToIRelay=function(r,t,o){o.pubkey;var i={relay:r,lastSeen:o.created_at,network:t};return e.__assign(e.__assign({},n.modelDefaults()),i)},n66IEventToNip11=function(r,t){return e.__awaiter(void 0,void 0,void 0,(function(){var o,i,s,u,a,l,c,d;return e.__generator(this,(function(v){switch(v.label){case 0:if(o=t.pubkey,i=t.id,!(s=t.created_at))return[2];try{u=JSON.parse(t.content)}catch(e){return console.warn("could not parse nip-11 for ".concat(r)),[2]}if(!(u&&(null===(d=Object.keys(u))||void 0===d?void 0:d.length)>0))return[2,void 0];a=null,v.label=1;case 1:return v.trys.push([1,3,,4]),[4,hashObject(u)];case 2:return a=v.sent(),[3,4];case 3:return l=v.sent(),console.error("Error hashing object:",l),[2,void 0];case 4:return c={relay:r,nid:i,monitorPubkey:o,created_at:s,hash:a,json:u},[2,e.__assign(e.__assign({},n.modelDefaults()),c)]}}))}))},geocodeTransform=function(e){var n=t.extractGeoCodes(e),r=parseGeocodes(n.countryCode,"countryCode"),o=parseGeocodes(n.regionCode,"regionCode"),i=[];return r&&i.push.apply(i,r),o&&i.push.apply(i,o),i},parseGeocodes=function(e,n){var r=[];if(e)return e.forEach((function(e){r.push(parseGeocode(n,e))})),r},parseGeocode=function(e,n){var r=!isNaN(Number(n)),t=!(!r&&"regionCode"!==e);return"string"!=typeof n&&(n=String(n)),{code:n,type:e,format:r?"numeric":"alpha",length:t?-1:String(n).length}},n66IEventToIGeocodes=function(e){return geocodeTransform(e)},hashObject=function(n){return e.__awaiter(void 0,void 0,void 0,(function(){var r,t,o,i;return e.__generator(this,(function(e){switch(e.label){case 0:return r=JSON.stringify(n,Object.keys(n).sort()),t=(new TextEncoder).encode(r),[4,crypto.subtle.digest("SHA-256",t)];case 1:return o=e.sent(),i=Array.from(new Uint8Array(o)),[2,i.map((function(e){return e.toString(16).padStart(2,"0")})).join("")]}}))}))};exports.geocodeTransform=geocodeTransform,exports.hashObject=hashObject,exports.iGeocodeToArray=iGeocodeToArray,exports.k30166ToICheck=k30166ToICheck,exports.k30166ToIEvent=k30166ToIEvent,exports.n66IEventToIRelay=n66IEventToIRelay,exports.parseGeocode=parseGeocode,exports.parseGeocodes=parseGeocodes,exports.transform30166=function(n){return e.__awaiter(void 0,void 0,void 0,(function(){var t,o,i,s,u,a,l,c,d;return e.__generator(this,(function(e){switch(e.label){case 0:return t={},o=k30166ToIEvent(n),i=r.getUrlFromEvent(o),s=null!==(d=r.getNetworkFromEvent(o))&&void 0!==d?d:"unknown",i?(u=n66IEventToIRelay(i,s,o),[4,n66IEventToNip11(i,o)]):(console.error("Event did not contain relay or network: ".concat(o.id,", relay: ").concat(i)),[2,t]);case 1:return a=e.sent(),l=n66IEventToIGeocodes(o),c=k30166ToICheck(o,a,l),o&&(t.event=o),c&&(t.check=c),u&&(t.relay=u),a&&(t.nip11=a),l&&(t.geocodes=l),[2,t]}}))}))};
2
+ //# sourceMappingURL=TransformRelays.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransformRelays.cjs.js","sources":["../../../src/transform/TransformRelays.ts"],"sourcesContent":["import { IRelay, ICheck, IEvent, INip11, IGeocode, modelDefaults } from '@models/index';\n\nimport { \n GeoCodesObjectRaw, \n ISO3166Format, \n ISO3166Type, \n RawGeoCode, \n RawGeoCodes \n} from '@interfaces/index';\n\nimport { \n getUrlFromEvent, \n getNetworkFromEvent, \n extractGeoCodes \n} from '@utils/index';\n\nexport type IdbReadyRelayData = { \n event?: IEvent,\n relay?: IRelay, \n check?: ICheck,\n nip11?: INip11,\n geocodes?: IGeocode[]\n}\n\nexport const transform30166 = async (_event: IEvent): Promise<IdbReadyRelayData> => { \n const res: IdbReadyRelayData = {}\n\n const eventRecord = k30166ToIEvent(_event)\n\n const relay: string | undefined = getUrlFromEvent(eventRecord as IEvent)\n const network: string | undefined = getNetworkFromEvent(eventRecord as IEvent) ?? 'unknown'\n\n // if(!relay || !network) {\n // console.error(`Event did not contain relay or network: ${eventRecord.id}, relay: ${relay}, network: ${network}`)\n // return res;\n // }\n\n if(!relay) {\n console.error(`Event did not contain relay or network: ${eventRecord.id}, relay: ${relay}`)\n return res;\n }\n \n const parsedRelay = n66IEventToIRelay(relay, network, eventRecord)\n const parsedNip11 = await n66IEventToNip11(relay, eventRecord)\n const parsedGeocodes = n66IEventToIGeocodes(eventRecord)\n const parsedCheck = k30166ToICheck(eventRecord, parsedNip11, parsedGeocodes)\n\n if(eventRecord) res.event = eventRecord\n if(parsedCheck) res.check = parsedCheck\n if(parsedRelay) res.relay = parsedRelay\n if(parsedNip11) res.nip11 = parsedNip11\n if(parsedGeocodes) res.geocodes = parsedGeocodes\n\n return res\n}\n\nexport const k30166ToIEvent = (_event: IEvent): IEvent => {\n const { pubkey, created_at, id, kind, tags, content, signature } = _event;\n const event: IEvent = {\n id,\n kind,\n pubkey,\n created_at,\n tags,\n content,\n signature\n }\n return event\n}\n\nexport const k30166ToICheck = (event: IEvent, nip11?: INip11, geocode_: IGeocode[] = []): ICheck => {\n const { pubkey:monitorPubkey, created_at:created_at_ } = event;\n\n const nid = event.id;\n\n const created_at = created_at_ as number \n\n const relay = getUrlFromEvent(event);\n const network = getNetworkFromEvent(event);\n const rtt = getRtt(event);\n \n const { ipv4, ipv6 } = getIps(event);\n const { isp, as, asname } = getIsp(event);\n const geohash = getGeohash(event);\n\n const geocode = iGeocodeToArray(geocode_)\n \n let operatorPubkey = null,\n supportedNips = null, \n software = null,\n version = null,\n paymentRequired = null,\n authRequired = null;\n \n if(nip11){\n operatorPubkey = nip11.json?.pubkey ?? null;\n supportedNips = nip11.json?.supported_nips ?? null;\n software = nip11.json?.software ?? null;\n version = nip11.json?.version ?? null;\n paymentRequired = nip11.json?.limitation?.payment_required? 1: 0;\n authRequired = nip11.json?.limitation?.authRequired? 1: 0;\n }\n\n const relayCheck = { \n nid, \n relay,\n monitorPubkey, \n\n created_at,\n\n network,\n rtt, \n\n geohash,\n geocode, \n\n operatorPubkey,\n supportedNips,\n software,\n version,\n\n paymentRequired,\n authRequired,\n\n isp,\n as,\n asname,\n\n ipv4,\n ipv6,\n }\n return {...modelDefaults<ICheck>(), ...relayCheck} as ICheck\n}\n\nexport const iGeocodeToArray = (geocode_: IGeocode[]): string[] => {\n return geocode_.reduce((acc: string[], geocode: IGeocode) => {\n acc.push(geocode.code);\n return acc;\n }, [] as string[]);\n}\n\nconst getGeohash = (event: IEvent): string | null => {\n return event.tags.reduce((longest, t) => {\n const key = t[0];\n const value = t[1];\n const isGeohash = key === 'g';\n\n if (isGeohash && value.length > (longest?.length || 0)) {\n return value;\n }\n\n return longest;\n }, null as string | null);\n};\n\nconst getRtt = (event: IEvent): number | null => {\n let rtt = event.tags\n .find((t) => {\n const key = t[0];\n if (key === 'rtt-open') {\n return true\n }\n })?.[1]\n if(!rtt) return null\n let rttN\n try{\n rttN = parseInt(rtt)\n }\n catch(e){\n console.warn(`rtt did not validate for monitor: ${event.pubkey}`)\n }\n return rttN ?? null\n}\n\nconst getIps = (event: IEvent): Record<string, string[]> => {\n return event.tags.reduce((acc, t) => {\n const key = t[0];\n const value = t[1];\n const label = t[2];\n const isLabel = key === 'l';\n \n if (isLabel && label.includes('ipv4')) {\n acc.ipv4.push(value);\n }\n if (isLabel && label.includes('ipv6')) {\n acc.ipv6.push(value);\n }\n\n return acc;\n }, { ipv4: [], ipv6: [] } as Record<string, string[]>);\n}\n\nconst getIsp = (event: IEvent): Record<string, string | null> => {\n return event.tags.reduce((acc, t) => {\n const key = t[0];\n const value = t[1];\n const label = t[2];\n const isLabel = key === 'l';\n \n if (isLabel && label.includes('isp')) {\n acc.isp = value;\n }\n else if (isLabel && label.includes('asname')) {\n acc.asname = value;\n }\n else if (isLabel && label.includes('as')) {\n acc.as = value;\n }\n return acc;\n }, { isp: null, as: null, asname: null } as Record<string, string | null>);\n}\n\nexport const n66IEventToIRelay = (relay: string, network: string, event: IEvent): IRelay | undefined => {\n const { pubkey, created_at:lastSeen } = event;\n\n const _relay = {\n relay,\n lastSeen: lastSeen as number,\n network\n }\n return {...modelDefaults<IRelay>(), ..._relay} as IRelay\n}\n\nconst n66IEventToNip11 = async (relay: string, event: IEvent): Promise<INip11 | undefined> => {\n const { pubkey:monitorPubkey, id:nid, created_at } = event;\n\n if(!created_at) return\n let json\n try {\n json = JSON.parse(event.content)\n } catch(e){\n console.warn(`could not parse nip-11 for ${relay}`)\n return \n }\n\n if(!json || !(Object.keys(json)?.length > 0)) return undefined\n \n let hash = null; \n try {\n hash = await hashObject(json);\n } catch (error) {\n console.error('Error hashing object:', error);\n return undefined\n }\n\n const inip11 = {\n relay,\n nid,\n monitorPubkey,\n created_at,\n hash,\n json, \n }\n return {...modelDefaults<INip11>(), ...inip11}\n}\n\nexport const geocodeTransform = ( event: IEvent ): IGeocode[] => {\n const codes: GeoCodesObjectRaw = extractGeoCodes(event as IEvent)\n const cc = parseGeocodes(codes.countryCode, ISO3166Type.CountryCode)\n const rc = parseGeocodes(codes.regionCode, ISO3166Type.RegionCode)\n const res: IGeocode[] = []\n if(cc) res.push(...cc)\n if(rc) res.push(...rc)\n return res;\n}\n\nexport const parseGeocodes = (codes: RawGeoCodes, type: ISO3166Type): IGeocode[] | undefined => {\n const geocodeEntries: IGeocode[] = [];\n if(!codes) return\n (codes as RawGeoCodes).forEach( (code: RawGeoCode) => { \n geocodeEntries.push( parseGeocode(type, code) ) \n })\n return geocodeEntries\n}\n\nexport const parseGeocode = (type: ISO3166Type, code: RawGeoCode): IGeocode => {\n const isNumeric = !isNaN(Number(code))\n const ignoreLength = isNumeric || type === ISO3166Type.RegionCode? true: false\n if(typeof code !== 'string') code = String(code)\n return {\n code, \n type: type,\n format: isNumeric? ISO3166Format.Numeric: ISO3166Format.Alpha,\n length: ignoreLength? -1: String(code).length\n }\n}\n\n// const n66IEventToSsl = async (event: IEvent): Promise<ISsl | undefined> => {\n// const { pubkey:monitorPubkey, id:nid, created_at:created_at } = event;\n\n// const relay = getUrlFromEvent(event)\n\n// if(!relay) {\n// console.error(`Event did not contain relay: ${event.id}, relay: ${relay}`)\n// return\n// }\n \n// if(!cert || !relay) return undefined\n// const hash = await hashString(cert)\n\n// const ssl: ISsl = {\n// nid,\n// created_at,\n// relay,\n// monitorPubkey,\n// hash,\n// cert,\n// }\n\n// return ssl\n// }\n\nconst n66IEventToIGeocodes = (event: IEvent): IGeocode[] => {\n return geocodeTransform(event)\n}\n\n\nexport const hashObject = async (obj: Record<string, any>): Promise<string> => {\n const canonicalJson = JSON.stringify(obj, Object.keys(obj).sort());\n const buffer = new TextEncoder().encode(canonicalJson);\n const hashBuffer = await crypto.subtle.digest('SHA-256', buffer);\n const hashArray = Array.from(new Uint8Array(hashBuffer));\n const hashHex = hashArray.map(byte => byte.toString(16).padStart(2, '0')).join('');\n return hashHex;\n}\n\nexport default transform30166;"],"names":["k30166ToIEvent","_event","pubkey","created_at","id","kind","tags","content","signature","k30166ToICheck","event","nip11","geocode_","monitorPubkey","created_at_","nid","relay","getUrlFromEvent","network","getNetworkFromEvent","rtt","getRtt","_o","getIps","ipv4","ipv6","_p","getIsp","isp","as","asname","geohash","getGeohash","geocode","iGeocodeToArray","operatorPubkey","supportedNips","software","version","paymentRequired","authRequired","_b","_a","json","_d","_c","supported_nips","_f","_e","_h","_g","_k","_j","limitation","payment_required","_m","_l","relayCheck","__assign","modelDefaults","reduce","acc","push","code","longest","t","key","value","length","rttN","find","parseInt","e","console","warn","concat","label","isLabel","includes","n66IEventToIRelay","_relay","lastSeen","n66IEventToNip11","__awaiter","JSON","parse","Object","keys","undefined","hash","hashObject","error","error_1","inip11","geocodeTransform","codes","extractGeoCodes","cc","parseGeocodes","countryCode","rc","regionCode","res","apply","type","geocodeEntries","forEach","parseGeocode","isNumeric","isNaN","Number","ignoreLength","String","format","n66IEventToIGeocodes","obj","canonicalJson","stringify","sort","buffer","TextEncoder","encode","crypto","subtle","digest","hashBuffer","sent","hashArray","Array","from","Uint8Array","map","byte","toString","padStart","join","eventRecord","parsedRelay","parsedNip11","parsedGeocodes","parsedCheck","check","geocodes"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{__awaiter as n,__generator as e,__assign as t}from"../_virtual/_tslib.esm.js";import{modelDefaults as r}from"../models/_.esm.js";import"../models/Event.esm.js";import"../models/Nip66CheckEvent.esm.js";import"../models/DeltaEvent.esm.js";import"../models/RelayCheckAggregate.esm.js";import"../models/Geocoded.esm.js";import"../models/Monitor.esm.js";import"../models/Nip11.esm.js";import"../models/PubkeyProfile.esm.js";import"../models/PubkeyRelays.esm.js";import{getUrlFromEvent as o,getNetworkFromEvent as i}from"../utils/events.esm.js";import{extractGeoCodes as u}from"../utils/geo.esm.js";var transform30166=function(t){return n(void 0,void 0,void 0,(function(){var n,r,u,s,l,a,d,c,v;return e(this,(function(e){switch(e.label){case 0:return n={},r=k30166ToIEvent(t),u=o(r),s=null!==(v=i(r))&&void 0!==v?v:"unknown",u?(l=n66IEventToIRelay(u,s,r),[4,n66IEventToNip11(u,r)]):(console.error("Event did not contain relay or network: ".concat(r.id,", relay: ").concat(u)),[2,n]);case 1:return a=e.sent(),d=n66IEventToIGeocodes(r),c=k30166ToICheck(r,a,d),r&&(n.event=r),c&&(n.check=c),l&&(n.relay=l),a&&(n.nip11=a),d&&(n.geocodes=d),[2,n]}}))}))},k30166ToIEvent=function(n){var e=n.pubkey,t=n.created_at;return{id:n.id,kind:n.kind,pubkey:e,created_at:t,tags:n.tags,content:n.content,signature:n.signature}},k30166ToICheck=function(n,e,u){var s,l,a,d,c,v,p,m,f,y,h,g;void 0===u&&(u=[]);var j=n.pubkey,k=n.created_at,b=n.id,w=k,_=o(n),N=i(n),S=getRtt(n),C=getIps(n),E=C.ipv4,P=C.ipv6,R=getIsp(n),q=R.isp,A=R.as,O=R.asname,x=getGeohash(n),J=iGeocodeToArray(u),D=null,G=null,H=null,I=null,M=null,T=null;e&&(D=null!==(l=null===(s=e.json)||void 0===s?void 0:s.pubkey)&&void 0!==l?l:null,G=null!==(d=null===(a=e.json)||void 0===a?void 0:a.supported_nips)&&void 0!==d?d:null,H=null!==(v=null===(c=e.json)||void 0===c?void 0:c.software)&&void 0!==v?v:null,I=null!==(m=null===(p=e.json)||void 0===p?void 0:p.version)&&void 0!==m?m:null,M=(null===(y=null===(f=e.json)||void 0===f?void 0:f.limitation)||void 0===y?void 0:y.payment_required)?1:0,T=(null===(g=null===(h=e.json)||void 0===h?void 0:h.limitation)||void 0===g?void 0:g.authRequired)?1:0);var U={nid:b,relay:_,monitorPubkey:j,created_at:w,network:N,rtt:S,geohash:x,geocode:J,operatorPubkey:D,supportedNips:G,software:H,version:I,paymentRequired:M,authRequired:T,isp:q,as:A,asname:O,ipv4:E,ipv6:P};return t(t({},r()),U)},iGeocodeToArray=function(n){return n.reduce((function(n,e){return n.push(e.code),n}),[])},getGeohash=function(n){return n.tags.reduce((function(n,e){var t=e[0],r=e[1];return"g"===t&&r.length>((null==n?void 0:n.length)||0)?r:n}),null)},getRtt=function(n){var e,t,r=null===(e=n.tags.find((function(n){if("rtt-open"===n[0])return!0})))||void 0===e?void 0:e[1];if(!r)return null;try{t=parseInt(r)}catch(e){console.warn("rtt did not validate for monitor: ".concat(n.pubkey))}return null!=t?t:null},getIps=function(n){return n.tags.reduce((function(n,e){var t=e[0],r=e[1],o=e[2],i="l"===t;return i&&o.includes("ipv4")&&n.ipv4.push(r),i&&o.includes("ipv6")&&n.ipv6.push(r),n}),{ipv4:[],ipv6:[]})},getIsp=function(n){return n.tags.reduce((function(n,e){var t=e[0],r=e[1],o=e[2],i="l"===t;return i&&o.includes("isp")?n.isp=r:i&&o.includes("asname")?n.asname=r:i&&o.includes("as")&&(n.as=r),n}),{isp:null,as:null,asname:null})},n66IEventToIRelay=function(n,e,o){o.pubkey;var i={relay:n,lastSeen:o.created_at,network:e};return t(t({},r()),i)},n66IEventToNip11=function(o,i){return n(void 0,void 0,void 0,(function(){var n,u,s,l,a,d,c,v;return e(this,(function(e){switch(e.label){case 0:if(n=i.pubkey,u=i.id,!(s=i.created_at))return[2];try{l=JSON.parse(i.content)}catch(n){return console.warn("could not parse nip-11 for ".concat(o)),[2]}if(!(l&&(null===(v=Object.keys(l))||void 0===v?void 0:v.length)>0))return[2,void 0];a=null,e.label=1;case 1:return e.trys.push([1,3,,4]),[4,hashObject(l)];case 2:return a=e.sent(),[3,4];case 3:return d=e.sent(),console.error("Error hashing object:",d),[2,void 0];case 4:return c={relay:o,nid:u,monitorPubkey:n,created_at:s,hash:a,json:l},[2,t(t({},r()),c)]}}))}))},geocodeTransform=function(n){var e=u(n),t=parseGeocodes(e.countryCode,"countryCode"),r=parseGeocodes(e.regionCode,"regionCode"),o=[];return t&&o.push.apply(o,t),r&&o.push.apply(o,r),o},parseGeocodes=function(n,e){var t=[];if(n)return n.forEach((function(n){t.push(parseGeocode(e,n))})),t},parseGeocode=function(n,e){var t=!isNaN(Number(e)),r=!(!t&&"regionCode"!==n);return"string"!=typeof e&&(e=String(e)),{code:e,type:n,format:t?"numeric":"alpha",length:r?-1:String(e).length}},n66IEventToIGeocodes=function(n){return geocodeTransform(n)},hashObject=function(t){return n(void 0,void 0,void 0,(function(){var n,r,o,i;return e(this,(function(e){switch(e.label){case 0:return n=JSON.stringify(t,Object.keys(t).sort()),r=(new TextEncoder).encode(n),[4,crypto.subtle.digest("SHA-256",r)];case 1:return o=e.sent(),i=Array.from(new Uint8Array(o)),[2,i.map((function(n){return n.toString(16).padStart(2,"0")})).join("")]}}))}))};export{geocodeTransform,hashObject,iGeocodeToArray,k30166ToICheck,k30166ToIEvent,n66IEventToIRelay,parseGeocode,parseGeocodes,transform30166};
2
+ //# sourceMappingURL=TransformRelays.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransformRelays.esm.js","sources":["../../../src/transform/TransformRelays.ts"],"sourcesContent":["import { IRelay, ICheck, IEvent, INip11, IGeocode, modelDefaults } from '@models/index';\n\nimport { \n GeoCodesObjectRaw, \n ISO3166Format, \n ISO3166Type, \n RawGeoCode, \n RawGeoCodes \n} from '@interfaces/index';\n\nimport { \n getUrlFromEvent, \n getNetworkFromEvent, \n extractGeoCodes \n} from '@utils/index';\n\nexport type IdbReadyRelayData = { \n event?: IEvent,\n relay?: IRelay, \n check?: ICheck,\n nip11?: INip11,\n geocodes?: IGeocode[]\n}\n\nexport const transform30166 = async (_event: IEvent): Promise<IdbReadyRelayData> => { \n const res: IdbReadyRelayData = {}\n\n const eventRecord = k30166ToIEvent(_event)\n\n const relay: string | undefined = getUrlFromEvent(eventRecord as IEvent)\n const network: string | undefined = getNetworkFromEvent(eventRecord as IEvent) ?? 'unknown'\n\n // if(!relay || !network) {\n // console.error(`Event did not contain relay or network: ${eventRecord.id}, relay: ${relay}, network: ${network}`)\n // return res;\n // }\n\n if(!relay) {\n console.error(`Event did not contain relay or network: ${eventRecord.id}, relay: ${relay}`)\n return res;\n }\n \n const parsedRelay = n66IEventToIRelay(relay, network, eventRecord)\n const parsedNip11 = await n66IEventToNip11(relay, eventRecord)\n const parsedGeocodes = n66IEventToIGeocodes(eventRecord)\n const parsedCheck = k30166ToICheck(eventRecord, parsedNip11, parsedGeocodes)\n\n if(eventRecord) res.event = eventRecord\n if(parsedCheck) res.check = parsedCheck\n if(parsedRelay) res.relay = parsedRelay\n if(parsedNip11) res.nip11 = parsedNip11\n if(parsedGeocodes) res.geocodes = parsedGeocodes\n\n return res\n}\n\nexport const k30166ToIEvent = (_event: IEvent): IEvent => {\n const { pubkey, created_at, id, kind, tags, content, signature } = _event;\n const event: IEvent = {\n id,\n kind,\n pubkey,\n created_at,\n tags,\n content,\n signature\n }\n return event\n}\n\nexport const k30166ToICheck = (event: IEvent, nip11?: INip11, geocode_: IGeocode[] = []): ICheck => {\n const { pubkey:monitorPubkey, created_at:created_at_ } = event;\n\n const nid = event.id;\n\n const created_at = created_at_ as number \n\n const relay = getUrlFromEvent(event);\n const network = getNetworkFromEvent(event);\n const rtt = getRtt(event);\n \n const { ipv4, ipv6 } = getIps(event);\n const { isp, as, asname } = getIsp(event);\n const geohash = getGeohash(event);\n\n const geocode = iGeocodeToArray(geocode_)\n \n let operatorPubkey = null,\n supportedNips = null, \n software = null,\n version = null,\n paymentRequired = null,\n authRequired = null;\n \n if(nip11){\n operatorPubkey = nip11.json?.pubkey ?? null;\n supportedNips = nip11.json?.supported_nips ?? null;\n software = nip11.json?.software ?? null;\n version = nip11.json?.version ?? null;\n paymentRequired = nip11.json?.limitation?.payment_required? 1: 0;\n authRequired = nip11.json?.limitation?.authRequired? 1: 0;\n }\n\n const relayCheck = { \n nid, \n relay,\n monitorPubkey, \n\n created_at,\n\n network,\n rtt, \n\n geohash,\n geocode, \n\n operatorPubkey,\n supportedNips,\n software,\n version,\n\n paymentRequired,\n authRequired,\n\n isp,\n as,\n asname,\n\n ipv4,\n ipv6,\n }\n return {...modelDefaults<ICheck>(), ...relayCheck} as ICheck\n}\n\nexport const iGeocodeToArray = (geocode_: IGeocode[]): string[] => {\n return geocode_.reduce((acc: string[], geocode: IGeocode) => {\n acc.push(geocode.code);\n return acc;\n }, [] as string[]);\n}\n\nconst getGeohash = (event: IEvent): string | null => {\n return event.tags.reduce((longest, t) => {\n const key = t[0];\n const value = t[1];\n const isGeohash = key === 'g';\n\n if (isGeohash && value.length > (longest?.length || 0)) {\n return value;\n }\n\n return longest;\n }, null as string | null);\n};\n\nconst getRtt = (event: IEvent): number | null => {\n let rtt = event.tags\n .find((t) => {\n const key = t[0];\n if (key === 'rtt-open') {\n return true\n }\n })?.[1]\n if(!rtt) return null\n let rttN\n try{\n rttN = parseInt(rtt)\n }\n catch(e){\n console.warn(`rtt did not validate for monitor: ${event.pubkey}`)\n }\n return rttN ?? null\n}\n\nconst getIps = (event: IEvent): Record<string, string[]> => {\n return event.tags.reduce((acc, t) => {\n const key = t[0];\n const value = t[1];\n const label = t[2];\n const isLabel = key === 'l';\n \n if (isLabel && label.includes('ipv4')) {\n acc.ipv4.push(value);\n }\n if (isLabel && label.includes('ipv6')) {\n acc.ipv6.push(value);\n }\n\n return acc;\n }, { ipv4: [], ipv6: [] } as Record<string, string[]>);\n}\n\nconst getIsp = (event: IEvent): Record<string, string | null> => {\n return event.tags.reduce((acc, t) => {\n const key = t[0];\n const value = t[1];\n const label = t[2];\n const isLabel = key === 'l';\n \n if (isLabel && label.includes('isp')) {\n acc.isp = value;\n }\n else if (isLabel && label.includes('asname')) {\n acc.asname = value;\n }\n else if (isLabel && label.includes('as')) {\n acc.as = value;\n }\n return acc;\n }, { isp: null, as: null, asname: null } as Record<string, string | null>);\n}\n\nexport const n66IEventToIRelay = (relay: string, network: string, event: IEvent): IRelay | undefined => {\n const { pubkey, created_at:lastSeen } = event;\n\n const _relay = {\n relay,\n lastSeen: lastSeen as number,\n network\n }\n return {...modelDefaults<IRelay>(), ..._relay} as IRelay\n}\n\nconst n66IEventToNip11 = async (relay: string, event: IEvent): Promise<INip11 | undefined> => {\n const { pubkey:monitorPubkey, id:nid, created_at } = event;\n\n if(!created_at) return\n let json\n try {\n json = JSON.parse(event.content)\n } catch(e){\n console.warn(`could not parse nip-11 for ${relay}`)\n return \n }\n\n if(!json || !(Object.keys(json)?.length > 0)) return undefined\n \n let hash = null; \n try {\n hash = await hashObject(json);\n } catch (error) {\n console.error('Error hashing object:', error);\n return undefined\n }\n\n const inip11 = {\n relay,\n nid,\n monitorPubkey,\n created_at,\n hash,\n json, \n }\n return {...modelDefaults<INip11>(), ...inip11}\n}\n\nexport const geocodeTransform = ( event: IEvent ): IGeocode[] => {\n const codes: GeoCodesObjectRaw = extractGeoCodes(event as IEvent)\n const cc = parseGeocodes(codes.countryCode, ISO3166Type.CountryCode)\n const rc = parseGeocodes(codes.regionCode, ISO3166Type.RegionCode)\n const res: IGeocode[] = []\n if(cc) res.push(...cc)\n if(rc) res.push(...rc)\n return res;\n}\n\nexport const parseGeocodes = (codes: RawGeoCodes, type: ISO3166Type): IGeocode[] | undefined => {\n const geocodeEntries: IGeocode[] = [];\n if(!codes) return\n (codes as RawGeoCodes).forEach( (code: RawGeoCode) => { \n geocodeEntries.push( parseGeocode(type, code) ) \n })\n return geocodeEntries\n}\n\nexport const parseGeocode = (type: ISO3166Type, code: RawGeoCode): IGeocode => {\n const isNumeric = !isNaN(Number(code))\n const ignoreLength = isNumeric || type === ISO3166Type.RegionCode? true: false\n if(typeof code !== 'string') code = String(code)\n return {\n code, \n type: type,\n format: isNumeric? ISO3166Format.Numeric: ISO3166Format.Alpha,\n length: ignoreLength? -1: String(code).length\n }\n}\n\n// const n66IEventToSsl = async (event: IEvent): Promise<ISsl | undefined> => {\n// const { pubkey:monitorPubkey, id:nid, created_at:created_at } = event;\n\n// const relay = getUrlFromEvent(event)\n\n// if(!relay) {\n// console.error(`Event did not contain relay: ${event.id}, relay: ${relay}`)\n// return\n// }\n \n// if(!cert || !relay) return undefined\n// const hash = await hashString(cert)\n\n// const ssl: ISsl = {\n// nid,\n// created_at,\n// relay,\n// monitorPubkey,\n// hash,\n// cert,\n// }\n\n// return ssl\n// }\n\nconst n66IEventToIGeocodes = (event: IEvent): IGeocode[] => {\n return geocodeTransform(event)\n}\n\n\nexport const hashObject = async (obj: Record<string, any>): Promise<string> => {\n const canonicalJson = JSON.stringify(obj, Object.keys(obj).sort());\n const buffer = new TextEncoder().encode(canonicalJson);\n const hashBuffer = await crypto.subtle.digest('SHA-256', buffer);\n const hashArray = Array.from(new Uint8Array(hashBuffer));\n const hashHex = hashArray.map(byte => byte.toString(16).padStart(2, '0')).join('');\n return hashHex;\n}\n\nexport default transform30166;"],"names":["transform30166","_event","__awaiter","res","eventRecord","k30166ToIEvent","relay","getUrlFromEvent","network","getNetworkFromEvent","_a","parsedRelay","n66IEventToIRelay","n66IEventToNip11","console","error","concat","id","parsedNip11","_b","sent","parsedGeocodes","n66IEventToIGeocodes","parsedCheck","k30166ToICheck","event","check","nip11","geocodes","pubkey","created_at","kind","tags","content","signature","geocode_","monitorPubkey","created_at_","nid","rtt","getRtt","_o","getIps","ipv4","ipv6","_p","getIsp","isp","as","asname","geohash","getGeohash","geocode","iGeocodeToArray","operatorPubkey","supportedNips","software","version","paymentRequired","authRequired","json","_d","_c","supported_nips","_f","_e","_h","_g","_k","_j","limitation","payment_required","_m","_l","relayCheck","__assign","modelDefaults","reduce","acc","push","code","longest","t","key","value","length","rttN","find","parseInt","e","warn","label","isLabel","includes","_relay","lastSeen","JSON","parse","Object","keys","undefined","hash","hashObject","error_1","inip11","geocodeTransform","codes","extractGeoCodes","cc","parseGeocodes","countryCode","rc","regionCode","apply","type","geocodeEntries","forEach","parseGeocode","isNumeric","isNaN","Number","ignoreLength","String","format","obj","canonicalJson","stringify","sort","buffer","TextEncoder","encode","crypto","subtle","digest","hashBuffer","hashArray","Array","from","Uint8Array","map","byte","toString","padStart","join"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("./TransformMonitors.cjs.js"),o=require("./TransformRelays.cjs.js"),r=require("./TransformEvent.cjs.js");exports.k10166ToIEvent=e.k10166ToIEvent,exports.n66IEventToIMonitor=e.n66IEventToIMonitor,exports.transform10166=e.transform10166,exports.geocodeTransform=o.geocodeTransform,exports.hashObject=o.hashObject,exports.iGeocodeToArray=o.iGeocodeToArray,exports.k30166ToICheck=o.k30166ToICheck,exports.k30166ToIEvent=o.k30166ToIEvent,exports.n66IEventToIRelay=o.n66IEventToIRelay,exports.parseGeocode=o.parseGeocode,exports.parseGeocodes=o.parseGeocodes,exports.transform30166=o.transform30166,exports.TransformEvent=r.TransformEvent;
2
+ //# sourceMappingURL=index.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export{k10166ToIEvent,n66IEventToIMonitor,transform10166}from"./TransformMonitors.esm.js";export{geocodeTransform,hashObject,iGeocodeToArray,k30166ToICheck,k30166ToIEvent,n66IEventToIRelay,parseGeocode,parseGeocodes,transform30166}from"./TransformRelays.esm.js";export{TransformEvent}from"./TransformEvent.esm.js";
2
+ //# sourceMappingURL=index.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";var n=function(){function SyncKeys(n){this.pubkey=n}return SyncKeys.prototype.generateKey=function(n,t,c){return"".concat(this.pubkey,":").concat(t,":").concat(n,":").concat(c)},SyncKeys}();exports.SyncKeys=n;
2
+ //# sourceMappingURL=SyncKeys.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SyncKeys.cjs.js","sources":["../../../src/utils/SyncKeys.ts"],"sourcesContent":["export class SyncKeys {\n constructor(private pubkey: string) {}\n /**\n * Generates a key for a given kind and rangeKey.\n * @param kind The kind of event.\n * @param rangeKey The specific range ('since' | 'until' | etc.).\n * @returns The generated key as a string.\n */\n generateKey(key: string, kind: number, rangeKey: string): string {\n return `${this.pubkey}:${kind}:${key}:${rangeKey}`;\n }\n}"],"names":["SyncKeys","pubkey","this","prototype","generateKey","key","kind","rangeKey","concat"],"mappings":"aAAA,IAAAA,EAAA,WACI,SAAAA,SAAoBC,GAAAC,KAAAD,OAAAA,CAAiB,CAUzC,OAHID,SAAAG,UAAAC,YAAA,SAAYC,EAAaC,EAAcC,GACrC,MAAO,GAAAC,OAAGN,KAAKD,OAAM,KAAAO,OAAIF,EAAI,KAAAE,OAAIH,EAAG,KAAAG,OAAID,EAC1C,EACJP,QAAA"}
@@ -0,0 +1,2 @@
1
+ var n=function(){function SyncKeys(n){this.pubkey=n}return SyncKeys.prototype.generateKey=function(n,t,c){return"".concat(this.pubkey,":").concat(t,":").concat(n,":").concat(c)},SyncKeys}();export{n as SyncKeys};
2
+ //# sourceMappingURL=SyncKeys.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SyncKeys.esm.js","sources":["../../../src/utils/SyncKeys.ts"],"sourcesContent":["export class SyncKeys {\n constructor(private pubkey: string) {}\n /**\n * Generates a key for a given kind and rangeKey.\n * @param kind The kind of event.\n * @param rangeKey The specific range ('since' | 'until' | etc.).\n * @returns The generated key as a string.\n */\n generateKey(key: string, kind: number, rangeKey: string): string {\n return `${this.pubkey}:${kind}:${key}:${rangeKey}`;\n }\n}"],"names":["SyncKeys","pubkey","this","prototype","generateKey","key","kind","rangeKey","concat"],"mappings":"AAAA,IAAAA,EAAA,WACI,SAAAA,SAAoBC,GAAAC,KAAAD,OAAAA,CAAiB,CAUzC,OAHID,SAAAG,UAAAC,YAAA,SAAYC,EAAaC,EAAcC,GACrC,MAAO,GAAAC,OAAGN,KAAKD,OAAM,KAAAO,OAAIF,EAAI,KAAAE,OAAIH,EAAG,KAAAG,OAAID,EAC1C,EACJP,QAAA"}
@@ -0,0 +1,2 @@
1
+ "use strict";var getInheritanceChain=function(t){for(var r=[],e=Object.getPrototypeOf(t.prototype);e&&e.constructor&&e.constructor!==Object;){var n=e.constructor;n.name&&n!==Function&&r.push(n),e=Object.getPrototypeOf(e)}return r.includes(Object)||r.push(Object),r},getInheritanceChainArray=function(t){return getInheritanceChain(t).map((function(t){return t.name})).filter(Boolean)};exports.getInheritanceChain=getInheritanceChain,exports.getInheritanceChainArray=getInheritanceChainArray,exports.getInheritanceChainFromInstance=function(t){var r=t.constructor;return getInheritanceChainArray(r)};
2
+ //# sourceMappingURL=classes.cjs.js.map