nostr-websocket-utils 0.3.1 → 0.3.3

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 (410) hide show
  1. package/dist/__mocks__/extendedWsMock.d.ts +6 -8
  2. package/dist/__mocks__/extendedWsMock.d.ts.map +1 -0
  3. package/dist/__mocks__/extendedWsMock.js +1 -0
  4. package/dist/__mocks__/extendedWsMock.js.map +1 -0
  5. package/dist/__mocks__/mockLogger.d.ts +8 -7
  6. package/dist/__mocks__/mockLogger.d.ts.map +1 -0
  7. package/dist/__mocks__/mockLogger.js +1 -0
  8. package/dist/__mocks__/mockLogger.js.map +1 -0
  9. package/dist/__mocks__/mockserver.d.ts +7 -11
  10. package/dist/__mocks__/mockserver.d.ts.map +1 -0
  11. package/dist/__mocks__/mockserver.js +1 -0
  12. package/dist/__mocks__/mockserver.js.map +1 -0
  13. package/dist/__mocks__/wsMock.d.ts +1 -2
  14. package/dist/__mocks__/wsMock.d.ts.map +1 -0
  15. package/dist/__mocks__/wsMock.js +1 -0
  16. package/dist/__mocks__/wsMock.js.map +1 -0
  17. package/dist/cjs/__mocks__/extendedWsMock.d.ts +52 -0
  18. package/dist/cjs/__mocks__/extendedWsMock.d.ts.map +1 -0
  19. package/dist/cjs/__mocks__/extendedWsMock.js +161 -0
  20. package/dist/cjs/__mocks__/extendedWsMock.js.map +1 -0
  21. package/dist/cjs/__mocks__/mockLogger.d.ts +42 -0
  22. package/dist/cjs/__mocks__/mockLogger.d.ts.map +1 -0
  23. package/dist/cjs/__mocks__/mockLogger.js +53 -0
  24. package/dist/cjs/__mocks__/mockLogger.js.map +1 -0
  25. package/dist/cjs/__mocks__/mockserver.d.ts +27 -0
  26. package/dist/cjs/__mocks__/mockserver.d.ts.map +1 -0
  27. package/dist/cjs/__mocks__/mockserver.js +44 -0
  28. package/dist/cjs/__mocks__/mockserver.js.map +1 -0
  29. package/dist/cjs/__mocks__/wsMock.d.ts +25 -0
  30. package/dist/cjs/__mocks__/wsMock.d.ts.map +1 -0
  31. package/dist/cjs/__mocks__/wsMock.js +123 -0
  32. package/dist/cjs/__mocks__/wsMock.js.map +1 -0
  33. package/dist/cjs/core/client.d.ts +35 -0
  34. package/dist/cjs/core/client.d.ts.map +1 -0
  35. package/dist/cjs/core/client.js +161 -0
  36. package/dist/cjs/core/client.js.map +1 -0
  37. package/dist/{nostr-server.d.ts → cjs/core/nostr-server.d.ts} +3 -6
  38. package/dist/cjs/core/nostr-server.d.ts.map +1 -0
  39. package/dist/cjs/core/nostr-server.js +101 -0
  40. package/dist/cjs/core/nostr-server.js.map +1 -0
  41. package/dist/cjs/core/queue.d.ts +38 -0
  42. package/dist/cjs/core/queue.d.ts.map +1 -0
  43. package/dist/cjs/core/queue.js +105 -0
  44. package/dist/cjs/core/queue.js.map +1 -0
  45. package/dist/cjs/core/server.d.ts +29 -0
  46. package/dist/cjs/core/server.d.ts.map +1 -0
  47. package/dist/cjs/core/server.js +134 -0
  48. package/dist/cjs/core/server.js.map +1 -0
  49. package/dist/cjs/crypto/bech32.d.ts +27 -0
  50. package/dist/cjs/crypto/bech32.d.ts.map +1 -0
  51. package/dist/cjs/crypto/bech32.js +170 -0
  52. package/dist/cjs/crypto/bech32.js.map +1 -0
  53. package/dist/cjs/crypto/handlers.d.ts +19 -0
  54. package/dist/cjs/crypto/handlers.d.ts.map +1 -0
  55. package/dist/cjs/crypto/handlers.js +65 -0
  56. package/dist/cjs/crypto/handlers.js.map +1 -0
  57. package/dist/cjs/crypto/index.d.ts +7 -0
  58. package/dist/cjs/crypto/index.d.ts.map +1 -0
  59. package/dist/cjs/crypto/index.js +23 -0
  60. package/dist/cjs/crypto/index.js.map +1 -0
  61. package/dist/cjs/endpoints/metrics.d.ts +30 -0
  62. package/dist/cjs/endpoints/metrics.d.ts.map +1 -0
  63. package/dist/cjs/endpoints/metrics.js +106 -0
  64. package/dist/cjs/endpoints/metrics.js.map +1 -0
  65. package/dist/cjs/index.d.ts +13 -0
  66. package/dist/cjs/index.d.ts.map +1 -0
  67. package/dist/cjs/index.js +40 -0
  68. package/dist/cjs/index.js.map +1 -0
  69. package/dist/cjs/nips/index.d.ts +20 -0
  70. package/dist/cjs/nips/index.d.ts.map +1 -0
  71. package/dist/cjs/nips/index.js +51 -0
  72. package/dist/cjs/nips/index.js.map +1 -0
  73. package/dist/cjs/nips/nip-01.d.ts +35 -0
  74. package/dist/cjs/nips/nip-01.d.ts.map +1 -0
  75. package/dist/cjs/nips/nip-01.js +142 -0
  76. package/dist/cjs/nips/nip-01.js.map +1 -0
  77. package/dist/cjs/nips/nip-02.d.ts +83 -0
  78. package/dist/cjs/nips/nip-02.d.ts.map +1 -0
  79. package/dist/cjs/nips/nip-02.js +119 -0
  80. package/dist/cjs/nips/nip-02.js.map +1 -0
  81. package/dist/cjs/nips/nip-04.d.ts +37 -0
  82. package/dist/cjs/nips/nip-04.d.ts.map +1 -0
  83. package/dist/cjs/nips/nip-04.js +104 -0
  84. package/dist/cjs/nips/nip-04.js.map +1 -0
  85. package/dist/cjs/nips/nip-05.d.ts +88 -0
  86. package/dist/cjs/nips/nip-05.d.ts.map +1 -0
  87. package/dist/cjs/nips/nip-05.js +158 -0
  88. package/dist/cjs/nips/nip-05.js.map +1 -0
  89. package/dist/cjs/nips/nip-09.d.ts +93 -0
  90. package/dist/cjs/nips/nip-09.d.ts.map +1 -0
  91. package/dist/cjs/nips/nip-09.js +180 -0
  92. package/dist/cjs/nips/nip-09.js.map +1 -0
  93. package/dist/cjs/nips/nip-11.d.ts +65 -0
  94. package/dist/cjs/nips/nip-11.d.ts.map +1 -0
  95. package/dist/cjs/nips/nip-11.js +161 -0
  96. package/dist/cjs/nips/nip-11.js.map +1 -0
  97. package/dist/cjs/nips/nip-13.d.ts +74 -0
  98. package/dist/cjs/nips/nip-13.d.ts.map +1 -0
  99. package/dist/cjs/nips/nip-13.js +136 -0
  100. package/dist/cjs/nips/nip-13.js.map +1 -0
  101. package/dist/cjs/nips/nip-15.d.ts +84 -0
  102. package/dist/cjs/nips/nip-15.d.ts.map +1 -0
  103. package/dist/cjs/nips/nip-15.js +102 -0
  104. package/dist/cjs/nips/nip-15.js.map +1 -0
  105. package/dist/cjs/nips/nip-16.d.ts +89 -0
  106. package/dist/cjs/nips/nip-16.d.ts.map +1 -0
  107. package/dist/cjs/nips/nip-16.js +157 -0
  108. package/dist/cjs/nips/nip-16.js.map +1 -0
  109. package/dist/cjs/nips/nip-19.d.ts +29 -0
  110. package/dist/cjs/nips/nip-19.d.ts.map +1 -0
  111. package/dist/cjs/nips/nip-19.js +112 -0
  112. package/dist/cjs/nips/nip-19.js.map +1 -0
  113. package/dist/cjs/nips/nip-20.d.ts +60 -0
  114. package/dist/cjs/nips/nip-20.d.ts.map +1 -0
  115. package/dist/cjs/nips/nip-20.js +102 -0
  116. package/dist/cjs/nips/nip-20.js.map +1 -0
  117. package/dist/cjs/nips/nip-22.d.ts +90 -0
  118. package/dist/cjs/nips/nip-22.d.ts.map +1 -0
  119. package/dist/cjs/nips/nip-22.js +149 -0
  120. package/dist/cjs/nips/nip-22.js.map +1 -0
  121. package/dist/cjs/nips/nip-26.d.ts +53 -0
  122. package/dist/cjs/nips/nip-26.d.ts.map +1 -0
  123. package/dist/cjs/nips/nip-26.js +147 -0
  124. package/dist/cjs/nips/nip-26.js.map +1 -0
  125. package/dist/cjs/nips/nip-28.d.ts +104 -0
  126. package/dist/cjs/nips/nip-28.d.ts.map +1 -0
  127. package/dist/cjs/nips/nip-28.js +164 -0
  128. package/dist/cjs/nips/nip-28.js.map +1 -0
  129. package/dist/cjs/nips/nip-33.d.ts +95 -0
  130. package/dist/cjs/nips/nip-33.d.ts.map +1 -0
  131. package/dist/cjs/nips/nip-33.js +135 -0
  132. package/dist/cjs/nips/nip-33.js.map +1 -0
  133. package/dist/cjs/transport/base.d.ts +54 -0
  134. package/dist/cjs/transport/base.d.ts.map +1 -0
  135. package/dist/cjs/transport/base.js +109 -0
  136. package/dist/cjs/transport/base.js.map +1 -0
  137. package/dist/cjs/transport/websocket.d.ts +24 -0
  138. package/dist/cjs/transport/websocket.d.ts.map +1 -0
  139. package/dist/cjs/transport/websocket.js +136 -0
  140. package/dist/cjs/transport/websocket.js.map +1 -0
  141. package/dist/cjs/types/events.d.ts +74 -0
  142. package/dist/cjs/types/events.d.ts.map +1 -0
  143. package/dist/cjs/types/events.js +7 -0
  144. package/dist/cjs/types/events.js.map +1 -0
  145. package/dist/cjs/types/filters.d.ts +20 -0
  146. package/dist/cjs/types/filters.d.ts.map +1 -0
  147. package/dist/cjs/types/filters.js +7 -0
  148. package/dist/cjs/types/filters.js.map +1 -0
  149. package/dist/cjs/types/handlers.d.ts +81 -0
  150. package/dist/cjs/types/handlers.d.ts.map +1 -0
  151. package/dist/cjs/types/handlers.js +7 -0
  152. package/dist/cjs/types/handlers.js.map +1 -0
  153. package/dist/cjs/types/index.d.ts +144 -0
  154. package/dist/cjs/types/index.d.ts.map +1 -0
  155. package/dist/cjs/types/index.js +37 -0
  156. package/dist/cjs/types/index.js.map +1 -0
  157. package/dist/cjs/types/logger.d.ts +41 -0
  158. package/dist/cjs/types/logger.d.ts.map +1 -0
  159. package/dist/cjs/types/logger.js +7 -0
  160. package/dist/cjs/types/logger.js.map +1 -0
  161. package/dist/cjs/types/messages.d.ts +133 -0
  162. package/dist/cjs/types/messages.d.ts.map +1 -0
  163. package/dist/cjs/types/messages.js +46 -0
  164. package/dist/cjs/types/messages.js.map +1 -0
  165. package/dist/cjs/types/nostr.d.ts +134 -0
  166. package/dist/cjs/types/nostr.d.ts.map +1 -0
  167. package/dist/cjs/types/nostr.js +7 -0
  168. package/dist/cjs/types/nostr.js.map +1 -0
  169. package/dist/cjs/types/options.d.ts +155 -0
  170. package/dist/cjs/types/options.d.ts.map +1 -0
  171. package/dist/cjs/types/options.js +7 -0
  172. package/dist/cjs/types/options.js.map +1 -0
  173. package/dist/cjs/types/priority.d.ts +13 -0
  174. package/dist/cjs/types/priority.d.ts.map +1 -0
  175. package/dist/cjs/types/priority.js +17 -0
  176. package/dist/cjs/types/priority.js.map +1 -0
  177. package/dist/cjs/types/relays.d.ts +27 -0
  178. package/dist/cjs/types/relays.d.ts.map +1 -0
  179. package/dist/cjs/types/relays.js +7 -0
  180. package/dist/cjs/types/relays.js.map +1 -0
  181. package/dist/cjs/types/scoring.d.ts +59 -0
  182. package/dist/cjs/types/scoring.d.ts.map +1 -0
  183. package/dist/cjs/types/scoring.js +34 -0
  184. package/dist/cjs/types/scoring.js.map +1 -0
  185. package/dist/cjs/types/socket.d.ts +98 -0
  186. package/dist/cjs/types/socket.d.ts.map +1 -0
  187. package/dist/cjs/types/socket.js +7 -0
  188. package/dist/cjs/types/socket.js.map +1 -0
  189. package/dist/cjs/types/transport.d.ts +98 -0
  190. package/dist/cjs/types/transport.d.ts.map +1 -0
  191. package/dist/cjs/types/transport.js +7 -0
  192. package/dist/cjs/types/transport.js.map +1 -0
  193. package/dist/cjs/types/validation.d.ts +51 -0
  194. package/dist/cjs/types/validation.d.ts.map +1 -0
  195. package/dist/cjs/types/validation.js +7 -0
  196. package/dist/cjs/types/validation.js.map +1 -0
  197. package/dist/cjs/types/websocket.d.ts +250 -0
  198. package/dist/cjs/types/websocket.d.ts.map +1 -0
  199. package/dist/cjs/types/websocket.js +7 -0
  200. package/dist/cjs/types/websocket.js.map +1 -0
  201. package/dist/cjs/utils/http.d.ts +11 -0
  202. package/dist/cjs/utils/http.d.ts.map +1 -0
  203. package/dist/cjs/utils/http.js +28 -0
  204. package/dist/cjs/utils/http.js.map +1 -0
  205. package/dist/cjs/utils/logger.d.ts +26 -0
  206. package/dist/cjs/utils/logger.d.ts.map +1 -0
  207. package/dist/cjs/utils/logger.js +43 -0
  208. package/dist/cjs/utils/logger.js.map +1 -0
  209. package/dist/cjs/utils/metrics.d.ts +81 -0
  210. package/dist/cjs/utils/metrics.d.ts.map +1 -0
  211. package/dist/cjs/utils/metrics.js +211 -0
  212. package/dist/cjs/utils/metrics.js.map +1 -0
  213. package/dist/cjs/utils/rate-limiter.d.ts +86 -0
  214. package/dist/cjs/utils/rate-limiter.d.ts.map +1 -0
  215. package/dist/cjs/utils/rate-limiter.js +183 -0
  216. package/dist/cjs/utils/rate-limiter.js.map +1 -0
  217. package/dist/core/client.d.ts +1 -0
  218. package/dist/core/client.d.ts.map +1 -0
  219. package/dist/core/client.js +1 -0
  220. package/dist/core/client.js.map +1 -0
  221. package/dist/core/nostr-server.d.ts +1 -0
  222. package/dist/core/nostr-server.d.ts.map +1 -0
  223. package/dist/core/nostr-server.js +1 -0
  224. package/dist/core/nostr-server.js.map +1 -0
  225. package/dist/core/queue.d.ts +1 -0
  226. package/dist/core/queue.d.ts.map +1 -0
  227. package/dist/core/queue.js +1 -0
  228. package/dist/core/queue.js.map +1 -0
  229. package/dist/core/server.d.ts +1 -0
  230. package/dist/core/server.d.ts.map +1 -0
  231. package/dist/core/server.js +1 -0
  232. package/dist/core/server.js.map +1 -0
  233. package/dist/crypto/bech32.d.ts +1 -0
  234. package/dist/crypto/bech32.d.ts.map +1 -0
  235. package/dist/crypto/bech32.js +1 -0
  236. package/dist/crypto/bech32.js.map +1 -0
  237. package/dist/crypto/handlers.d.ts +1 -0
  238. package/dist/crypto/handlers.d.ts.map +1 -0
  239. package/dist/crypto/handlers.js +1 -0
  240. package/dist/crypto/handlers.js.map +1 -0
  241. package/dist/crypto/index.d.ts +3 -1
  242. package/dist/crypto/index.d.ts.map +1 -0
  243. package/dist/crypto/index.js +3 -1
  244. package/dist/crypto/index.js.map +1 -0
  245. package/dist/endpoints/metrics.d.ts +1 -0
  246. package/dist/endpoints/metrics.d.ts.map +1 -0
  247. package/dist/endpoints/metrics.js +1 -0
  248. package/dist/endpoints/metrics.js.map +1 -0
  249. package/dist/index.d.ts +1 -0
  250. package/dist/index.d.ts.map +1 -0
  251. package/dist/index.js +1 -0
  252. package/dist/index.js.map +1 -0
  253. package/dist/nips/index.d.ts +1 -0
  254. package/dist/nips/index.d.ts.map +1 -0
  255. package/dist/nips/index.js +1 -0
  256. package/dist/nips/index.js.map +1 -0
  257. package/dist/nips/nip-01.d.ts +1 -0
  258. package/dist/nips/nip-01.d.ts.map +1 -0
  259. package/dist/nips/nip-01.js +1 -0
  260. package/dist/nips/nip-01.js.map +1 -0
  261. package/dist/nips/nip-02.d.ts +1 -0
  262. package/dist/nips/nip-02.d.ts.map +1 -0
  263. package/dist/nips/nip-02.js +1 -0
  264. package/dist/nips/nip-02.js.map +1 -0
  265. package/dist/nips/nip-04.d.ts +1 -0
  266. package/dist/nips/nip-04.d.ts.map +1 -0
  267. package/dist/nips/nip-04.js +1 -0
  268. package/dist/nips/nip-04.js.map +1 -0
  269. package/dist/nips/nip-05.d.ts +1 -0
  270. package/dist/nips/nip-05.d.ts.map +1 -0
  271. package/dist/nips/nip-05.js +1 -0
  272. package/dist/nips/nip-05.js.map +1 -0
  273. package/dist/nips/nip-09.d.ts +1 -0
  274. package/dist/nips/nip-09.d.ts.map +1 -0
  275. package/dist/nips/nip-09.js +1 -0
  276. package/dist/nips/nip-09.js.map +1 -0
  277. package/dist/nips/nip-11.d.ts +1 -0
  278. package/dist/nips/nip-11.d.ts.map +1 -0
  279. package/dist/nips/nip-11.js +1 -0
  280. package/dist/nips/nip-11.js.map +1 -0
  281. package/dist/nips/nip-13.d.ts +1 -0
  282. package/dist/nips/nip-13.d.ts.map +1 -0
  283. package/dist/nips/nip-13.js +1 -0
  284. package/dist/nips/nip-13.js.map +1 -0
  285. package/dist/nips/nip-15.d.ts +1 -0
  286. package/dist/nips/nip-15.d.ts.map +1 -0
  287. package/dist/nips/nip-15.js +1 -0
  288. package/dist/nips/nip-15.js.map +1 -0
  289. package/dist/nips/nip-16.d.ts +1 -0
  290. package/dist/nips/nip-16.d.ts.map +1 -0
  291. package/dist/nips/nip-16.js +1 -0
  292. package/dist/nips/nip-16.js.map +1 -0
  293. package/dist/nips/nip-19.d.ts +1 -0
  294. package/dist/nips/nip-19.d.ts.map +1 -0
  295. package/dist/nips/nip-19.js +1 -0
  296. package/dist/nips/nip-19.js.map +1 -0
  297. package/dist/nips/nip-20.d.ts +1 -0
  298. package/dist/nips/nip-20.d.ts.map +1 -0
  299. package/dist/nips/nip-20.js +1 -0
  300. package/dist/nips/nip-20.js.map +1 -0
  301. package/dist/nips/nip-22.d.ts +1 -0
  302. package/dist/nips/nip-22.d.ts.map +1 -0
  303. package/dist/nips/nip-22.js +1 -0
  304. package/dist/nips/nip-22.js.map +1 -0
  305. package/dist/nips/nip-26.d.ts +1 -0
  306. package/dist/nips/nip-26.d.ts.map +1 -0
  307. package/dist/nips/nip-26.js +1 -0
  308. package/dist/nips/nip-26.js.map +1 -0
  309. package/dist/nips/nip-28.d.ts +1 -0
  310. package/dist/nips/nip-28.d.ts.map +1 -0
  311. package/dist/nips/nip-28.js +1 -0
  312. package/dist/nips/nip-28.js.map +1 -0
  313. package/dist/nips/nip-33.d.ts +1 -0
  314. package/dist/nips/nip-33.d.ts.map +1 -0
  315. package/dist/nips/nip-33.js +1 -0
  316. package/dist/nips/nip-33.js.map +1 -0
  317. package/dist/transport/base.d.ts +1 -1
  318. package/dist/transport/base.d.ts.map +1 -0
  319. package/dist/transport/base.js +1 -0
  320. package/dist/transport/base.js.map +1 -0
  321. package/dist/transport/websocket.d.ts +1 -0
  322. package/dist/transport/websocket.d.ts.map +1 -0
  323. package/dist/transport/websocket.js +1 -0
  324. package/dist/transport/websocket.js.map +1 -0
  325. package/dist/types/events.d.ts +1 -0
  326. package/dist/types/events.d.ts.map +1 -0
  327. package/dist/types/events.js +1 -0
  328. package/dist/types/events.js.map +1 -0
  329. package/dist/types/filters.d.ts +1 -0
  330. package/dist/types/filters.d.ts.map +1 -0
  331. package/dist/types/filters.js +1 -0
  332. package/dist/types/filters.js.map +1 -0
  333. package/dist/types/handlers.d.ts +1 -0
  334. package/dist/types/handlers.d.ts.map +1 -0
  335. package/dist/types/handlers.js +1 -0
  336. package/dist/types/handlers.js.map +1 -0
  337. package/dist/types/index.d.ts +1 -0
  338. package/dist/types/index.d.ts.map +1 -0
  339. package/dist/types/index.js +1 -0
  340. package/dist/types/index.js.map +1 -0
  341. package/dist/types/logger.d.ts +1 -0
  342. package/dist/types/logger.d.ts.map +1 -0
  343. package/dist/types/logger.js +1 -0
  344. package/dist/types/logger.js.map +1 -0
  345. package/dist/types/messages.d.ts +1 -0
  346. package/dist/types/messages.d.ts.map +1 -0
  347. package/dist/types/messages.js +1 -0
  348. package/dist/types/messages.js.map +1 -0
  349. package/dist/types/nostr.d.ts +1 -0
  350. package/dist/types/nostr.d.ts.map +1 -0
  351. package/dist/types/nostr.js +1 -0
  352. package/dist/types/nostr.js.map +1 -0
  353. package/dist/types/options.d.ts +1 -0
  354. package/dist/types/options.d.ts.map +1 -0
  355. package/dist/types/options.js +1 -0
  356. package/dist/types/options.js.map +1 -0
  357. package/dist/types/priority.d.ts +1 -0
  358. package/dist/types/priority.d.ts.map +1 -0
  359. package/dist/types/priority.js +1 -0
  360. package/dist/types/priority.js.map +1 -0
  361. package/dist/types/relays.d.ts +1 -0
  362. package/dist/types/relays.d.ts.map +1 -0
  363. package/dist/types/relays.js +1 -0
  364. package/dist/types/relays.js.map +1 -0
  365. package/dist/types/scoring.d.ts +1 -2
  366. package/dist/types/scoring.d.ts.map +1 -0
  367. package/dist/types/scoring.js +1 -0
  368. package/dist/types/scoring.js.map +1 -0
  369. package/dist/types/socket.d.ts +1 -2
  370. package/dist/types/socket.d.ts.map +1 -0
  371. package/dist/types/socket.js +1 -0
  372. package/dist/types/socket.js.map +1 -0
  373. package/dist/types/transport.d.ts +1 -0
  374. package/dist/types/transport.d.ts.map +1 -0
  375. package/dist/types/transport.js +1 -0
  376. package/dist/types/transport.js.map +1 -0
  377. package/dist/types/validation.d.ts +1 -0
  378. package/dist/types/validation.d.ts.map +1 -0
  379. package/dist/types/validation.js +1 -0
  380. package/dist/types/validation.js.map +1 -0
  381. package/dist/types/websocket.d.ts +1 -0
  382. package/dist/types/websocket.d.ts.map +1 -0
  383. package/dist/types/websocket.js +1 -0
  384. package/dist/types/websocket.js.map +1 -0
  385. package/dist/utils/http.d.ts +1 -0
  386. package/dist/utils/http.d.ts.map +1 -0
  387. package/dist/utils/http.js +1 -0
  388. package/dist/utils/http.js.map +1 -0
  389. package/dist/utils/logger.d.ts +1 -0
  390. package/dist/utils/logger.d.ts.map +1 -0
  391. package/dist/utils/logger.js +1 -0
  392. package/dist/utils/logger.js.map +1 -0
  393. package/dist/utils/metrics.d.ts +1 -1
  394. package/dist/utils/metrics.d.ts.map +1 -0
  395. package/dist/utils/metrics.js +1 -0
  396. package/dist/utils/metrics.js.map +1 -0
  397. package/dist/utils/rate-limiter.d.ts +1 -0
  398. package/dist/utils/rate-limiter.d.ts.map +1 -0
  399. package/dist/utils/rate-limiter.js +1 -0
  400. package/dist/utils/rate-limiter.js.map +1 -0
  401. package/package.json +14 -2
  402. package/dist/__mocks__/logger.d.ts +0 -9
  403. package/dist/__mocks__/logger.js +0 -6
  404. package/dist/client.d.ts +0 -129
  405. package/dist/client.js +0 -259
  406. package/dist/crypto/schnorr.d.ts +0 -16
  407. package/dist/crypto/schnorr.js +0 -51
  408. package/dist/nostr-server.js +0 -107
  409. package/dist/server.d.ts +0 -27
  410. package/dist/server.js +0 -132
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ /**
3
+ * @file Nostr event type definitions
4
+ * @module types/events
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/types/events.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @file Filter type definitions
3
+ * @module types/filters
4
+ */
5
+ import { NostrEventFilter } from './events';
6
+ /**
7
+ * Subscription request filter
8
+ */
9
+ export interface NostrSubscriptionFilter extends NostrEventFilter {
10
+ subscriptionId?: string;
11
+ limit?: number;
12
+ }
13
+ /**
14
+ * Filter validation result
15
+ */
16
+ export interface NostrFilterValidationResult {
17
+ valid: boolean;
18
+ error?: string;
19
+ }
20
+ //# sourceMappingURL=filters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../../src/types/filters.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,gBAAgB;IAC/D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ /**
3
+ * @file Filter type definitions
4
+ * @module types/filters
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=filters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filters.js","sourceRoot":"","sources":["../../../src/types/filters.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * @file Handler type definitions for WebSocket events
3
+ * @module types/handlers
4
+ */
5
+ import type { WebSocket } from 'ws';
6
+ import type { NostrWSMessage } from './messages';
7
+ import type { ExtendedWebSocket } from './websocket';
8
+ /**
9
+ * Events emitted by the NostrWSClient
10
+ * @interface NostrWSClientEvents
11
+ */
12
+ export interface NostrWSClientEvents {
13
+ /**
14
+ * Emitted when the client connects to the relay
15
+ */
16
+ connect: () => void;
17
+ /**
18
+ * Emitted when the client disconnects from the relay
19
+ */
20
+ disconnect: () => void;
21
+ /**
22
+ * Emitted when the client reconnects to the relay
23
+ */
24
+ reconnect: () => void;
25
+ /**
26
+ * Emitted when a message is received from the relay
27
+ * @param message - The received message
28
+ */
29
+ message: (message: NostrWSMessage) => void;
30
+ /**
31
+ * Emitted when an error occurs
32
+ * @param error - The error object
33
+ */
34
+ error: (error: Error) => void;
35
+ }
36
+ /**
37
+ * Events emitted by the NostrWSServer
38
+ * @interface NostrWSServerEvents
39
+ */
40
+ export interface NostrWSServerEvents {
41
+ /**
42
+ * Emitted when a client connects to the server
43
+ * @param client - The connected client
44
+ */
45
+ connection: (client: ExtendedWebSocket) => void;
46
+ /**
47
+ * Emitted when a message is received from a client
48
+ * @param message - The received message
49
+ * @param client - The client that sent the message
50
+ */
51
+ message: (message: NostrWSMessage, client: ExtendedWebSocket) => void;
52
+ /**
53
+ * Emitted when an error occurs
54
+ * @param error - The error object
55
+ */
56
+ error: (error: Error) => void;
57
+ }
58
+ /**
59
+ * Configuration options for WebSocket handlers
60
+ * @interface NostrWSHandlers
61
+ */
62
+ export interface NostrWSHandlers {
63
+ /**
64
+ * Handler for incoming messages
65
+ * @param ws - The WebSocket instance
66
+ * @param message - The received message
67
+ */
68
+ message: (ws: ExtendedWebSocket, message: NostrWSMessage) => Promise<void> | void;
69
+ /**
70
+ * Handler for WebSocket errors
71
+ * @param ws - The WebSocket instance
72
+ * @param error - The error object
73
+ */
74
+ error?: (ws: WebSocket, error: Error) => void;
75
+ /**
76
+ * Handler for WebSocket connection close
77
+ * @param ws - The WebSocket instance
78
+ */
79
+ close?: (ws: WebSocket) => void;
80
+ }
81
+ //# sourceMappingURL=handlers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../../src/types/handlers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;IAEpB;;OAEG;IACH,UAAU,EAAE,MAAM,IAAI,CAAC;IAEvB;;OAEG;IACH,SAAS,EAAE,MAAM,IAAI,CAAC;IAEtB;;;OAGG;IACH,OAAO,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;IAE3C;;;OAGG;IACH,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAC/B;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,UAAU,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAEhD;;;;OAIG;IACH,OAAO,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAEtE;;;OAGG;IACH,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAC/B;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,OAAO,EAAE,CAAC,EAAE,EAAE,iBAAiB,EAAE,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAElF;;;;OAIG;IACH,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAE9C;;;OAGG;IACH,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,KAAK,IAAI,CAAC;CACjC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ /**
3
+ * @file Handler type definitions for WebSocket events
4
+ * @module types/handlers
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=handlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../../src/types/handlers.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
@@ -0,0 +1,144 @@
1
+ /**
2
+ * @file Core type definitions
3
+ * @module types
4
+ */
5
+ import type { WebSocket } from 'ws';
6
+ import type { Logger } from './logger';
7
+ import type { NostrWSMessage, NostrEvent as MessageNostrEvent } from './messages';
8
+ export { NostrWSMessage } from './messages';
9
+ export { QueueItem } from './messages';
10
+ export * from './filters';
11
+ export * from './relays';
12
+ export * from './logger';
13
+ export * from './priority';
14
+ export type NostrEvent = MessageNostrEvent;
15
+ /**
16
+ * Extended WebSocket interface with client ID
17
+ */
18
+ export interface ExtendedWebSocket extends WebSocket {
19
+ clientId?: string;
20
+ isAlive?: boolean;
21
+ subscriptions?: Set<string>;
22
+ lastPing?: number;
23
+ reconnectAttempts?: number;
24
+ messageQueue?: NostrWSMessage[];
25
+ }
26
+ /**
27
+ * WebSocket connection states
28
+ */
29
+ export declare enum ConnectionState {
30
+ CONNECTING = "CONNECTING",
31
+ CONNECTED = "CONNECTED",
32
+ DISCONNECTED = "DISCONNECTED",
33
+ RECONNECTING = "RECONNECTING",
34
+ FAILED = "FAILED"
35
+ }
36
+ /**
37
+ * Retry configuration options
38
+ */
39
+ export interface RetryConfig {
40
+ maxAttempts: number;
41
+ initialDelay: number;
42
+ maxDelay: number;
43
+ backoffFactor: number;
44
+ }
45
+ /**
46
+ * Queue configuration options
47
+ */
48
+ export interface QueueConfig {
49
+ maxSize: number;
50
+ maxRetries: number;
51
+ retryDelay: number;
52
+ staleTimeout: number;
53
+ }
54
+ /**
55
+ * Heartbeat configuration options
56
+ */
57
+ export interface HeartbeatConfig {
58
+ interval: number;
59
+ timeout: number;
60
+ maxMissed: number;
61
+ }
62
+ /**
63
+ * WebSocket client options
64
+ */
65
+ export interface NostrWSOptions {
66
+ WebSocketImpl?: typeof WebSocket;
67
+ connectionTimeout?: number;
68
+ retryAttempts?: number;
69
+ retryDelay?: number;
70
+ onMessage?: (message: string) => void;
71
+ onError?: (error: Error) => void;
72
+ retry?: Partial<RetryConfig>;
73
+ queue?: Partial<QueueConfig>;
74
+ heartbeat?: Partial<HeartbeatConfig>;
75
+ autoReconnect?: boolean;
76
+ bufferMessages?: boolean;
77
+ cleanStaleMessages?: boolean;
78
+ logger?: Logger;
79
+ }
80
+ /**
81
+ * Represents a subscription to a Nostr relay
82
+ */
83
+ export interface NostrWSSubscription {
84
+ /**
85
+ * Channel identifier for the subscription
86
+ */
87
+ channel: string;
88
+ /**
89
+ * Filter criteria for the subscription
90
+ */
91
+ filter?: Record<string, unknown>;
92
+ }
93
+ /**
94
+ * Events emitted by the NostrWSClient
95
+ */
96
+ export interface NostrWSClientEvents {
97
+ /**
98
+ * Emitted when the client connects to the relay
99
+ */
100
+ connect: () => void;
101
+ /**
102
+ * Emitted when the client disconnects from the relay
103
+ */
104
+ disconnect: () => void;
105
+ /**
106
+ * Emitted when the client reconnects to the relay
107
+ */
108
+ reconnect: () => void;
109
+ /**
110
+ * Emitted when a message is received from the relay
111
+ * @param message - The received message
112
+ */
113
+ message: (message: NostrWSMessage) => Promise<void>;
114
+ /**
115
+ * Emitted when an error occurs
116
+ * @param error - The error that occurred
117
+ */
118
+ error: (error: Error) => void;
119
+ close: () => void;
120
+ stateChange?: (state: ConnectionState) => void;
121
+ heartbeat?: () => void;
122
+ }
123
+ /**
124
+ * Events emitted by the NostrWSServer
125
+ */
126
+ export interface NostrWSServerEvents {
127
+ /**
128
+ * Emitted when a client connects
129
+ * @param client - The connected client
130
+ */
131
+ connection: (client: ExtendedWebSocket) => void;
132
+ /**
133
+ * Emitted when a message is received from a client
134
+ * @param message - The received message
135
+ * @param client - The client that sent the message
136
+ */
137
+ message: (message: NostrWSMessage, client: ExtendedWebSocket) => void;
138
+ /**
139
+ * Emitted when an error occurs
140
+ * @param error - The error that occurred
141
+ */
142
+ error: (error: Error) => void;
143
+ }
144
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,IAAI,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGlF,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAG3B,MAAM,MAAM,UAAU,GAAG,iBAAiB,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,cAAc,EAAE,CAAC;CACjC;AAED;;GAEG;AACH,oBAAY,eAAe;IACzB,UAAU,eAAe;IACzB,SAAS,cAAc;IACvB,YAAY,iBAAiB;IAC7B,YAAY,iBAAiB;IAC7B,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,aAAa,CAAC,EAAE,OAAO,SAAS,CAAC;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,KAAK,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IACrC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;IAEpB;;OAEG;IACH,UAAU,EAAE,MAAM,IAAI,CAAC;IAEvB;;OAEG;IACH,SAAS,EAAE,MAAM,IAAI,CAAC;IAEtB;;;OAGG;IACH,OAAO,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpD;;;OAGG;IACH,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC9B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAC/C,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,UAAU,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAEhD;;;;OAIG;IACH,OAAO,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAEtE;;;OAGG;IACH,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAC/B"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ /**
3
+ * @file Core type definitions
4
+ * @module types
5
+ */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
18
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
19
+ };
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.ConnectionState = void 0;
22
+ __exportStar(require("./filters"), exports);
23
+ __exportStar(require("./relays"), exports);
24
+ __exportStar(require("./logger"), exports);
25
+ __exportStar(require("./priority"), exports);
26
+ /**
27
+ * WebSocket connection states
28
+ */
29
+ var ConnectionState;
30
+ (function (ConnectionState) {
31
+ ConnectionState["CONNECTING"] = "CONNECTING";
32
+ ConnectionState["CONNECTED"] = "CONNECTED";
33
+ ConnectionState["DISCONNECTED"] = "DISCONNECTED";
34
+ ConnectionState["RECONNECTING"] = "RECONNECTING";
35
+ ConnectionState["FAILED"] = "FAILED";
36
+ })(ConnectionState || (exports.ConnectionState = ConnectionState = {}));
37
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;AASH,4CAA0B;AAC1B,2CAAyB;AACzB,2CAAyB;AACzB,6CAA2B;AAiB3B;;GAEG;AACH,IAAY,eAMX;AAND,WAAY,eAAe;IACzB,4CAAyB,CAAA;IACzB,0CAAuB,CAAA;IACvB,gDAA6B,CAAA;IAC7B,gDAA6B,CAAA;IAC7B,oCAAiB,CAAA;AACnB,CAAC,EANW,eAAe,+BAAf,eAAe,QAM1B"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * @file Logger type definitions
3
+ * @module types/logger
4
+ */
5
+ import type { Logger as PinoLogger } from 'pino';
6
+ export type Logger = PinoLogger;
7
+ /**
8
+ * WebSocket context for logging
9
+ */
10
+ export interface WebSocketLogContext {
11
+ clientId?: string;
12
+ url?: string;
13
+ messageId?: string;
14
+ [key: string]: unknown;
15
+ }
16
+ /**
17
+ * Extended logger interface with WebSocket-specific methods
18
+ */
19
+ export interface NostrWSLogger extends Logger {
20
+ /**
21
+ * Log WebSocket connection event
22
+ */
23
+ wsConnect(context: WebSocketLogContext): void;
24
+ /**
25
+ * Log WebSocket disconnection event
26
+ */
27
+ wsDisconnect(context: WebSocketLogContext): void;
28
+ /**
29
+ * Log WebSocket message event
30
+ */
31
+ wsMessage(context: WebSocketLogContext): void;
32
+ /**
33
+ * Log WebSocket error event
34
+ */
35
+ wsError(error: Error, context: WebSocketLogContext): void;
36
+ /**
37
+ * Log WebSocket metrics
38
+ */
39
+ wsMetrics(metrics: Record<string, unknown>, context: WebSocketLogContext): void;
40
+ }
41
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/types/logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,MAAM,CAAC;AAEjD,MAAM,MAAM,MAAM,GAAG,UAAU,CAAC;AAEhC;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,MAAM;IAC3C;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAE9C;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAEjD;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAE9C;;OAEG;IACH,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAE1D;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC;CACjF"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ /**
3
+ * @file Logger type definitions
4
+ * @module types/logger
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/types/logger.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
@@ -0,0 +1,133 @@
1
+ /**
2
+ * @file Message type definitions
3
+ * @module types/messages
4
+ */
5
+ import { MessagePriority } from './priority';
6
+ /**
7
+ * Message types that can be sent through the WebSocket connection
8
+ * Following NIP-01 and other NIPs message types
9
+ */
10
+ export declare const MESSAGE_TYPES: {
11
+ readonly EVENT: "EVENT";
12
+ readonly REQ: "REQ";
13
+ readonly CLOSE: "CLOSE";
14
+ readonly NOTICE: "NOTICE";
15
+ readonly EOSE: "EOSE";
16
+ readonly OK: "OK";
17
+ readonly AUTH: "AUTH";
18
+ readonly COUNT: "COUNT";
19
+ readonly PING: "PING";
20
+ readonly PONG: "PONG";
21
+ readonly ERROR: "error";
22
+ };
23
+ export type MessageType = keyof typeof MESSAGE_TYPES;
24
+ /**
25
+ * Base Nostr WebSocket message interface
26
+ */
27
+ export interface NostrWSMessageBase {
28
+ type: MessageType;
29
+ data?: unknown;
30
+ priority?: MessagePriority;
31
+ queuedAt?: number;
32
+ retryCount?: number;
33
+ }
34
+ /**
35
+ * Nostr WebSocket message type
36
+ * Array format: [<message_type>, ...data]
37
+ */
38
+ export type NostrWSMessage = [MessageType, ...unknown[]];
39
+ /**
40
+ * Queue item interface for message queue
41
+ */
42
+ export interface QueueItem extends NostrWSMessageBase {
43
+ priority: MessagePriority;
44
+ queuedAt: number;
45
+ retryCount: number;
46
+ }
47
+ /**
48
+ * Nostr event message
49
+ */
50
+ export interface NostrEvent {
51
+ id: string;
52
+ kind: number;
53
+ content: string;
54
+ tags: string[][];
55
+ created_at?: number;
56
+ pubkey?: string;
57
+ sig?: string;
58
+ }
59
+ /**
60
+ * Server-side Nostr WebSocket message
61
+ * Extends the base NostrWSMessage tuple type with additional server-specific metadata
62
+ */
63
+ export type NostrWSServerMessage = NostrWSMessage & {
64
+ clientId?: string;
65
+ timestamp?: number;
66
+ };
67
+ /**
68
+ * Helper function to create server messages
69
+ */
70
+ export declare function createServerMessage(type: MessageType, data: unknown[], clientId?: string): NostrWSServerMessage;
71
+ /**
72
+ * Structure of a Nostr WebSocket filter
73
+ */
74
+ export interface NostrWSFilter {
75
+ /** Array of event IDs */
76
+ ids?: string[];
77
+ /** Array of pubkeys */
78
+ authors?: string[];
79
+ /** Array of event kinds */
80
+ kinds?: number[];
81
+ /** Event tags */
82
+ tags?: Record<string, string[]>;
83
+ /** Unix timestamp range */
84
+ since?: number;
85
+ until?: number;
86
+ /** Maximum number of events to return */
87
+ limit?: number;
88
+ }
89
+ /**
90
+ * Represents a subscription to a Nostr relay
91
+ */
92
+ export interface NostrWSSubscription {
93
+ /**
94
+ * Unique identifier for the subscription
95
+ */
96
+ subscription_id: string;
97
+ /**
98
+ * Filters for the subscription
99
+ */
100
+ filters: Array<Record<string, unknown>>;
101
+ /**
102
+ * Active state of the subscription
103
+ */
104
+ active?: boolean;
105
+ /**
106
+ * Timestamp when the subscription was created
107
+ */
108
+ createdAt?: number;
109
+ }
110
+ /**
111
+ * Result of validating a NostrWSMessage
112
+ */
113
+ export interface NostrWSValidationResult {
114
+ /**
115
+ * Whether the message is valid
116
+ */
117
+ isValid: boolean;
118
+ /**
119
+ * Error message if validation failed
120
+ */
121
+ error?: string;
122
+ }
123
+ /**
124
+ * Connection states for WebSocket client
125
+ */
126
+ export declare enum ConnectionState {
127
+ CONNECTING = "CONNECTING",
128
+ CONNECTED = "CONNECTED",
129
+ DISCONNECTED = "DISCONNECTED",
130
+ RECONNECTING = "RECONNECTING",
131
+ FAILED = "FAILED"
132
+ }
133
+ //# sourceMappingURL=messages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../src/types/messages.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C;;;GAGG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;CAYhB,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,aAAa,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,WAAW,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,SAAU,SAAQ,kBAAkB;IACnD,QAAQ,EAAE,eAAe,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,cAAc,GAAG;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,oBAAoB,CAK/G;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,yBAAyB;IACzB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,iBAAiB;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAChC,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAExC;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,oBAAY,eAAe;IACzB,UAAU,eAAe;IACzB,SAAS,cAAc;IACvB,YAAY,iBAAiB;IAC7B,YAAY,iBAAiB;IAC7B,MAAM,WAAW;CAClB"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ /**
3
+ * @file Message type definitions
4
+ * @module types/messages
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.ConnectionState = exports.MESSAGE_TYPES = void 0;
8
+ exports.createServerMessage = createServerMessage;
9
+ /**
10
+ * Message types that can be sent through the WebSocket connection
11
+ * Following NIP-01 and other NIPs message types
12
+ */
13
+ exports.MESSAGE_TYPES = {
14
+ EVENT: 'EVENT', // NIP-01: Basic protocol flow events
15
+ REQ: 'REQ', // NIP-01: Request events
16
+ CLOSE: 'CLOSE', // NIP-01: Close subscription
17
+ NOTICE: 'NOTICE', // NIP-01: Human-readable messages
18
+ EOSE: 'EOSE', // NIP-15: End of stored events notice
19
+ OK: 'OK', // NIP-20: Command result
20
+ AUTH: 'AUTH', // NIP-42: Authentication
21
+ COUNT: 'COUNT', // NIP-45: Event counts
22
+ PING: 'PING', // Internal heartbeat ping
23
+ PONG: 'PONG', // Internal heartbeat pong
24
+ ERROR: 'error' // Internal error type (lowercase to differentiate)
25
+ };
26
+ /**
27
+ * Helper function to create server messages
28
+ */
29
+ function createServerMessage(type, data, clientId) {
30
+ const message = [type, ...data];
31
+ message.clientId = clientId;
32
+ message.timestamp = Date.now();
33
+ return message;
34
+ }
35
+ /**
36
+ * Connection states for WebSocket client
37
+ */
38
+ var ConnectionState;
39
+ (function (ConnectionState) {
40
+ ConnectionState["CONNECTING"] = "CONNECTING";
41
+ ConnectionState["CONNECTED"] = "CONNECTED";
42
+ ConnectionState["DISCONNECTED"] = "DISCONNECTED";
43
+ ConnectionState["RECONNECTING"] = "RECONNECTING";
44
+ ConnectionState["FAILED"] = "FAILED";
45
+ })(ConnectionState || (exports.ConnectionState = ConnectionState = {}));
46
+ //# sourceMappingURL=messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../src/types/messages.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AA2EH,kDAKC;AA5ED;;;GAGG;AACU,QAAA,aAAa,GAAG;IAC3B,KAAK,EAAE,OAAO,EAAK,qCAAqC;IACxD,GAAG,EAAE,KAAK,EAAQ,yBAAyB;IAC3C,KAAK,EAAE,OAAO,EAAI,6BAA6B;IAC/C,MAAM,EAAE,QAAQ,EAAE,kCAAkC;IACpD,IAAI,EAAE,MAAM,EAAM,sCAAsC;IACxD,EAAE,EAAE,IAAI,EAAU,yBAAyB;IAC3C,IAAI,EAAE,MAAM,EAAM,yBAAyB;IAC3C,KAAK,EAAE,OAAO,EAAI,uBAAuB;IACzC,IAAI,EAAE,MAAM,EAAM,0BAA0B;IAC5C,IAAI,EAAE,MAAM,EAAM,0BAA0B;IAC5C,KAAK,EAAE,OAAO,CAAI,mDAAmD;CAC7D,CAAC;AAoDX;;GAEG;AACH,SAAgB,mBAAmB,CAAC,IAAiB,EAAE,IAAe,EAAE,QAAiB;IACvF,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,GAAG,IAAI,CAAyB,CAAC;IACxD,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC5B,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC/B,OAAO,OAAO,CAAC;AACjB,CAAC;AA6DD;;GAEG;AACH,IAAY,eAMX;AAND,WAAY,eAAe;IACzB,4CAAyB,CAAA;IACzB,0CAAuB,CAAA;IACvB,gDAA6B,CAAA;IAC7B,gDAA6B,CAAA;IAC7B,oCAAiB,CAAA;AACnB,CAAC,EANW,eAAe,+BAAf,eAAe,QAM1B"}