@openclaw/nostr 2026.5.20 → 2026.5.22

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 (1336) hide show
  1. package/node_modules/@noble/ciphers/LICENSE +22 -0
  2. package/node_modules/@noble/ciphers/README.md +608 -0
  3. package/node_modules/@noble/ciphers/_arx.d.ts +81 -0
  4. package/node_modules/@noble/ciphers/_arx.d.ts.map +1 -0
  5. package/node_modules/@noble/ciphers/_arx.js +258 -0
  6. package/node_modules/@noble/ciphers/_arx.js.map +1 -0
  7. package/node_modules/@noble/ciphers/_poly1305.d.ts +48 -0
  8. package/node_modules/@noble/ciphers/_poly1305.d.ts.map +1 -0
  9. package/node_modules/@noble/ciphers/_poly1305.js +319 -0
  10. package/node_modules/@noble/ciphers/_poly1305.js.map +1 -0
  11. package/node_modules/@noble/ciphers/_polyval.d.ts +62 -0
  12. package/node_modules/@noble/ciphers/_polyval.d.ts.map +1 -0
  13. package/node_modules/@noble/ciphers/_polyval.js +231 -0
  14. package/node_modules/@noble/ciphers/_polyval.js.map +1 -0
  15. package/node_modules/@noble/ciphers/aes.d.ts +231 -0
  16. package/node_modules/@noble/ciphers/aes.d.ts.map +1 -0
  17. package/node_modules/@noble/ciphers/aes.js +1281 -0
  18. package/node_modules/@noble/ciphers/aes.js.map +1 -0
  19. package/node_modules/@noble/ciphers/chacha.d.ts +75 -0
  20. package/node_modules/@noble/ciphers/chacha.d.ts.map +1 -0
  21. package/node_modules/@noble/ciphers/chacha.js +385 -0
  22. package/node_modules/@noble/ciphers/chacha.js.map +1 -0
  23. package/node_modules/@noble/ciphers/ff1.d.ts +9 -0
  24. package/node_modules/@noble/ciphers/ff1.d.ts.map +1 -0
  25. package/node_modules/@noble/ciphers/ff1.js +160 -0
  26. package/node_modules/@noble/ciphers/ff1.js.map +1 -0
  27. package/node_modules/@noble/ciphers/index.d.ts +2 -0
  28. package/node_modules/@noble/ciphers/index.d.ts.map +1 -0
  29. package/node_modules/@noble/ciphers/index.js +27 -0
  30. package/node_modules/@noble/ciphers/index.js.map +1 -0
  31. package/node_modules/@noble/ciphers/package.json +81 -0
  32. package/node_modules/@noble/ciphers/salsa.d.ts +30 -0
  33. package/node_modules/@noble/ciphers/salsa.d.ts.map +1 -0
  34. package/node_modules/@noble/ciphers/salsa.js +260 -0
  35. package/node_modules/@noble/ciphers/salsa.js.map +1 -0
  36. package/node_modules/@noble/ciphers/src/_arx.ts +338 -0
  37. package/node_modules/@noble/ciphers/src/_poly1305.ts +360 -0
  38. package/node_modules/@noble/ciphers/src/_polyval.ts +272 -0
  39. package/node_modules/@noble/ciphers/src/aes.ts +1439 -0
  40. package/node_modules/@noble/ciphers/src/chacha.ts +367 -0
  41. package/node_modules/@noble/ciphers/src/ff1.ts +162 -0
  42. package/node_modules/@noble/ciphers/src/index.ts +25 -0
  43. package/node_modules/@noble/ciphers/src/salsa.ts +255 -0
  44. package/node_modules/@noble/ciphers/src/utils.ts +497 -0
  45. package/node_modules/@noble/ciphers/src/webcrypto.ts +125 -0
  46. package/node_modules/@noble/ciphers/utils.d.ts +171 -0
  47. package/node_modules/@noble/ciphers/utils.d.ts.map +1 -0
  48. package/node_modules/@noble/ciphers/utils.js +343 -0
  49. package/node_modules/@noble/ciphers/utils.js.map +1 -0
  50. package/node_modules/@noble/ciphers/webcrypto.d.ts +30 -0
  51. package/node_modules/@noble/ciphers/webcrypto.d.ts.map +1 -0
  52. package/node_modules/@noble/ciphers/webcrypto.js +99 -0
  53. package/node_modules/@noble/ciphers/webcrypto.js.map +1 -0
  54. package/node_modules/@noble/curves/LICENSE +21 -0
  55. package/node_modules/@noble/curves/README.md +1037 -0
  56. package/node_modules/@noble/curves/abstract/bls.d.ts +128 -0
  57. package/node_modules/@noble/curves/abstract/bls.d.ts.map +1 -0
  58. package/node_modules/@noble/curves/abstract/bls.js +372 -0
  59. package/node_modules/@noble/curves/abstract/bls.js.map +1 -0
  60. package/node_modules/@noble/curves/abstract/curve.d.ts +195 -0
  61. package/node_modules/@noble/curves/abstract/curve.d.ts.map +1 -0
  62. package/node_modules/@noble/curves/abstract/curve.js +457 -0
  63. package/node_modules/@noble/curves/abstract/curve.js.map +1 -0
  64. package/node_modules/@noble/curves/abstract/edwards.d.ts +184 -0
  65. package/node_modules/@noble/curves/abstract/edwards.d.ts.map +1 -0
  66. package/node_modules/@noble/curves/abstract/edwards.js +558 -0
  67. package/node_modules/@noble/curves/abstract/edwards.js.map +1 -0
  68. package/node_modules/@noble/curves/abstract/fft.d.ts +127 -0
  69. package/node_modules/@noble/curves/abstract/fft.d.ts.map +1 -0
  70. package/node_modules/@noble/curves/abstract/fft.js +426 -0
  71. package/node_modules/@noble/curves/abstract/fft.js.map +1 -0
  72. package/node_modules/@noble/curves/abstract/hash-to-curve.d.ts +90 -0
  73. package/node_modules/@noble/curves/abstract/hash-to-curve.d.ts.map +1 -0
  74. package/node_modules/@noble/curves/abstract/hash-to-curve.js +207 -0
  75. package/node_modules/@noble/curves/abstract/hash-to-curve.js.map +1 -0
  76. package/node_modules/@noble/curves/abstract/modular.d.ts +159 -0
  77. package/node_modules/@noble/curves/abstract/modular.d.ts.map +1 -0
  78. package/node_modules/@noble/curves/abstract/modular.js +555 -0
  79. package/node_modules/@noble/curves/abstract/modular.js.map +1 -0
  80. package/node_modules/@noble/curves/abstract/montgomery.d.ts +25 -0
  81. package/node_modules/@noble/curves/abstract/montgomery.d.ts.map +1 -0
  82. package/node_modules/@noble/curves/abstract/montgomery.js +153 -0
  83. package/node_modules/@noble/curves/abstract/montgomery.js.map +1 -0
  84. package/node_modules/@noble/curves/abstract/oprf.d.ts +282 -0
  85. package/node_modules/@noble/curves/abstract/oprf.d.ts.map +1 -0
  86. package/node_modules/@noble/curves/abstract/oprf.js +297 -0
  87. package/node_modules/@noble/curves/abstract/oprf.js.map +1 -0
  88. package/node_modules/@noble/curves/abstract/poseidon.d.ts +68 -0
  89. package/node_modules/@noble/curves/abstract/poseidon.d.ts.map +1 -0
  90. package/node_modules/@noble/curves/abstract/poseidon.js +300 -0
  91. package/node_modules/@noble/curves/abstract/poseidon.js.map +1 -0
  92. package/node_modules/@noble/curves/abstract/tower.d.ts +95 -0
  93. package/node_modules/@noble/curves/abstract/tower.d.ts.map +1 -0
  94. package/node_modules/@noble/curves/abstract/tower.js +742 -0
  95. package/node_modules/@noble/curves/abstract/tower.js.map +1 -0
  96. package/node_modules/@noble/curves/abstract/weierstrass.d.ts +325 -0
  97. package/node_modules/@noble/curves/abstract/weierstrass.d.ts.map +1 -0
  98. package/node_modules/@noble/curves/abstract/weierstrass.js +1222 -0
  99. package/node_modules/@noble/curves/abstract/weierstrass.js.map +1 -0
  100. package/node_modules/@noble/curves/bls12-381.d.ts +10 -0
  101. package/node_modules/@noble/curves/bls12-381.d.ts.map +1 -0
  102. package/node_modules/@noble/curves/bls12-381.js +688 -0
  103. package/node_modules/@noble/curves/bls12-381.js.map +1 -0
  104. package/node_modules/@noble/curves/bn254.d.ts +66 -0
  105. package/node_modules/@noble/curves/bn254.d.ts.map +1 -0
  106. package/node_modules/@noble/curves/bn254.js +190 -0
  107. package/node_modules/@noble/curves/bn254.js.map +1 -0
  108. package/node_modules/@noble/curves/ed25519.d.ts +101 -0
  109. package/node_modules/@noble/curves/ed25519.d.ts.map +1 -0
  110. package/node_modules/@noble/curves/ed25519.js +462 -0
  111. package/node_modules/@noble/curves/ed25519.js.map +1 -0
  112. package/node_modules/@noble/curves/ed448.d.ts +91 -0
  113. package/node_modules/@noble/curves/ed448.d.ts.map +1 -0
  114. package/node_modules/@noble/curves/ed448.js +442 -0
  115. package/node_modules/@noble/curves/ed448.js.map +1 -0
  116. package/node_modules/@noble/curves/index.d.ts +2 -0
  117. package/node_modules/@noble/curves/index.d.ts.map +1 -0
  118. package/node_modules/@noble/curves/index.js +33 -0
  119. package/node_modules/@noble/curves/index.js.map +1 -0
  120. package/node_modules/@noble/curves/misc.d.ts +15 -0
  121. package/node_modules/@noble/curves/misc.d.ts.map +1 -0
  122. package/node_modules/@noble/curves/misc.js +103 -0
  123. package/node_modules/@noble/curves/misc.js.map +1 -0
  124. package/node_modules/@noble/curves/nist.d.ts +36 -0
  125. package/node_modules/@noble/curves/nist.d.ts.map +1 -0
  126. package/node_modules/@noble/curves/nist.js +146 -0
  127. package/node_modules/@noble/curves/nist.js.map +1 -0
  128. package/node_modules/@noble/curves/package.json +98 -0
  129. package/node_modules/@noble/curves/secp256k1.d.ts +76 -0
  130. package/node_modules/@noble/curves/secp256k1.d.ts.map +1 -0
  131. package/node_modules/@noble/curves/secp256k1.js +283 -0
  132. package/node_modules/@noble/curves/secp256k1.js.map +1 -0
  133. package/node_modules/@noble/curves/src/abstract/bls.ts +604 -0
  134. package/node_modules/@noble/curves/src/abstract/curve.ts +633 -0
  135. package/node_modules/@noble/curves/src/abstract/edwards.ts +789 -0
  136. package/node_modules/@noble/curves/src/abstract/fft.ts +521 -0
  137. package/node_modules/@noble/curves/src/abstract/hash-to-curve.ts +292 -0
  138. package/node_modules/@noble/curves/src/abstract/modular.ts +621 -0
  139. package/node_modules/@noble/curves/src/abstract/montgomery.ts +187 -0
  140. package/node_modules/@noble/curves/src/abstract/oprf.ts +600 -0
  141. package/node_modules/@noble/curves/src/abstract/poseidon.ts +333 -0
  142. package/node_modules/@noble/curves/src/abstract/tower.ts +864 -0
  143. package/node_modules/@noble/curves/src/abstract/weierstrass.ts +1562 -0
  144. package/node_modules/@noble/curves/src/bls12-381.ts +775 -0
  145. package/node_modules/@noble/curves/src/bn254.ts +219 -0
  146. package/node_modules/@noble/curves/src/ed25519.ts +533 -0
  147. package/node_modules/@noble/curves/src/ed448.ts +525 -0
  148. package/node_modules/@noble/curves/src/index.ts +31 -0
  149. package/node_modules/@noble/curves/src/misc.ts +140 -0
  150. package/node_modules/@noble/curves/src/nist.ts +204 -0
  151. package/node_modules/@noble/curves/src/secp256k1.ts +327 -0
  152. package/node_modules/@noble/curves/src/utils.ts +306 -0
  153. package/node_modules/@noble/curves/src/webcrypto.ts +403 -0
  154. package/node_modules/@noble/curves/utils.d.ts +103 -0
  155. package/node_modules/@noble/curves/utils.d.ts.map +1 -0
  156. package/node_modules/@noble/curves/utils.js +241 -0
  157. package/node_modules/@noble/curves/utils.js.map +1 -0
  158. package/node_modules/@noble/curves/webcrypto.d.ts +99 -0
  159. package/node_modules/@noble/curves/webcrypto.d.ts.map +1 -0
  160. package/node_modules/@noble/curves/webcrypto.js +256 -0
  161. package/node_modules/@noble/curves/webcrypto.js.map +1 -0
  162. package/node_modules/@noble/hashes/LICENSE +21 -0
  163. package/node_modules/@noble/hashes/README.md +575 -0
  164. package/node_modules/@noble/hashes/_blake.d.ts +14 -0
  165. package/node_modules/@noble/hashes/_blake.d.ts.map +1 -0
  166. package/node_modules/@noble/hashes/_blake.js +45 -0
  167. package/node_modules/@noble/hashes/_blake.js.map +1 -0
  168. package/node_modules/@noble/hashes/_md.d.ts +49 -0
  169. package/node_modules/@noble/hashes/_md.d.ts.map +1 -0
  170. package/node_modules/@noble/hashes/_md.js +147 -0
  171. package/node_modules/@noble/hashes/_md.js.map +1 -0
  172. package/node_modules/@noble/hashes/_u64.d.ts +55 -0
  173. package/node_modules/@noble/hashes/_u64.d.ts.map +1 -0
  174. package/node_modules/@noble/hashes/_u64.js +67 -0
  175. package/node_modules/@noble/hashes/_u64.js.map +1 -0
  176. package/node_modules/@noble/hashes/argon2.d.ts +32 -0
  177. package/node_modules/@noble/hashes/argon2.d.ts.map +1 -0
  178. package/node_modules/@noble/hashes/argon2.js +391 -0
  179. package/node_modules/@noble/hashes/argon2.js.map +1 -0
  180. package/node_modules/@noble/hashes/blake1.d.ts +110 -0
  181. package/node_modules/@noble/hashes/blake1.d.ts.map +1 -0
  182. package/node_modules/@noble/hashes/blake1.js +485 -0
  183. package/node_modules/@noble/hashes/blake1.js.map +1 -0
  184. package/node_modules/@noble/hashes/blake2.d.ts +120 -0
  185. package/node_modules/@noble/hashes/blake2.d.ts.map +1 -0
  186. package/node_modules/@noble/hashes/blake2.js +417 -0
  187. package/node_modules/@noble/hashes/blake2.js.map +1 -0
  188. package/node_modules/@noble/hashes/blake3.d.ts +54 -0
  189. package/node_modules/@noble/hashes/blake3.d.ts.map +1 -0
  190. package/node_modules/@noble/hashes/blake3.js +255 -0
  191. package/node_modules/@noble/hashes/blake3.js.map +1 -0
  192. package/node_modules/@noble/hashes/eskdf.d.ts +50 -0
  193. package/node_modules/@noble/hashes/eskdf.d.ts.map +1 -0
  194. package/node_modules/@noble/hashes/eskdf.js +161 -0
  195. package/node_modules/@noble/hashes/eskdf.js.map +1 -0
  196. package/node_modules/@noble/hashes/hkdf.d.ts +36 -0
  197. package/node_modules/@noble/hashes/hkdf.d.ts.map +1 -0
  198. package/node_modules/@noble/hashes/hkdf.js +84 -0
  199. package/node_modules/@noble/hashes/hkdf.js.map +1 -0
  200. package/node_modules/@noble/hashes/hmac.d.ts +36 -0
  201. package/node_modules/@noble/hashes/hmac.d.ts.map +1 -0
  202. package/node_modules/@noble/hashes/hmac.js +90 -0
  203. package/node_modules/@noble/hashes/hmac.js.map +1 -0
  204. package/node_modules/@noble/hashes/index.d.ts +2 -0
  205. package/node_modules/@noble/hashes/index.d.ts.map +1 -0
  206. package/node_modules/@noble/hashes/index.js +34 -0
  207. package/node_modules/@noble/hashes/index.js.map +1 -0
  208. package/node_modules/@noble/hashes/legacy.d.ts +71 -0
  209. package/node_modules/@noble/hashes/legacy.d.ts.map +1 -0
  210. package/node_modules/@noble/hashes/legacy.js +281 -0
  211. package/node_modules/@noble/hashes/legacy.js.map +1 -0
  212. package/node_modules/@noble/hashes/package.json +93 -0
  213. package/node_modules/@noble/hashes/pbkdf2.d.ts +29 -0
  214. package/node_modules/@noble/hashes/pbkdf2.d.ts.map +1 -0
  215. package/node_modules/@noble/hashes/pbkdf2.js +97 -0
  216. package/node_modules/@noble/hashes/pbkdf2.js.map +1 -0
  217. package/node_modules/@noble/hashes/scrypt.d.ts +33 -0
  218. package/node_modules/@noble/hashes/scrypt.d.ts.map +1 -0
  219. package/node_modules/@noble/hashes/scrypt.js +216 -0
  220. package/node_modules/@noble/hashes/scrypt.js.map +1 -0
  221. package/node_modules/@noble/hashes/sha2.d.ts +199 -0
  222. package/node_modules/@noble/hashes/sha2.d.ts.map +1 -0
  223. package/node_modules/@noble/hashes/sha2.js +397 -0
  224. package/node_modules/@noble/hashes/sha2.js.map +1 -0
  225. package/node_modules/@noble/hashes/sha3-addons.d.ts +149 -0
  226. package/node_modules/@noble/hashes/sha3-addons.d.ts.map +1 -0
  227. package/node_modules/@noble/hashes/sha3-addons.js +420 -0
  228. package/node_modules/@noble/hashes/sha3-addons.js.map +1 -0
  229. package/node_modules/@noble/hashes/sha3.d.ts +58 -0
  230. package/node_modules/@noble/hashes/sha3.d.ts.map +1 -0
  231. package/node_modules/@noble/hashes/sha3.js +254 -0
  232. package/node_modules/@noble/hashes/sha3.js.map +1 -0
  233. package/node_modules/@noble/hashes/src/_blake.ts +50 -0
  234. package/node_modules/@noble/hashes/src/_md.ts +156 -0
  235. package/node_modules/@noble/hashes/src/_u64.ts +91 -0
  236. package/node_modules/@noble/hashes/src/argon2.ts +493 -0
  237. package/node_modules/@noble/hashes/src/blake1.ts +536 -0
  238. package/node_modules/@noble/hashes/src/blake2.ts +489 -0
  239. package/node_modules/@noble/hashes/src/blake3.ts +275 -0
  240. package/node_modules/@noble/hashes/src/eskdf.ts +188 -0
  241. package/node_modules/@noble/hashes/src/hkdf.ts +94 -0
  242. package/node_modules/@noble/hashes/src/hmac.ts +94 -0
  243. package/node_modules/@noble/hashes/src/index.ts +32 -0
  244. package/node_modules/@noble/hashes/src/legacy.ts +293 -0
  245. package/node_modules/@noble/hashes/src/pbkdf2.ts +129 -0
  246. package/node_modules/@noble/hashes/src/scrypt.ts +249 -0
  247. package/node_modules/@noble/hashes/src/sha2.ts +469 -0
  248. package/node_modules/@noble/hashes/src/sha3-addons.ts +530 -0
  249. package/node_modules/@noble/hashes/src/sha3.ts +295 -0
  250. package/node_modules/@noble/hashes/src/utils.ts +338 -0
  251. package/node_modules/@noble/hashes/src/webcrypto.ts +168 -0
  252. package/node_modules/@noble/hashes/utils.d.ts +130 -0
  253. package/node_modules/@noble/hashes/utils.d.ts.map +1 -0
  254. package/node_modules/@noble/hashes/utils.js +242 -0
  255. package/node_modules/@noble/hashes/utils.js.map +1 -0
  256. package/node_modules/@noble/hashes/webcrypto.d.ts +62 -0
  257. package/node_modules/@noble/hashes/webcrypto.d.ts.map +1 -0
  258. package/node_modules/@noble/hashes/webcrypto.js +126 -0
  259. package/node_modules/@noble/hashes/webcrypto.js.map +1 -0
  260. package/node_modules/@scure/base/LICENSE +21 -0
  261. package/node_modules/@scure/base/README.md +226 -0
  262. package/node_modules/@scure/base/index.d.ts +294 -0
  263. package/node_modules/@scure/base/index.d.ts.map +1 -0
  264. package/node_modules/@scure/base/index.js +704 -0
  265. package/node_modules/@scure/base/index.js.map +1 -0
  266. package/node_modules/@scure/base/index.ts +857 -0
  267. package/node_modules/@scure/base/package.json +58 -0
  268. package/node_modules/@scure/bip32/LICENSE +21 -0
  269. package/node_modules/@scure/bip32/README.md +158 -0
  270. package/node_modules/@scure/bip32/index.d.ts +60 -0
  271. package/node_modules/@scure/bip32/index.d.ts.map +1 -0
  272. package/node_modules/@scure/bip32/index.js +283 -0
  273. package/node_modules/@scure/bip32/index.js.map +1 -0
  274. package/node_modules/@scure/bip32/index.ts +317 -0
  275. package/node_modules/@scure/bip32/package.json +57 -0
  276. package/node_modules/@scure/bip39/LICENSE +21 -0
  277. package/node_modules/@scure/bip39/README.md +134 -0
  278. package/node_modules/@scure/bip39/index.d.ts +75 -0
  279. package/node_modules/@scure/bip39/index.js +149 -0
  280. package/node_modules/@scure/bip39/package.json +70 -0
  281. package/node_modules/@scure/bip39/src/index.ts +161 -0
  282. package/node_modules/@scure/bip39/wordlists/czech.d.ts +1 -0
  283. package/node_modules/@scure/bip39/wordlists/czech.js +2048 -0
  284. package/node_modules/@scure/bip39/wordlists/english.d.ts +1 -0
  285. package/node_modules/@scure/bip39/wordlists/english.js +2048 -0
  286. package/node_modules/@scure/bip39/wordlists/french.d.ts +1 -0
  287. package/node_modules/@scure/bip39/wordlists/french.js +2048 -0
  288. package/node_modules/@scure/bip39/wordlists/italian.d.ts +1 -0
  289. package/node_modules/@scure/bip39/wordlists/italian.js +2048 -0
  290. package/node_modules/@scure/bip39/wordlists/japanese.d.ts +1 -0
  291. package/node_modules/@scure/bip39/wordlists/japanese.js +2048 -0
  292. package/node_modules/@scure/bip39/wordlists/korean.d.ts +1 -0
  293. package/node_modules/@scure/bip39/wordlists/korean.js +2048 -0
  294. package/node_modules/@scure/bip39/wordlists/portuguese.d.ts +1 -0
  295. package/node_modules/@scure/bip39/wordlists/portuguese.js +2048 -0
  296. package/node_modules/@scure/bip39/wordlists/simplified-chinese.d.ts +1 -0
  297. package/node_modules/@scure/bip39/wordlists/simplified-chinese.js +2048 -0
  298. package/node_modules/@scure/bip39/wordlists/spanish.d.ts +1 -0
  299. package/node_modules/@scure/bip39/wordlists/spanish.js +2048 -0
  300. package/node_modules/@scure/bip39/wordlists/traditional-chinese.d.ts +1 -0
  301. package/node_modules/@scure/bip39/wordlists/traditional-chinese.js +2048 -0
  302. package/node_modules/nostr-tools/LICENSE +24 -0
  303. package/node_modules/nostr-tools/README.md +454 -0
  304. package/node_modules/nostr-tools/lib/cjs/abstract-pool.js +889 -0
  305. package/node_modules/nostr-tools/lib/cjs/abstract-pool.js.map +7 -0
  306. package/node_modules/nostr-tools/lib/cjs/abstract-relay.js +596 -0
  307. package/node_modules/nostr-tools/lib/cjs/abstract-relay.js.map +7 -0
  308. package/node_modules/nostr-tools/lib/cjs/core.js +63 -0
  309. package/node_modules/nostr-tools/lib/cjs/core.js.map +7 -0
  310. package/node_modules/nostr-tools/lib/cjs/fakejson.js +66 -0
  311. package/node_modules/nostr-tools/lib/cjs/fakejson.js.map +7 -0
  312. package/node_modules/nostr-tools/lib/cjs/filter.js +111 -0
  313. package/node_modules/nostr-tools/lib/cjs/filter.js.map +7 -0
  314. package/node_modules/nostr-tools/lib/cjs/index.js +3666 -0
  315. package/node_modules/nostr-tools/lib/cjs/index.js.map +7 -0
  316. package/node_modules/nostr-tools/lib/cjs/kinds.js +273 -0
  317. package/node_modules/nostr-tools/lib/cjs/kinds.js.map +7 -0
  318. package/node_modules/nostr-tools/lib/cjs/nip04.js +61 -0
  319. package/node_modules/nostr-tools/lib/cjs/nip04.js.map +7 -0
  320. package/node_modules/nostr-tools/lib/cjs/nip05.js +76 -0
  321. package/node_modules/nostr-tools/lib/cjs/nip05.js.map +7 -0
  322. package/node_modules/nostr-tools/lib/cjs/nip06.js +82 -0
  323. package/node_modules/nostr-tools/lib/cjs/nip06.js.map +7 -0
  324. package/node_modules/nostr-tools/lib/cjs/nip07.js +18 -0
  325. package/node_modules/nostr-tools/lib/cjs/nip07.js.map +7 -0
  326. package/node_modules/nostr-tools/lib/cjs/nip10.js +124 -0
  327. package/node_modules/nostr-tools/lib/cjs/nip10.js.map +7 -0
  328. package/node_modules/nostr-tools/lib/cjs/nip11.js +39 -0
  329. package/node_modules/nostr-tools/lib/cjs/nip11.js.map +7 -0
  330. package/node_modules/nostr-tools/lib/cjs/nip13.js +83 -0
  331. package/node_modules/nostr-tools/lib/cjs/nip13.js.map +7 -0
  332. package/node_modules/nostr-tools/lib/cjs/nip17.js +343 -0
  333. package/node_modules/nostr-tools/lib/cjs/nip17.js.map +7 -0
  334. package/node_modules/nostr-tools/lib/cjs/nip18.js +188 -0
  335. package/node_modules/nostr-tools/lib/cjs/nip18.js.map +7 -0
  336. package/node_modules/nostr-tools/lib/cjs/nip19.js +217 -0
  337. package/node_modules/nostr-tools/lib/cjs/nip19.js.map +7 -0
  338. package/node_modules/nostr-tools/lib/cjs/nip21.js +140 -0
  339. package/node_modules/nostr-tools/lib/cjs/nip21.js.map +7 -0
  340. package/node_modules/nostr-tools/lib/cjs/nip22.js +154 -0
  341. package/node_modules/nostr-tools/lib/cjs/nip22.js.map +7 -0
  342. package/node_modules/nostr-tools/lib/cjs/nip25.js +159 -0
  343. package/node_modules/nostr-tools/lib/cjs/nip25.js.map +7 -0
  344. package/node_modules/nostr-tools/lib/cjs/nip27.js +269 -0
  345. package/node_modules/nostr-tools/lib/cjs/nip27.js.map +7 -0
  346. package/node_modules/nostr-tools/lib/cjs/nip28.js +220 -0
  347. package/node_modules/nostr-tools/lib/cjs/nip28.js.map +7 -0
  348. package/node_modules/nostr-tools/lib/cjs/nip29.js +499 -0
  349. package/node_modules/nostr-tools/lib/cjs/nip29.js.map +7 -0
  350. package/node_modules/nostr-tools/lib/cjs/nip30.js +53 -0
  351. package/node_modules/nostr-tools/lib/cjs/nip30.js.map +7 -0
  352. package/node_modules/nostr-tools/lib/cjs/nip39.js +42 -0
  353. package/node_modules/nostr-tools/lib/cjs/nip39.js.map +7 -0
  354. package/node_modules/nostr-tools/lib/cjs/nip40.js +63 -0
  355. package/node_modules/nostr-tools/lib/cjs/nip40.js.map +7 -0
  356. package/node_modules/nostr-tools/lib/cjs/nip42.js +41 -0
  357. package/node_modules/nostr-tools/lib/cjs/nip42.js.map +7 -0
  358. package/node_modules/nostr-tools/lib/cjs/nip44.js +167 -0
  359. package/node_modules/nostr-tools/lib/cjs/nip44.js.map +7 -0
  360. package/node_modules/nostr-tools/lib/cjs/nip46.js +1455 -0
  361. package/node_modules/nostr-tools/lib/cjs/nip46.js.map +7 -0
  362. package/node_modules/nostr-tools/lib/cjs/nip47.js +168 -0
  363. package/node_modules/nostr-tools/lib/cjs/nip47.js.map +7 -0
  364. package/node_modules/nostr-tools/lib/cjs/nip49.js +77 -0
  365. package/node_modules/nostr-tools/lib/cjs/nip49.js.map +7 -0
  366. package/node_modules/nostr-tools/lib/cjs/nip54.js +35 -0
  367. package/node_modules/nostr-tools/lib/cjs/nip54.js.map +7 -0
  368. package/node_modules/nostr-tools/lib/cjs/nip55.js +103 -0
  369. package/node_modules/nostr-tools/lib/cjs/nip55.js.map +7 -0
  370. package/node_modules/nostr-tools/lib/cjs/nip57.js +274 -0
  371. package/node_modules/nostr-tools/lib/cjs/nip57.js.map +7 -0
  372. package/node_modules/nostr-tools/lib/cjs/nip58.js +117 -0
  373. package/node_modules/nostr-tools/lib/cjs/nip58.js.map +7 -0
  374. package/node_modules/nostr-tools/lib/cjs/nip59.js +320 -0
  375. package/node_modules/nostr-tools/lib/cjs/nip59.js.map +7 -0
  376. package/node_modules/nostr-tools/lib/cjs/nip75.js +70 -0
  377. package/node_modules/nostr-tools/lib/cjs/nip75.js.map +7 -0
  378. package/node_modules/nostr-tools/lib/cjs/nip77.js +519 -0
  379. package/node_modules/nostr-tools/lib/cjs/nip77.js.map +7 -0
  380. package/node_modules/nostr-tools/lib/cjs/nip94.js +142 -0
  381. package/node_modules/nostr-tools/lib/cjs/nip94.js.map +7 -0
  382. package/node_modules/nostr-tools/lib/cjs/nip98.js +230 -0
  383. package/node_modules/nostr-tools/lib/cjs/nip98.js.map +7 -0
  384. package/node_modules/nostr-tools/lib/cjs/nip99.js +153 -0
  385. package/node_modules/nostr-tools/lib/cjs/nip99.js.map +7 -0
  386. package/node_modules/nostr-tools/lib/cjs/nipb7.js +184 -0
  387. package/node_modules/nostr-tools/lib/cjs/nipb7.js.map +7 -0
  388. package/node_modules/nostr-tools/lib/cjs/package.json +1 -0
  389. package/node_modules/nostr-tools/lib/cjs/pool.js +989 -0
  390. package/node_modules/nostr-tools/lib/cjs/pool.js.map +7 -0
  391. package/node_modules/nostr-tools/lib/cjs/pure.js +130 -0
  392. package/node_modules/nostr-tools/lib/cjs/pure.js.map +7 -0
  393. package/node_modules/nostr-tools/lib/cjs/references.js +210 -0
  394. package/node_modules/nostr-tools/lib/cjs/references.js.map +7 -0
  395. package/node_modules/nostr-tools/lib/cjs/relay.js +704 -0
  396. package/node_modules/nostr-tools/lib/cjs/relay.js.map +7 -0
  397. package/node_modules/nostr-tools/lib/cjs/signer.js +130 -0
  398. package/node_modules/nostr-tools/lib/cjs/signer.js.map +7 -0
  399. package/node_modules/nostr-tools/lib/cjs/utils.js +150 -0
  400. package/node_modules/nostr-tools/lib/cjs/utils.js.map +7 -0
  401. package/node_modules/nostr-tools/lib/cjs/wasm.js +103 -0
  402. package/node_modules/nostr-tools/lib/cjs/wasm.js.map +7 -0
  403. package/node_modules/nostr-tools/lib/esm/abstract-pool.js +866 -0
  404. package/node_modules/nostr-tools/lib/esm/abstract-pool.js.map +7 -0
  405. package/node_modules/nostr-tools/lib/esm/abstract-relay.js +573 -0
  406. package/node_modules/nostr-tools/lib/esm/abstract-relay.js.map +7 -0
  407. package/node_modules/nostr-tools/lib/esm/core.js +42 -0
  408. package/node_modules/nostr-tools/lib/esm/core.js.map +7 -0
  409. package/node_modules/nostr-tools/lib/esm/fakejson.js +45 -0
  410. package/node_modules/nostr-tools/lib/esm/fakejson.js.map +7 -0
  411. package/node_modules/nostr-tools/lib/esm/filter.js +88 -0
  412. package/node_modules/nostr-tools/lib/esm/filter.js.map +7 -0
  413. package/node_modules/nostr-tools/lib/esm/index.js +3649 -0
  414. package/node_modules/nostr-tools/lib/esm/index.js.map +7 -0
  415. package/node_modules/nostr-tools/lib/esm/kinds.js +250 -0
  416. package/node_modules/nostr-tools/lib/esm/kinds.js.map +7 -0
  417. package/node_modules/nostr-tools/lib/esm/nip04.js +40 -0
  418. package/node_modules/nostr-tools/lib/esm/nip04.js.map +7 -0
  419. package/node_modules/nostr-tools/lib/esm/nip05.js +55 -0
  420. package/node_modules/nostr-tools/lib/esm/nip05.js.map +7 -0
  421. package/node_modules/nostr-tools/lib/esm/nip06.js +61 -0
  422. package/node_modules/nostr-tools/lib/esm/nip06.js.map +7 -0
  423. package/node_modules/nostr-tools/lib/esm/nip07.js +0 -0
  424. package/node_modules/nostr-tools/lib/esm/nip07.js.map +7 -0
  425. package/node_modules/nostr-tools/lib/esm/nip10.js +103 -0
  426. package/node_modules/nostr-tools/lib/esm/nip10.js.map +7 -0
  427. package/node_modules/nostr-tools/lib/esm/nip11.js +18 -0
  428. package/node_modules/nostr-tools/lib/esm/nip11.js.map +7 -0
  429. package/node_modules/nostr-tools/lib/esm/nip13.js +62 -0
  430. package/node_modules/nostr-tools/lib/esm/nip13.js.map +7 -0
  431. package/node_modules/nostr-tools/lib/esm/nip17.js +320 -0
  432. package/node_modules/nostr-tools/lib/esm/nip17.js.map +7 -0
  433. package/node_modules/nostr-tools/lib/esm/nip18.js +165 -0
  434. package/node_modules/nostr-tools/lib/esm/nip18.js.map +7 -0
  435. package/node_modules/nostr-tools/lib/esm/nip19.js +196 -0
  436. package/node_modules/nostr-tools/lib/esm/nip19.js.map +7 -0
  437. package/node_modules/nostr-tools/lib/esm/nip21.js +117 -0
  438. package/node_modules/nostr-tools/lib/esm/nip21.js.map +7 -0
  439. package/node_modules/nostr-tools/lib/esm/nip22.js +133 -0
  440. package/node_modules/nostr-tools/lib/esm/nip22.js.map +7 -0
  441. package/node_modules/nostr-tools/lib/esm/nip25.js +136 -0
  442. package/node_modules/nostr-tools/lib/esm/nip25.js.map +7 -0
  443. package/node_modules/nostr-tools/lib/esm/nip27.js +246 -0
  444. package/node_modules/nostr-tools/lib/esm/nip27.js.map +7 -0
  445. package/node_modules/nostr-tools/lib/esm/nip28.js +197 -0
  446. package/node_modules/nostr-tools/lib/esm/nip28.js.map +7 -0
  447. package/node_modules/nostr-tools/lib/esm/nip29.js +476 -0
  448. package/node_modules/nostr-tools/lib/esm/nip29.js.map +7 -0
  449. package/node_modules/nostr-tools/lib/esm/nip30.js +32 -0
  450. package/node_modules/nostr-tools/lib/esm/nip30.js.map +7 -0
  451. package/node_modules/nostr-tools/lib/esm/nip39.js +21 -0
  452. package/node_modules/nostr-tools/lib/esm/nip39.js.map +7 -0
  453. package/node_modules/nostr-tools/lib/esm/nip40.js +42 -0
  454. package/node_modules/nostr-tools/lib/esm/nip40.js.map +7 -0
  455. package/node_modules/nostr-tools/lib/esm/nip42.js +18 -0
  456. package/node_modules/nostr-tools/lib/esm/nip42.js.map +7 -0
  457. package/node_modules/nostr-tools/lib/esm/nip44.js +146 -0
  458. package/node_modules/nostr-tools/lib/esm/nip44.js.map +7 -0
  459. package/node_modules/nostr-tools/lib/esm/nip46.js +1432 -0
  460. package/node_modules/nostr-tools/lib/esm/nip46.js.map +7 -0
  461. package/node_modules/nostr-tools/lib/esm/nip47.js +145 -0
  462. package/node_modules/nostr-tools/lib/esm/nip47.js.map +7 -0
  463. package/node_modules/nostr-tools/lib/esm/nip49.js +56 -0
  464. package/node_modules/nostr-tools/lib/esm/nip49.js.map +7 -0
  465. package/node_modules/nostr-tools/lib/esm/nip54.js +14 -0
  466. package/node_modules/nostr-tools/lib/esm/nip54.js.map +7 -0
  467. package/node_modules/nostr-tools/lib/esm/nip55.js +82 -0
  468. package/node_modules/nostr-tools/lib/esm/nip55.js.map +7 -0
  469. package/node_modules/nostr-tools/lib/esm/nip57.js +253 -0
  470. package/node_modules/nostr-tools/lib/esm/nip57.js.map +7 -0
  471. package/node_modules/nostr-tools/lib/esm/nip58.js +94 -0
  472. package/node_modules/nostr-tools/lib/esm/nip58.js.map +7 -0
  473. package/node_modules/nostr-tools/lib/esm/nip59.js +297 -0
  474. package/node_modules/nostr-tools/lib/esm/nip59.js.map +7 -0
  475. package/node_modules/nostr-tools/lib/esm/nip75.js +47 -0
  476. package/node_modules/nostr-tools/lib/esm/nip75.js.map +7 -0
  477. package/node_modules/nostr-tools/lib/esm/nip77.js +498 -0
  478. package/node_modules/nostr-tools/lib/esm/nip77.js.map +7 -0
  479. package/node_modules/nostr-tools/lib/esm/nip94.js +119 -0
  480. package/node_modules/nostr-tools/lib/esm/nip94.js.map +7 -0
  481. package/node_modules/nostr-tools/lib/esm/nip98.js +209 -0
  482. package/node_modules/nostr-tools/lib/esm/nip98.js.map +7 -0
  483. package/node_modules/nostr-tools/lib/esm/nip99.js +130 -0
  484. package/node_modules/nostr-tools/lib/esm/nip99.js.map +7 -0
  485. package/node_modules/nostr-tools/lib/esm/nipb7.js +163 -0
  486. package/node_modules/nostr-tools/lib/esm/nipb7.js.map +7 -0
  487. package/node_modules/nostr-tools/lib/esm/pool.js +966 -0
  488. package/node_modules/nostr-tools/lib/esm/pool.js.map +7 -0
  489. package/node_modules/nostr-tools/lib/esm/pure.js +109 -0
  490. package/node_modules/nostr-tools/lib/esm/pure.js.map +7 -0
  491. package/node_modules/nostr-tools/lib/esm/references.js +187 -0
  492. package/node_modules/nostr-tools/lib/esm/references.js.map +7 -0
  493. package/node_modules/nostr-tools/lib/esm/relay.js +681 -0
  494. package/node_modules/nostr-tools/lib/esm/relay.js.map +7 -0
  495. package/node_modules/nostr-tools/lib/esm/signer.js +107 -0
  496. package/node_modules/nostr-tools/lib/esm/signer.js.map +7 -0
  497. package/node_modules/nostr-tools/lib/esm/utils.js +129 -0
  498. package/node_modules/nostr-tools/lib/esm/utils.js.map +7 -0
  499. package/node_modules/nostr-tools/lib/esm/wasm.js +82 -0
  500. package/node_modules/nostr-tools/lib/esm/wasm.js.map +7 -0
  501. package/node_modules/nostr-tools/lib/nostr.bundle.js +7336 -0
  502. package/node_modules/nostr-tools/lib/nostr.bundle.js.map +7 -0
  503. package/node_modules/nostr-tools/lib/types/abstract-pool.d.ts +60 -0
  504. package/node_modules/nostr-tools/lib/types/abstract-relay.d.ts +110 -0
  505. package/node_modules/nostr-tools/lib/types/benchmarks.d.ts +1 -0
  506. package/node_modules/nostr-tools/lib/types/core.d.ts +32 -0
  507. package/node_modules/nostr-tools/lib/types/core.test.d.ts +1 -0
  508. package/node_modules/nostr-tools/lib/types/fakejson.d.ts +6 -0
  509. package/node_modules/nostr-tools/lib/types/fakejson.test.d.ts +1 -0
  510. package/node_modules/nostr-tools/lib/types/filter.d.ts +19 -0
  511. package/node_modules/nostr-tools/lib/types/filter.test.d.ts +1 -0
  512. package/node_modules/nostr-tools/lib/types/helpers.d.ts +2 -0
  513. package/node_modules/nostr-tools/lib/types/index.d.ts +31 -0
  514. package/node_modules/nostr-tools/lib/types/kinds.d.ts +200 -0
  515. package/node_modules/nostr-tools/lib/types/kinds.test.d.ts +1 -0
  516. package/node_modules/nostr-tools/lib/types/nip04.d.ts +2 -0
  517. package/node_modules/nostr-tools/lib/types/nip04.test.d.ts +1 -0
  518. package/node_modules/nostr-tools/lib/types/nip05.d.ts +17 -0
  519. package/node_modules/nostr-tools/lib/types/nip05.test.d.ts +1 -0
  520. package/node_modules/nostr-tools/lib/types/nip06.d.ts +15 -0
  521. package/node_modules/nostr-tools/lib/types/nip06.test.d.ts +1 -0
  522. package/node_modules/nostr-tools/lib/types/nip07.d.ts +13 -0
  523. package/node_modules/nostr-tools/lib/types/nip10.d.ts +24 -0
  524. package/node_modules/nostr-tools/lib/types/nip10.test.d.ts +1 -0
  525. package/node_modules/nostr-tools/lib/types/nip11.d.ts +266 -0
  526. package/node_modules/nostr-tools/lib/types/nip11.test.d.ts +1 -0
  527. package/node_modules/nostr-tools/lib/types/nip13.d.ts +8 -0
  528. package/node_modules/nostr-tools/lib/types/nip13.test.d.ts +1 -0
  529. package/node_modules/nostr-tools/lib/types/nip17.d.ts +15 -0
  530. package/node_modules/nostr-tools/lib/types/nip17.test.d.ts +1 -0
  531. package/node_modules/nostr-tools/lib/types/nip18.d.ts +22 -0
  532. package/node_modules/nostr-tools/lib/types/nip18.test.d.ts +1 -0
  533. package/node_modules/nostr-tools/lib/types/nip19.d.ts +81 -0
  534. package/node_modules/nostr-tools/lib/types/nip19.test.d.ts +1 -0
  535. package/node_modules/nostr-tools/lib/types/nip21.d.ts +34 -0
  536. package/node_modules/nostr-tools/lib/types/nip21.test.d.ts +1 -0
  537. package/node_modules/nostr-tools/lib/types/nip22.d.ts +36 -0
  538. package/node_modules/nostr-tools/lib/types/nip22.test.d.ts +1 -0
  539. package/node_modules/nostr-tools/lib/types/nip25.d.ts +15 -0
  540. package/node_modules/nostr-tools/lib/types/nip25.test.d.ts +1 -0
  541. package/node_modules/nostr-tools/lib/types/nip27.d.ts +32 -0
  542. package/node_modules/nostr-tools/lib/types/nip27.test.d.ts +1 -0
  543. package/node_modules/nostr-tools/lib/types/nip28.d.ts +46 -0
  544. package/node_modules/nostr-tools/lib/types/nip28.test.d.ts +1 -0
  545. package/node_modules/nostr-tools/lib/types/nip29.d.ts +265 -0
  546. package/node_modules/nostr-tools/lib/types/nip30.d.ts +22 -0
  547. package/node_modules/nostr-tools/lib/types/nip30.test.d.ts +1 -0
  548. package/node_modules/nostr-tools/lib/types/nip39.d.ts +2 -0
  549. package/node_modules/nostr-tools/lib/types/nip39.test.d.ts +1 -0
  550. package/node_modules/nostr-tools/lib/types/nip40.d.ts +10 -0
  551. package/node_modules/nostr-tools/lib/types/nip40.test.d.ts +1 -0
  552. package/node_modules/nostr-tools/lib/types/nip42.d.ts +5 -0
  553. package/node_modules/nostr-tools/lib/types/nip42.test.d.ts +1 -0
  554. package/node_modules/nostr-tools/lib/types/nip44.d.ts +18 -0
  555. package/node_modules/nostr-tools/lib/types/nip44.test.d.ts +1 -0
  556. package/node_modules/nostr-tools/lib/types/nip46.d.ts +119 -0
  557. package/node_modules/nostr-tools/lib/types/nip47.d.ts +11 -0
  558. package/node_modules/nostr-tools/lib/types/nip47.test.d.ts +1 -0
  559. package/node_modules/nostr-tools/lib/types/nip49.d.ts +3 -0
  560. package/node_modules/nostr-tools/lib/types/nip49.test.d.ts +1 -0
  561. package/node_modules/nostr-tools/lib/types/nip54.d.ts +1 -0
  562. package/node_modules/nostr-tools/lib/types/nip54.test.d.ts +1 -0
  563. package/node_modules/nostr-tools/lib/types/nip55.d.ts +30 -0
  564. package/node_modules/nostr-tools/lib/types/nip55.test.d.ts +1 -0
  565. package/node_modules/nostr-tools/lib/types/nip57.d.ts +25 -0
  566. package/node_modules/nostr-tools/lib/types/nip57.test.d.ts +1 -0
  567. package/node_modules/nostr-tools/lib/types/nip58.d.ts +134 -0
  568. package/node_modules/nostr-tools/lib/types/nip58.test.d.ts +1 -0
  569. package/node_modules/nostr-tools/lib/types/nip59.d.ts +12 -0
  570. package/node_modules/nostr-tools/lib/types/nip59.test.d.ts +1 -0
  571. package/node_modules/nostr-tools/lib/types/nip75.d.ts +61 -0
  572. package/node_modules/nostr-tools/lib/types/nip75.test.d.ts +1 -0
  573. package/node_modules/nostr-tools/lib/types/nip77.d.ts +102 -0
  574. package/node_modules/nostr-tools/lib/types/nip77.test.d.ts +1 -0
  575. package/node_modules/nostr-tools/lib/types/nip94.d.ts +87 -0
  576. package/node_modules/nostr-tools/lib/types/nip94.test.d.ts +1 -0
  577. package/node_modules/nostr-tools/lib/types/nip98.d.ts +74 -0
  578. package/node_modules/nostr-tools/lib/types/nip98.test.d.ts +1 -0
  579. package/node_modules/nostr-tools/lib/types/nip99.d.ts +92 -0
  580. package/node_modules/nostr-tools/lib/types/nip99.test.d.ts +1 -0
  581. package/node_modules/nostr-tools/lib/types/nipb7.d.ts +23 -0
  582. package/node_modules/nostr-tools/lib/types/nipb7.test.d.ts +1 -0
  583. package/node_modules/nostr-tools/lib/types/pool.d.ts +6 -0
  584. package/node_modules/nostr-tools/lib/types/pool.test.d.ts +1 -0
  585. package/node_modules/nostr-tools/lib/types/pure.d.ts +8 -0
  586. package/node_modules/nostr-tools/lib/types/pure.test.d.ts +1 -0
  587. package/node_modules/nostr-tools/lib/types/references.d.ts +10 -0
  588. package/node_modules/nostr-tools/lib/types/references.test.d.ts +1 -0
  589. package/node_modules/nostr-tools/lib/types/relay.d.ts +11 -0
  590. package/node_modules/nostr-tools/lib/types/relay.test.d.ts +1 -0
  591. package/node_modules/nostr-tools/lib/types/signer.d.ts +11 -0
  592. package/node_modules/nostr-tools/lib/types/test-helpers.d.ts +14 -0
  593. package/node_modules/nostr-tools/lib/types/utils.d.ts +9 -0
  594. package/node_modules/nostr-tools/lib/types/utils.test.d.ts +1 -0
  595. package/node_modules/nostr-tools/lib/types/wasm.d.ts +8 -0
  596. package/node_modules/nostr-tools/package.json +330 -0
  597. package/node_modules/nostr-wasm/README.md +91 -0
  598. package/node_modules/nostr-wasm/dist/api/emsimp.d.ts +3 -0
  599. package/node_modules/nostr-wasm/dist/api/nostr.d.ts +45 -0
  600. package/node_modules/nostr-wasm/dist/api/secp256k1-types.d.ts +124 -0
  601. package/node_modules/nostr-wasm/dist/api/secp256k1.d.ts +41 -0
  602. package/node_modules/nostr-wasm/dist/api/types.d.ts +124 -0
  603. package/node_modules/nostr-wasm/dist/api/wasm-env.d.ts +3 -0
  604. package/node_modules/nostr-wasm/dist/gen/wasm.d.ts +27 -0
  605. package/node_modules/nostr-wasm/dist/generate.d.ts +1 -0
  606. package/node_modules/nostr-wasm/dist/gzipped.d.ts +3 -0
  607. package/node_modules/nostr-wasm/dist/gzipped.js +44 -0
  608. package/node_modules/nostr-wasm/dist/headless.d.ts +2 -0
  609. package/node_modules/nostr-wasm/dist/main.d.ts +3 -0
  610. package/node_modules/nostr-wasm/dist/main.js +9 -0
  611. package/node_modules/nostr-wasm/dist/nostr.js +248 -0
  612. package/node_modules/nostr-wasm/dist/secp256k1.js +230 -0
  613. package/node_modules/nostr-wasm/dist/types.d.ts +22 -0
  614. package/node_modules/nostr-wasm/package.json +37 -0
  615. package/node_modules/nostr-wasm/public/out/secp256k1.js +1 -0
  616. package/node_modules/nostr-wasm/public/out/secp256k1.wasm +0 -0
  617. package/node_modules/zod/LICENSE +21 -0
  618. package/node_modules/zod/README.md +191 -0
  619. package/node_modules/zod/index.cjs +33 -0
  620. package/node_modules/zod/index.d.cts +4 -0
  621. package/node_modules/zod/index.d.ts +4 -0
  622. package/node_modules/zod/index.js +4 -0
  623. package/node_modules/zod/locales/index.cjs +17 -0
  624. package/node_modules/zod/locales/index.d.cts +1 -0
  625. package/node_modules/zod/locales/index.d.ts +1 -0
  626. package/node_modules/zod/locales/index.js +1 -0
  627. package/node_modules/zod/locales/package.json +7 -0
  628. package/node_modules/zod/mini/index.cjs +32 -0
  629. package/node_modules/zod/mini/index.d.cts +3 -0
  630. package/node_modules/zod/mini/index.d.ts +3 -0
  631. package/node_modules/zod/mini/index.js +3 -0
  632. package/node_modules/zod/mini/package.json +7 -0
  633. package/node_modules/zod/package.json +135 -0
  634. package/node_modules/zod/src/index.ts +4 -0
  635. package/node_modules/zod/src/locales/index.ts +1 -0
  636. package/node_modules/zod/src/mini/index.ts +3 -0
  637. package/node_modules/zod/src/v3/ZodError.ts +330 -0
  638. package/node_modules/zod/src/v3/benchmarks/datetime.ts +58 -0
  639. package/node_modules/zod/src/v3/benchmarks/discriminatedUnion.ts +80 -0
  640. package/node_modules/zod/src/v3/benchmarks/index.ts +59 -0
  641. package/node_modules/zod/src/v3/benchmarks/ipv4.ts +57 -0
  642. package/node_modules/zod/src/v3/benchmarks/object.ts +69 -0
  643. package/node_modules/zod/src/v3/benchmarks/primitives.ts +162 -0
  644. package/node_modules/zod/src/v3/benchmarks/realworld.ts +63 -0
  645. package/node_modules/zod/src/v3/benchmarks/string.ts +55 -0
  646. package/node_modules/zod/src/v3/benchmarks/union.ts +80 -0
  647. package/node_modules/zod/src/v3/errors.ts +13 -0
  648. package/node_modules/zod/src/v3/external.ts +6 -0
  649. package/node_modules/zod/src/v3/helpers/enumUtil.ts +17 -0
  650. package/node_modules/zod/src/v3/helpers/errorUtil.ts +8 -0
  651. package/node_modules/zod/src/v3/helpers/parseUtil.ts +176 -0
  652. package/node_modules/zod/src/v3/helpers/partialUtil.ts +34 -0
  653. package/node_modules/zod/src/v3/helpers/typeAliases.ts +2 -0
  654. package/node_modules/zod/src/v3/helpers/util.ts +224 -0
  655. package/node_modules/zod/src/v3/index.ts +4 -0
  656. package/node_modules/zod/src/v3/locales/en.ts +124 -0
  657. package/node_modules/zod/src/v3/standard-schema.ts +113 -0
  658. package/node_modules/zod/src/v3/tests/Mocker.ts +54 -0
  659. package/node_modules/zod/src/v3/tests/all-errors.test.ts +157 -0
  660. package/node_modules/zod/src/v3/tests/anyunknown.test.ts +28 -0
  661. package/node_modules/zod/src/v3/tests/array.test.ts +71 -0
  662. package/node_modules/zod/src/v3/tests/async-parsing.test.ts +388 -0
  663. package/node_modules/zod/src/v3/tests/async-refinements.test.ts +46 -0
  664. package/node_modules/zod/src/v3/tests/base.test.ts +29 -0
  665. package/node_modules/zod/src/v3/tests/bigint.test.ts +55 -0
  666. package/node_modules/zod/src/v3/tests/branded.test.ts +53 -0
  667. package/node_modules/zod/src/v3/tests/catch.test.ts +220 -0
  668. package/node_modules/zod/src/v3/tests/coerce.test.ts +133 -0
  669. package/node_modules/zod/src/v3/tests/complex.test.ts +70 -0
  670. package/node_modules/zod/src/v3/tests/custom.test.ts +31 -0
  671. package/node_modules/zod/src/v3/tests/date.test.ts +32 -0
  672. package/node_modules/zod/src/v3/tests/deepmasking.test.ts +186 -0
  673. package/node_modules/zod/src/v3/tests/default.test.ts +112 -0
  674. package/node_modules/zod/src/v3/tests/description.test.ts +33 -0
  675. package/node_modules/zod/src/v3/tests/discriminated-unions.test.ts +315 -0
  676. package/node_modules/zod/src/v3/tests/enum.test.ts +80 -0
  677. package/node_modules/zod/src/v3/tests/error.test.ts +551 -0
  678. package/node_modules/zod/src/v3/tests/firstparty.test.ts +87 -0
  679. package/node_modules/zod/src/v3/tests/firstpartyschematypes.test.ts +21 -0
  680. package/node_modules/zod/src/v3/tests/function.test.ts +261 -0
  681. package/node_modules/zod/src/v3/tests/generics.test.ts +48 -0
  682. package/node_modules/zod/src/v3/tests/instanceof.test.ts +37 -0
  683. package/node_modules/zod/src/v3/tests/intersection.test.ts +110 -0
  684. package/node_modules/zod/src/v3/tests/language-server.source.ts +76 -0
  685. package/node_modules/zod/src/v3/tests/language-server.test.ts +207 -0
  686. package/node_modules/zod/src/v3/tests/literal.test.ts +36 -0
  687. package/node_modules/zod/src/v3/tests/map.test.ts +110 -0
  688. package/node_modules/zod/src/v3/tests/masking.test.ts +4 -0
  689. package/node_modules/zod/src/v3/tests/mocker.test.ts +19 -0
  690. package/node_modules/zod/src/v3/tests/nan.test.ts +24 -0
  691. package/node_modules/zod/src/v3/tests/nativeEnum.test.ts +87 -0
  692. package/node_modules/zod/src/v3/tests/nullable.test.ts +42 -0
  693. package/node_modules/zod/src/v3/tests/number.test.ts +176 -0
  694. package/node_modules/zod/src/v3/tests/object-augmentation.test.ts +29 -0
  695. package/node_modules/zod/src/v3/tests/object-in-es5-env.test.ts +29 -0
  696. package/node_modules/zod/src/v3/tests/object.test.ts +434 -0
  697. package/node_modules/zod/src/v3/tests/optional.test.ts +42 -0
  698. package/node_modules/zod/src/v3/tests/parseUtil.test.ts +23 -0
  699. package/node_modules/zod/src/v3/tests/parser.test.ts +41 -0
  700. package/node_modules/zod/src/v3/tests/partials.test.ts +243 -0
  701. package/node_modules/zod/src/v3/tests/pickomit.test.ts +111 -0
  702. package/node_modules/zod/src/v3/tests/pipeline.test.ts +29 -0
  703. package/node_modules/zod/src/v3/tests/preprocess.test.ts +186 -0
  704. package/node_modules/zod/src/v3/tests/primitive.test.ts +440 -0
  705. package/node_modules/zod/src/v3/tests/promise.test.ts +90 -0
  706. package/node_modules/zod/src/v3/tests/readonly.test.ts +194 -0
  707. package/node_modules/zod/src/v3/tests/record.test.ts +171 -0
  708. package/node_modules/zod/src/v3/tests/recursive.test.ts +197 -0
  709. package/node_modules/zod/src/v3/tests/refine.test.ts +313 -0
  710. package/node_modules/zod/src/v3/tests/safeparse.test.ts +27 -0
  711. package/node_modules/zod/src/v3/tests/set.test.ts +142 -0
  712. package/node_modules/zod/src/v3/tests/standard-schema.test.ts +83 -0
  713. package/node_modules/zod/src/v3/tests/string.test.ts +916 -0
  714. package/node_modules/zod/src/v3/tests/transformer.test.ts +233 -0
  715. package/node_modules/zod/src/v3/tests/tuple.test.ts +90 -0
  716. package/node_modules/zod/src/v3/tests/unions.test.ts +57 -0
  717. package/node_modules/zod/src/v3/tests/validations.test.ts +133 -0
  718. package/node_modules/zod/src/v3/tests/void.test.ts +15 -0
  719. package/node_modules/zod/src/v3/types.ts +5138 -0
  720. package/node_modules/zod/src/v4/classic/checks.ts +32 -0
  721. package/node_modules/zod/src/v4/classic/coerce.ts +27 -0
  722. package/node_modules/zod/src/v4/classic/compat.ts +70 -0
  723. package/node_modules/zod/src/v4/classic/errors.ts +82 -0
  724. package/node_modules/zod/src/v4/classic/external.ts +52 -0
  725. package/node_modules/zod/src/v4/classic/from-json-schema.ts +659 -0
  726. package/node_modules/zod/src/v4/classic/index.ts +5 -0
  727. package/node_modules/zod/src/v4/classic/iso.ts +90 -0
  728. package/node_modules/zod/src/v4/classic/parse.ts +82 -0
  729. package/node_modules/zod/src/v4/classic/schemas.ts +2672 -0
  730. package/node_modules/zod/src/v4/classic/tests/anyunknown.test.ts +26 -0
  731. package/node_modules/zod/src/v4/classic/tests/apply.test.ts +59 -0
  732. package/node_modules/zod/src/v4/classic/tests/array.test.ts +264 -0
  733. package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +216 -0
  734. package/node_modules/zod/src/v4/classic/tests/async-parsing.test.ts +381 -0
  735. package/node_modules/zod/src/v4/classic/tests/async-refinements.test.ts +68 -0
  736. package/node_modules/zod/src/v4/classic/tests/base.test.ts +7 -0
  737. package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +54 -0
  738. package/node_modules/zod/src/v4/classic/tests/brand.test.ts +106 -0
  739. package/node_modules/zod/src/v4/classic/tests/catch.test.ts +326 -0
  740. package/node_modules/zod/src/v4/classic/tests/coalesce.test.ts +20 -0
  741. package/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +573 -0
  742. package/node_modules/zod/src/v4/classic/tests/codec.test.ts +703 -0
  743. package/node_modules/zod/src/v4/classic/tests/coerce.test.ts +160 -0
  744. package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +374 -0
  745. package/node_modules/zod/src/v4/classic/tests/custom.test.ts +40 -0
  746. package/node_modules/zod/src/v4/classic/tests/date.test.ts +62 -0
  747. package/node_modules/zod/src/v4/classic/tests/datetime.test.ts +302 -0
  748. package/node_modules/zod/src/v4/classic/tests/default.test.ts +409 -0
  749. package/node_modules/zod/src/v4/classic/tests/describe-meta-checks.test.ts +27 -0
  750. package/node_modules/zod/src/v4/classic/tests/description.test.ts +32 -0
  751. package/node_modules/zod/src/v4/classic/tests/detached-methods.test.ts +197 -0
  752. package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +694 -0
  753. package/node_modules/zod/src/v4/classic/tests/enum.test.ts +285 -0
  754. package/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +807 -0
  755. package/node_modules/zod/src/v4/classic/tests/error.test.ts +711 -0
  756. package/node_modules/zod/src/v4/classic/tests/file.test.ts +96 -0
  757. package/node_modules/zod/src/v4/classic/tests/firstparty.test.ts +179 -0
  758. package/node_modules/zod/src/v4/classic/tests/fix-json-issue.test.ts +26 -0
  759. package/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +895 -0
  760. package/node_modules/zod/src/v4/classic/tests/function.test.ts +360 -0
  761. package/node_modules/zod/src/v4/classic/tests/generics.test.ts +72 -0
  762. package/node_modules/zod/src/v4/classic/tests/global-config.test.ts +39 -0
  763. package/node_modules/zod/src/v4/classic/tests/hash.test.ts +68 -0
  764. package/node_modules/zod/src/v4/classic/tests/index.test.ts +939 -0
  765. package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +60 -0
  766. package/node_modules/zod/src/v4/classic/tests/intersection.test.ts +198 -0
  767. package/node_modules/zod/src/v4/classic/tests/jitless-allows-eval.test.ts +46 -0
  768. package/node_modules/zod/src/v4/classic/tests/json.test.ts +109 -0
  769. package/node_modules/zod/src/v4/classic/tests/lazy.test.ts +227 -0
  770. package/node_modules/zod/src/v4/classic/tests/literal.test.ts +117 -0
  771. package/node_modules/zod/src/v4/classic/tests/locales_ka.test.ts +29 -0
  772. package/node_modules/zod/src/v4/classic/tests/locales_ro.test.ts +24 -0
  773. package/node_modules/zod/src/v4/classic/tests/map.test.ts +330 -0
  774. package/node_modules/zod/src/v4/classic/tests/nan.test.ts +21 -0
  775. package/node_modules/zod/src/v4/classic/tests/nested-refine.test.ts +168 -0
  776. package/node_modules/zod/src/v4/classic/tests/nonoptional.test.ts +101 -0
  777. package/node_modules/zod/src/v4/classic/tests/nullable.test.ts +22 -0
  778. package/node_modules/zod/src/v4/classic/tests/number.test.ts +325 -0
  779. package/node_modules/zod/src/v4/classic/tests/object.test.ts +717 -0
  780. package/node_modules/zod/src/v4/classic/tests/optional.test.ts +333 -0
  781. package/node_modules/zod/src/v4/classic/tests/partial.test.ts +450 -0
  782. package/node_modules/zod/src/v4/classic/tests/pickomit.test.ts +211 -0
  783. package/node_modules/zod/src/v4/classic/tests/pipe.test.ts +101 -0
  784. package/node_modules/zod/src/v4/classic/tests/prefault.test.ts +74 -0
  785. package/node_modules/zod/src/v4/classic/tests/preprocess-types.test.ts +26 -0
  786. package/node_modules/zod/src/v4/classic/tests/preprocess.test.ts +351 -0
  787. package/node_modules/zod/src/v4/classic/tests/primitive.test.ts +175 -0
  788. package/node_modules/zod/src/v4/classic/tests/promise.test.ts +81 -0
  789. package/node_modules/zod/src/v4/classic/tests/prototypes.test.ts +23 -0
  790. package/node_modules/zod/src/v4/classic/tests/readonly.test.ts +252 -0
  791. package/node_modules/zod/src/v4/classic/tests/record.test.ts +717 -0
  792. package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +631 -0
  793. package/node_modules/zod/src/v4/classic/tests/refine.test.ts +633 -0
  794. package/node_modules/zod/src/v4/classic/tests/registries.test.ts +243 -0
  795. package/node_modules/zod/src/v4/classic/tests/set.test.ts +181 -0
  796. package/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +134 -0
  797. package/node_modules/zod/src/v4/classic/tests/string-formats.test.ts +125 -0
  798. package/node_modules/zod/src/v4/classic/tests/string.test.ts +1224 -0
  799. package/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +106 -0
  800. package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +771 -0
  801. package/node_modules/zod/src/v4/classic/tests/to-json-schema-methods.test.ts +438 -0
  802. package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +3125 -0
  803. package/node_modules/zod/src/v4/classic/tests/transform.test.ts +378 -0
  804. package/node_modules/zod/src/v4/classic/tests/tuple.test.ts +496 -0
  805. package/node_modules/zod/src/v4/classic/tests/union.test.ts +273 -0
  806. package/node_modules/zod/src/v4/classic/tests/url.test.ts +13 -0
  807. package/node_modules/zod/src/v4/classic/tests/validations.test.ts +283 -0
  808. package/node_modules/zod/src/v4/classic/tests/void.test.ts +12 -0
  809. package/node_modules/zod/src/v4/core/api.ts +1823 -0
  810. package/node_modules/zod/src/v4/core/checks.ts +1293 -0
  811. package/node_modules/zod/src/v4/core/config.ts +15 -0
  812. package/node_modules/zod/src/v4/core/core.ts +153 -0
  813. package/node_modules/zod/src/v4/core/doc.ts +44 -0
  814. package/node_modules/zod/src/v4/core/errors.ts +455 -0
  815. package/node_modules/zod/src/v4/core/index.ts +16 -0
  816. package/node_modules/zod/src/v4/core/json-schema-generator.ts +126 -0
  817. package/node_modules/zod/src/v4/core/json-schema-processors.ts +666 -0
  818. package/node_modules/zod/src/v4/core/json-schema.ts +147 -0
  819. package/node_modules/zod/src/v4/core/parse.ts +195 -0
  820. package/node_modules/zod/src/v4/core/regexes.ts +190 -0
  821. package/node_modules/zod/src/v4/core/registries.ts +105 -0
  822. package/node_modules/zod/src/v4/core/schemas.ts +4730 -0
  823. package/node_modules/zod/src/v4/core/standard-schema.ts +159 -0
  824. package/node_modules/zod/src/v4/core/tests/extend.test.ts +59 -0
  825. package/node_modules/zod/src/v4/core/tests/index.test.ts +46 -0
  826. package/node_modules/zod/src/v4/core/tests/locales/be.test.ts +124 -0
  827. package/node_modules/zod/src/v4/core/tests/locales/el.test.ts +215 -0
  828. package/node_modules/zod/src/v4/core/tests/locales/en.test.ts +22 -0
  829. package/node_modules/zod/src/v4/core/tests/locales/es.test.ts +181 -0
  830. package/node_modules/zod/src/v4/core/tests/locales/fr.test.ts +72 -0
  831. package/node_modules/zod/src/v4/core/tests/locales/he.test.ts +379 -0
  832. package/node_modules/zod/src/v4/core/tests/locales/hr.test.ts +163 -0
  833. package/node_modules/zod/src/v4/core/tests/locales/nl.test.ts +46 -0
  834. package/node_modules/zod/src/v4/core/tests/locales/ru.test.ts +128 -0
  835. package/node_modules/zod/src/v4/core/tests/locales/tr.test.ts +69 -0
  836. package/node_modules/zod/src/v4/core/tests/locales/uz.test.ts +105 -0
  837. package/node_modules/zod/src/v4/core/tests/record-constructor.test.ts +125 -0
  838. package/node_modules/zod/src/v4/core/tests/recursive-tuples.test.ts +45 -0
  839. package/node_modules/zod/src/v4/core/to-json-schema.ts +622 -0
  840. package/node_modules/zod/src/v4/core/util.ts +983 -0
  841. package/node_modules/zod/src/v4/core/versions.ts +5 -0
  842. package/node_modules/zod/src/v4/core/zsf.ts +323 -0
  843. package/node_modules/zod/src/v4/index.ts +4 -0
  844. package/node_modules/zod/src/v4/locales/ar.ts +115 -0
  845. package/node_modules/zod/src/v4/locales/az.ts +111 -0
  846. package/node_modules/zod/src/v4/locales/be.ts +176 -0
  847. package/node_modules/zod/src/v4/locales/bg.ts +128 -0
  848. package/node_modules/zod/src/v4/locales/ca.ts +116 -0
  849. package/node_modules/zod/src/v4/locales/cs.ts +118 -0
  850. package/node_modules/zod/src/v4/locales/da.ts +123 -0
  851. package/node_modules/zod/src/v4/locales/de.ts +116 -0
  852. package/node_modules/zod/src/v4/locales/el.ts +121 -0
  853. package/node_modules/zod/src/v4/locales/en.ts +123 -0
  854. package/node_modules/zod/src/v4/locales/eo.ts +118 -0
  855. package/node_modules/zod/src/v4/locales/es.ts +141 -0
  856. package/node_modules/zod/src/v4/locales/fa.ts +126 -0
  857. package/node_modules/zod/src/v4/locales/fi.ts +121 -0
  858. package/node_modules/zod/src/v4/locales/fr-CA.ts +116 -0
  859. package/node_modules/zod/src/v4/locales/fr.ts +132 -0
  860. package/node_modules/zod/src/v4/locales/he.ts +246 -0
  861. package/node_modules/zod/src/v4/locales/hr.ts +131 -0
  862. package/node_modules/zod/src/v4/locales/hu.ts +117 -0
  863. package/node_modules/zod/src/v4/locales/hy.ts +164 -0
  864. package/node_modules/zod/src/v4/locales/id.ts +115 -0
  865. package/node_modules/zod/src/v4/locales/index.ts +52 -0
  866. package/node_modules/zod/src/v4/locales/is.ts +119 -0
  867. package/node_modules/zod/src/v4/locales/it.ts +116 -0
  868. package/node_modules/zod/src/v4/locales/ja.ts +114 -0
  869. package/node_modules/zod/src/v4/locales/ka.ts +123 -0
  870. package/node_modules/zod/src/v4/locales/kh.ts +7 -0
  871. package/node_modules/zod/src/v4/locales/km.ts +119 -0
  872. package/node_modules/zod/src/v4/locales/ko.ts +121 -0
  873. package/node_modules/zod/src/v4/locales/lt.ts +239 -0
  874. package/node_modules/zod/src/v4/locales/mk.ts +118 -0
  875. package/node_modules/zod/src/v4/locales/ms.ts +115 -0
  876. package/node_modules/zod/src/v4/locales/nl.ts +121 -0
  877. package/node_modules/zod/src/v4/locales/no.ts +116 -0
  878. package/node_modules/zod/src/v4/locales/ota.ts +117 -0
  879. package/node_modules/zod/src/v4/locales/pl.ts +118 -0
  880. package/node_modules/zod/src/v4/locales/ps.ts +126 -0
  881. package/node_modules/zod/src/v4/locales/pt.ts +116 -0
  882. package/node_modules/zod/src/v4/locales/ro.ts +129 -0
  883. package/node_modules/zod/src/v4/locales/ru.ts +176 -0
  884. package/node_modules/zod/src/v4/locales/sl.ts +118 -0
  885. package/node_modules/zod/src/v4/locales/sv.ts +119 -0
  886. package/node_modules/zod/src/v4/locales/ta.ts +118 -0
  887. package/node_modules/zod/src/v4/locales/th.ts +119 -0
  888. package/node_modules/zod/src/v4/locales/tr.ts +111 -0
  889. package/node_modules/zod/src/v4/locales/ua.ts +7 -0
  890. package/node_modules/zod/src/v4/locales/uk.ts +117 -0
  891. package/node_modules/zod/src/v4/locales/ur.ts +119 -0
  892. package/node_modules/zod/src/v4/locales/uz.ts +117 -0
  893. package/node_modules/zod/src/v4/locales/vi.ts +117 -0
  894. package/node_modules/zod/src/v4/locales/yo.ts +124 -0
  895. package/node_modules/zod/src/v4/locales/zh-CN.ts +116 -0
  896. package/node_modules/zod/src/v4/locales/zh-TW.ts +115 -0
  897. package/node_modules/zod/src/v4/mini/checks.ts +32 -0
  898. package/node_modules/zod/src/v4/mini/coerce.ts +27 -0
  899. package/node_modules/zod/src/v4/mini/external.ts +41 -0
  900. package/node_modules/zod/src/v4/mini/index.ts +3 -0
  901. package/node_modules/zod/src/v4/mini/iso.ts +66 -0
  902. package/node_modules/zod/src/v4/mini/parse.ts +14 -0
  903. package/node_modules/zod/src/v4/mini/schemas.ts +1947 -0
  904. package/node_modules/zod/src/v4/mini/tests/apply.test.ts +24 -0
  905. package/node_modules/zod/src/v4/mini/tests/assignability.test.ts +129 -0
  906. package/node_modules/zod/src/v4/mini/tests/brand.test.ts +94 -0
  907. package/node_modules/zod/src/v4/mini/tests/checks.test.ts +144 -0
  908. package/node_modules/zod/src/v4/mini/tests/codec.test.ts +548 -0
  909. package/node_modules/zod/src/v4/mini/tests/computed.test.ts +36 -0
  910. package/node_modules/zod/src/v4/mini/tests/error.test.ts +22 -0
  911. package/node_modules/zod/src/v4/mini/tests/functions.test.ts +5 -0
  912. package/node_modules/zod/src/v4/mini/tests/index.test.ts +993 -0
  913. package/node_modules/zod/src/v4/mini/tests/number.test.ts +95 -0
  914. package/node_modules/zod/src/v4/mini/tests/object.test.ts +227 -0
  915. package/node_modules/zod/src/v4/mini/tests/prototypes.test.ts +43 -0
  916. package/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +325 -0
  917. package/node_modules/zod/src/v4/mini/tests/standard-schema.test.ts +50 -0
  918. package/node_modules/zod/src/v4/mini/tests/string.test.ts +352 -0
  919. package/node_modules/zod/src/v4-mini/index.ts +3 -0
  920. package/node_modules/zod/v3/ZodError.cjs +138 -0
  921. package/node_modules/zod/v3/ZodError.d.cts +164 -0
  922. package/node_modules/zod/v3/ZodError.d.ts +164 -0
  923. package/node_modules/zod/v3/ZodError.js +133 -0
  924. package/node_modules/zod/v3/errors.cjs +17 -0
  925. package/node_modules/zod/v3/errors.d.cts +5 -0
  926. package/node_modules/zod/v3/errors.d.ts +5 -0
  927. package/node_modules/zod/v3/errors.js +9 -0
  928. package/node_modules/zod/v3/external.cjs +22 -0
  929. package/node_modules/zod/v3/external.d.cts +6 -0
  930. package/node_modules/zod/v3/external.d.ts +6 -0
  931. package/node_modules/zod/v3/external.js +6 -0
  932. package/node_modules/zod/v3/helpers/enumUtil.cjs +2 -0
  933. package/node_modules/zod/v3/helpers/enumUtil.d.cts +8 -0
  934. package/node_modules/zod/v3/helpers/enumUtil.d.ts +8 -0
  935. package/node_modules/zod/v3/helpers/enumUtil.js +1 -0
  936. package/node_modules/zod/v3/helpers/errorUtil.cjs +9 -0
  937. package/node_modules/zod/v3/helpers/errorUtil.d.cts +9 -0
  938. package/node_modules/zod/v3/helpers/errorUtil.d.ts +9 -0
  939. package/node_modules/zod/v3/helpers/errorUtil.js +6 -0
  940. package/node_modules/zod/v3/helpers/parseUtil.cjs +124 -0
  941. package/node_modules/zod/v3/helpers/parseUtil.d.cts +78 -0
  942. package/node_modules/zod/v3/helpers/parseUtil.d.ts +78 -0
  943. package/node_modules/zod/v3/helpers/parseUtil.js +109 -0
  944. package/node_modules/zod/v3/helpers/partialUtil.cjs +2 -0
  945. package/node_modules/zod/v3/helpers/partialUtil.d.cts +8 -0
  946. package/node_modules/zod/v3/helpers/partialUtil.d.ts +8 -0
  947. package/node_modules/zod/v3/helpers/partialUtil.js +1 -0
  948. package/node_modules/zod/v3/helpers/typeAliases.cjs +2 -0
  949. package/node_modules/zod/v3/helpers/typeAliases.d.cts +2 -0
  950. package/node_modules/zod/v3/helpers/typeAliases.d.ts +2 -0
  951. package/node_modules/zod/v3/helpers/typeAliases.js +1 -0
  952. package/node_modules/zod/v3/helpers/util.cjs +137 -0
  953. package/node_modules/zod/v3/helpers/util.d.cts +85 -0
  954. package/node_modules/zod/v3/helpers/util.d.ts +85 -0
  955. package/node_modules/zod/v3/helpers/util.js +133 -0
  956. package/node_modules/zod/v3/index.cjs +33 -0
  957. package/node_modules/zod/v3/index.d.cts +4 -0
  958. package/node_modules/zod/v3/index.d.ts +4 -0
  959. package/node_modules/zod/v3/index.js +4 -0
  960. package/node_modules/zod/v3/locales/en.cjs +112 -0
  961. package/node_modules/zod/v3/locales/en.d.cts +3 -0
  962. package/node_modules/zod/v3/locales/en.d.ts +3 -0
  963. package/node_modules/zod/v3/locales/en.js +109 -0
  964. package/node_modules/zod/v3/package.json +7 -0
  965. package/node_modules/zod/v3/standard-schema.cjs +2 -0
  966. package/node_modules/zod/v3/standard-schema.d.cts +102 -0
  967. package/node_modules/zod/v3/standard-schema.d.ts +102 -0
  968. package/node_modules/zod/v3/standard-schema.js +1 -0
  969. package/node_modules/zod/v3/types.cjs +3777 -0
  970. package/node_modules/zod/v3/types.d.cts +1034 -0
  971. package/node_modules/zod/v3/types.d.ts +1034 -0
  972. package/node_modules/zod/v3/types.js +3695 -0
  973. package/node_modules/zod/v4/classic/checks.cjs +33 -0
  974. package/node_modules/zod/v4/classic/checks.d.cts +1 -0
  975. package/node_modules/zod/v4/classic/checks.d.ts +1 -0
  976. package/node_modules/zod/v4/classic/checks.js +1 -0
  977. package/node_modules/zod/v4/classic/coerce.cjs +47 -0
  978. package/node_modules/zod/v4/classic/coerce.d.cts +17 -0
  979. package/node_modules/zod/v4/classic/coerce.d.ts +17 -0
  980. package/node_modules/zod/v4/classic/coerce.js +17 -0
  981. package/node_modules/zod/v4/classic/compat.cjs +61 -0
  982. package/node_modules/zod/v4/classic/compat.d.cts +50 -0
  983. package/node_modules/zod/v4/classic/compat.d.ts +50 -0
  984. package/node_modules/zod/v4/classic/compat.js +31 -0
  985. package/node_modules/zod/v4/classic/errors.cjs +74 -0
  986. package/node_modules/zod/v4/classic/errors.d.cts +30 -0
  987. package/node_modules/zod/v4/classic/errors.d.ts +30 -0
  988. package/node_modules/zod/v4/classic/errors.js +48 -0
  989. package/node_modules/zod/v4/classic/external.cjs +73 -0
  990. package/node_modules/zod/v4/classic/external.d.cts +16 -0
  991. package/node_modules/zod/v4/classic/external.d.ts +16 -0
  992. package/node_modules/zod/v4/classic/external.js +20 -0
  993. package/node_modules/zod/v4/classic/from-json-schema.cjs +625 -0
  994. package/node_modules/zod/v4/classic/from-json-schema.d.cts +12 -0
  995. package/node_modules/zod/v4/classic/from-json-schema.d.ts +12 -0
  996. package/node_modules/zod/v4/classic/from-json-schema.js +599 -0
  997. package/node_modules/zod/v4/classic/index.cjs +33 -0
  998. package/node_modules/zod/v4/classic/index.d.cts +4 -0
  999. package/node_modules/zod/v4/classic/index.d.ts +4 -0
  1000. package/node_modules/zod/v4/classic/index.js +4 -0
  1001. package/node_modules/zod/v4/classic/iso.cjs +60 -0
  1002. package/node_modules/zod/v4/classic/iso.d.cts +22 -0
  1003. package/node_modules/zod/v4/classic/iso.d.ts +22 -0
  1004. package/node_modules/zod/v4/classic/iso.js +30 -0
  1005. package/node_modules/zod/v4/classic/package.json +7 -0
  1006. package/node_modules/zod/v4/classic/parse.cjs +41 -0
  1007. package/node_modules/zod/v4/classic/parse.d.cts +31 -0
  1008. package/node_modules/zod/v4/classic/parse.d.ts +31 -0
  1009. package/node_modules/zod/v4/classic/parse.js +15 -0
  1010. package/node_modules/zod/v4/classic/schemas.cjs +1511 -0
  1011. package/node_modules/zod/v4/classic/schemas.d.cts +767 -0
  1012. package/node_modules/zod/v4/classic/schemas.d.ts +767 -0
  1013. package/node_modules/zod/v4/classic/schemas.js +1395 -0
  1014. package/node_modules/zod/v4/core/api.cjs +1227 -0
  1015. package/node_modules/zod/v4/core/api.d.cts +325 -0
  1016. package/node_modules/zod/v4/core/api.d.ts +325 -0
  1017. package/node_modules/zod/v4/core/api.js +1087 -0
  1018. package/node_modules/zod/v4/core/checks.cjs +601 -0
  1019. package/node_modules/zod/v4/core/checks.d.cts +278 -0
  1020. package/node_modules/zod/v4/core/checks.d.ts +278 -0
  1021. package/node_modules/zod/v4/core/checks.js +575 -0
  1022. package/node_modules/zod/v4/core/core.cjs +85 -0
  1023. package/node_modules/zod/v4/core/core.d.cts +70 -0
  1024. package/node_modules/zod/v4/core/core.d.ts +70 -0
  1025. package/node_modules/zod/v4/core/core.js +78 -0
  1026. package/node_modules/zod/v4/core/doc.cjs +39 -0
  1027. package/node_modules/zod/v4/core/doc.d.cts +14 -0
  1028. package/node_modules/zod/v4/core/doc.d.ts +14 -0
  1029. package/node_modules/zod/v4/core/doc.js +35 -0
  1030. package/node_modules/zod/v4/core/errors.cjs +216 -0
  1031. package/node_modules/zod/v4/core/errors.d.cts +221 -0
  1032. package/node_modules/zod/v4/core/errors.d.ts +221 -0
  1033. package/node_modules/zod/v4/core/errors.js +185 -0
  1034. package/node_modules/zod/v4/core/index.cjs +47 -0
  1035. package/node_modules/zod/v4/core/index.d.cts +16 -0
  1036. package/node_modules/zod/v4/core/index.d.ts +16 -0
  1037. package/node_modules/zod/v4/core/index.js +16 -0
  1038. package/node_modules/zod/v4/core/json-schema-generator.cjs +99 -0
  1039. package/node_modules/zod/v4/core/json-schema-generator.d.cts +65 -0
  1040. package/node_modules/zod/v4/core/json-schema-generator.d.ts +65 -0
  1041. package/node_modules/zod/v4/core/json-schema-generator.js +95 -0
  1042. package/node_modules/zod/v4/core/json-schema-processors.cjs +644 -0
  1043. package/node_modules/zod/v4/core/json-schema-processors.d.cts +49 -0
  1044. package/node_modules/zod/v4/core/json-schema-processors.d.ts +49 -0
  1045. package/node_modules/zod/v4/core/json-schema-processors.js +601 -0
  1046. package/node_modules/zod/v4/core/json-schema.cjs +2 -0
  1047. package/node_modules/zod/v4/core/json-schema.d.cts +88 -0
  1048. package/node_modules/zod/v4/core/json-schema.d.ts +88 -0
  1049. package/node_modules/zod/v4/core/json-schema.js +1 -0
  1050. package/node_modules/zod/v4/core/package.json +7 -0
  1051. package/node_modules/zod/v4/core/parse.cjs +131 -0
  1052. package/node_modules/zod/v4/core/parse.d.cts +49 -0
  1053. package/node_modules/zod/v4/core/parse.d.ts +49 -0
  1054. package/node_modules/zod/v4/core/parse.js +93 -0
  1055. package/node_modules/zod/v4/core/regexes.cjs +172 -0
  1056. package/node_modules/zod/v4/core/regexes.d.cts +85 -0
  1057. package/node_modules/zod/v4/core/regexes.d.ts +85 -0
  1058. package/node_modules/zod/v4/core/regexes.js +139 -0
  1059. package/node_modules/zod/v4/core/registries.cjs +56 -0
  1060. package/node_modules/zod/v4/core/registries.d.cts +35 -0
  1061. package/node_modules/zod/v4/core/registries.d.ts +35 -0
  1062. package/node_modules/zod/v4/core/registries.js +51 -0
  1063. package/node_modules/zod/v4/core/schemas.cjs +2270 -0
  1064. package/node_modules/zod/v4/core/schemas.d.cts +1184 -0
  1065. package/node_modules/zod/v4/core/schemas.d.ts +1184 -0
  1066. package/node_modules/zod/v4/core/schemas.js +2239 -0
  1067. package/node_modules/zod/v4/core/standard-schema.cjs +2 -0
  1068. package/node_modules/zod/v4/core/standard-schema.d.cts +126 -0
  1069. package/node_modules/zod/v4/core/standard-schema.d.ts +126 -0
  1070. package/node_modules/zod/v4/core/standard-schema.js +1 -0
  1071. package/node_modules/zod/v4/core/to-json-schema.cjs +457 -0
  1072. package/node_modules/zod/v4/core/to-json-schema.d.cts +114 -0
  1073. package/node_modules/zod/v4/core/to-json-schema.d.ts +114 -0
  1074. package/node_modules/zod/v4/core/to-json-schema.js +448 -0
  1075. package/node_modules/zod/v4/core/util.cjs +734 -0
  1076. package/node_modules/zod/v4/core/util.d.cts +200 -0
  1077. package/node_modules/zod/v4/core/util.d.ts +200 -0
  1078. package/node_modules/zod/v4/core/util.js +674 -0
  1079. package/node_modules/zod/v4/core/versions.cjs +8 -0
  1080. package/node_modules/zod/v4/core/versions.d.cts +5 -0
  1081. package/node_modules/zod/v4/core/versions.d.ts +5 -0
  1082. package/node_modules/zod/v4/core/versions.js +5 -0
  1083. package/node_modules/zod/v4/index.cjs +22 -0
  1084. package/node_modules/zod/v4/index.d.cts +3 -0
  1085. package/node_modules/zod/v4/index.d.ts +3 -0
  1086. package/node_modules/zod/v4/index.js +3 -0
  1087. package/node_modules/zod/v4/locales/ar.cjs +133 -0
  1088. package/node_modules/zod/v4/locales/ar.d.cts +5 -0
  1089. package/node_modules/zod/v4/locales/ar.d.ts +4 -0
  1090. package/node_modules/zod/v4/locales/ar.js +106 -0
  1091. package/node_modules/zod/v4/locales/az.cjs +132 -0
  1092. package/node_modules/zod/v4/locales/az.d.cts +5 -0
  1093. package/node_modules/zod/v4/locales/az.d.ts +4 -0
  1094. package/node_modules/zod/v4/locales/az.js +105 -0
  1095. package/node_modules/zod/v4/locales/be.cjs +183 -0
  1096. package/node_modules/zod/v4/locales/be.d.cts +5 -0
  1097. package/node_modules/zod/v4/locales/be.d.ts +4 -0
  1098. package/node_modules/zod/v4/locales/be.js +156 -0
  1099. package/node_modules/zod/v4/locales/bg.cjs +147 -0
  1100. package/node_modules/zod/v4/locales/bg.d.cts +5 -0
  1101. package/node_modules/zod/v4/locales/bg.d.ts +4 -0
  1102. package/node_modules/zod/v4/locales/bg.js +120 -0
  1103. package/node_modules/zod/v4/locales/ca.cjs +134 -0
  1104. package/node_modules/zod/v4/locales/ca.d.cts +5 -0
  1105. package/node_modules/zod/v4/locales/ca.d.ts +4 -0
  1106. package/node_modules/zod/v4/locales/ca.js +107 -0
  1107. package/node_modules/zod/v4/locales/cs.cjs +138 -0
  1108. package/node_modules/zod/v4/locales/cs.d.cts +5 -0
  1109. package/node_modules/zod/v4/locales/cs.d.ts +4 -0
  1110. package/node_modules/zod/v4/locales/cs.js +111 -0
  1111. package/node_modules/zod/v4/locales/da.cjs +142 -0
  1112. package/node_modules/zod/v4/locales/da.d.cts +5 -0
  1113. package/node_modules/zod/v4/locales/da.d.ts +4 -0
  1114. package/node_modules/zod/v4/locales/da.js +115 -0
  1115. package/node_modules/zod/v4/locales/de.cjs +135 -0
  1116. package/node_modules/zod/v4/locales/de.d.cts +5 -0
  1117. package/node_modules/zod/v4/locales/de.d.ts +4 -0
  1118. package/node_modules/zod/v4/locales/de.js +108 -0
  1119. package/node_modules/zod/v4/locales/el.cjs +136 -0
  1120. package/node_modules/zod/v4/locales/el.d.cts +5 -0
  1121. package/node_modules/zod/v4/locales/el.d.ts +4 -0
  1122. package/node_modules/zod/v4/locales/el.js +109 -0
  1123. package/node_modules/zod/v4/locales/en.cjs +140 -0
  1124. package/node_modules/zod/v4/locales/en.d.cts +5 -0
  1125. package/node_modules/zod/v4/locales/en.d.ts +4 -0
  1126. package/node_modules/zod/v4/locales/en.js +113 -0
  1127. package/node_modules/zod/v4/locales/eo.cjs +136 -0
  1128. package/node_modules/zod/v4/locales/eo.d.cts +5 -0
  1129. package/node_modules/zod/v4/locales/eo.d.ts +4 -0
  1130. package/node_modules/zod/v4/locales/eo.js +109 -0
  1131. package/node_modules/zod/v4/locales/es.cjs +159 -0
  1132. package/node_modules/zod/v4/locales/es.d.cts +5 -0
  1133. package/node_modules/zod/v4/locales/es.d.ts +4 -0
  1134. package/node_modules/zod/v4/locales/es.js +132 -0
  1135. package/node_modules/zod/v4/locales/fa.cjs +141 -0
  1136. package/node_modules/zod/v4/locales/fa.d.cts +5 -0
  1137. package/node_modules/zod/v4/locales/fa.d.ts +4 -0
  1138. package/node_modules/zod/v4/locales/fa.js +114 -0
  1139. package/node_modules/zod/v4/locales/fi.cjs +139 -0
  1140. package/node_modules/zod/v4/locales/fi.d.cts +5 -0
  1141. package/node_modules/zod/v4/locales/fi.d.ts +4 -0
  1142. package/node_modules/zod/v4/locales/fi.js +112 -0
  1143. package/node_modules/zod/v4/locales/fr-CA.cjs +134 -0
  1144. package/node_modules/zod/v4/locales/fr-CA.d.cts +5 -0
  1145. package/node_modules/zod/v4/locales/fr-CA.d.ts +4 -0
  1146. package/node_modules/zod/v4/locales/fr-CA.js +107 -0
  1147. package/node_modules/zod/v4/locales/fr.cjs +152 -0
  1148. package/node_modules/zod/v4/locales/fr.d.cts +5 -0
  1149. package/node_modules/zod/v4/locales/fr.d.ts +4 -0
  1150. package/node_modules/zod/v4/locales/fr.js +125 -0
  1151. package/node_modules/zod/v4/locales/he.cjs +241 -0
  1152. package/node_modules/zod/v4/locales/he.d.cts +5 -0
  1153. package/node_modules/zod/v4/locales/he.d.ts +4 -0
  1154. package/node_modules/zod/v4/locales/he.js +214 -0
  1155. package/node_modules/zod/v4/locales/hr.cjs +149 -0
  1156. package/node_modules/zod/v4/locales/hr.d.cts +5 -0
  1157. package/node_modules/zod/v4/locales/hr.d.ts +4 -0
  1158. package/node_modules/zod/v4/locales/hr.js +122 -0
  1159. package/node_modules/zod/v4/locales/hu.cjs +135 -0
  1160. package/node_modules/zod/v4/locales/hu.d.cts +5 -0
  1161. package/node_modules/zod/v4/locales/hu.d.ts +4 -0
  1162. package/node_modules/zod/v4/locales/hu.js +108 -0
  1163. package/node_modules/zod/v4/locales/hy.cjs +174 -0
  1164. package/node_modules/zod/v4/locales/hy.d.cts +5 -0
  1165. package/node_modules/zod/v4/locales/hy.d.ts +4 -0
  1166. package/node_modules/zod/v4/locales/hy.js +147 -0
  1167. package/node_modules/zod/v4/locales/id.cjs +133 -0
  1168. package/node_modules/zod/v4/locales/id.d.cts +5 -0
  1169. package/node_modules/zod/v4/locales/id.d.ts +4 -0
  1170. package/node_modules/zod/v4/locales/id.js +106 -0
  1171. package/node_modules/zod/v4/locales/index.cjs +111 -0
  1172. package/node_modules/zod/v4/locales/index.d.cts +52 -0
  1173. package/node_modules/zod/v4/locales/index.d.ts +52 -0
  1174. package/node_modules/zod/v4/locales/index.js +52 -0
  1175. package/node_modules/zod/v4/locales/is.cjs +136 -0
  1176. package/node_modules/zod/v4/locales/is.d.cts +5 -0
  1177. package/node_modules/zod/v4/locales/is.d.ts +4 -0
  1178. package/node_modules/zod/v4/locales/is.js +109 -0
  1179. package/node_modules/zod/v4/locales/it.cjs +135 -0
  1180. package/node_modules/zod/v4/locales/it.d.cts +5 -0
  1181. package/node_modules/zod/v4/locales/it.d.ts +4 -0
  1182. package/node_modules/zod/v4/locales/it.js +108 -0
  1183. package/node_modules/zod/v4/locales/ja.cjs +134 -0
  1184. package/node_modules/zod/v4/locales/ja.d.cts +5 -0
  1185. package/node_modules/zod/v4/locales/ja.d.ts +4 -0
  1186. package/node_modules/zod/v4/locales/ja.js +107 -0
  1187. package/node_modules/zod/v4/locales/ka.cjs +139 -0
  1188. package/node_modules/zod/v4/locales/ka.d.cts +5 -0
  1189. package/node_modules/zod/v4/locales/ka.d.ts +4 -0
  1190. package/node_modules/zod/v4/locales/ka.js +112 -0
  1191. package/node_modules/zod/v4/locales/kh.cjs +12 -0
  1192. package/node_modules/zod/v4/locales/kh.d.cts +5 -0
  1193. package/node_modules/zod/v4/locales/kh.d.ts +5 -0
  1194. package/node_modules/zod/v4/locales/kh.js +5 -0
  1195. package/node_modules/zod/v4/locales/km.cjs +137 -0
  1196. package/node_modules/zod/v4/locales/km.d.cts +5 -0
  1197. package/node_modules/zod/v4/locales/km.d.ts +4 -0
  1198. package/node_modules/zod/v4/locales/km.js +110 -0
  1199. package/node_modules/zod/v4/locales/ko.cjs +138 -0
  1200. package/node_modules/zod/v4/locales/ko.d.cts +5 -0
  1201. package/node_modules/zod/v4/locales/ko.d.ts +4 -0
  1202. package/node_modules/zod/v4/locales/ko.js +111 -0
  1203. package/node_modules/zod/v4/locales/lt.cjs +230 -0
  1204. package/node_modules/zod/v4/locales/lt.d.cts +5 -0
  1205. package/node_modules/zod/v4/locales/lt.d.ts +4 -0
  1206. package/node_modules/zod/v4/locales/lt.js +203 -0
  1207. package/node_modules/zod/v4/locales/mk.cjs +136 -0
  1208. package/node_modules/zod/v4/locales/mk.d.cts +5 -0
  1209. package/node_modules/zod/v4/locales/mk.d.ts +4 -0
  1210. package/node_modules/zod/v4/locales/mk.js +109 -0
  1211. package/node_modules/zod/v4/locales/ms.cjs +134 -0
  1212. package/node_modules/zod/v4/locales/ms.d.cts +5 -0
  1213. package/node_modules/zod/v4/locales/ms.d.ts +4 -0
  1214. package/node_modules/zod/v4/locales/ms.js +107 -0
  1215. package/node_modules/zod/v4/locales/nl.cjs +137 -0
  1216. package/node_modules/zod/v4/locales/nl.d.cts +5 -0
  1217. package/node_modules/zod/v4/locales/nl.d.ts +4 -0
  1218. package/node_modules/zod/v4/locales/nl.js +110 -0
  1219. package/node_modules/zod/v4/locales/no.cjs +135 -0
  1220. package/node_modules/zod/v4/locales/no.d.cts +5 -0
  1221. package/node_modules/zod/v4/locales/no.d.ts +4 -0
  1222. package/node_modules/zod/v4/locales/no.js +108 -0
  1223. package/node_modules/zod/v4/locales/ota.cjs +136 -0
  1224. package/node_modules/zod/v4/locales/ota.d.cts +5 -0
  1225. package/node_modules/zod/v4/locales/ota.d.ts +4 -0
  1226. package/node_modules/zod/v4/locales/ota.js +109 -0
  1227. package/node_modules/zod/v4/locales/package.json +7 -0
  1228. package/node_modules/zod/v4/locales/pl.cjs +136 -0
  1229. package/node_modules/zod/v4/locales/pl.d.cts +5 -0
  1230. package/node_modules/zod/v4/locales/pl.d.ts +4 -0
  1231. package/node_modules/zod/v4/locales/pl.js +109 -0
  1232. package/node_modules/zod/v4/locales/ps.cjs +141 -0
  1233. package/node_modules/zod/v4/locales/ps.d.cts +5 -0
  1234. package/node_modules/zod/v4/locales/ps.d.ts +4 -0
  1235. package/node_modules/zod/v4/locales/ps.js +114 -0
  1236. package/node_modules/zod/v4/locales/pt.cjs +135 -0
  1237. package/node_modules/zod/v4/locales/pt.d.cts +5 -0
  1238. package/node_modules/zod/v4/locales/pt.d.ts +4 -0
  1239. package/node_modules/zod/v4/locales/pt.js +108 -0
  1240. package/node_modules/zod/v4/locales/ro.cjs +146 -0
  1241. package/node_modules/zod/v4/locales/ro.d.cts +5 -0
  1242. package/node_modules/zod/v4/locales/ro.d.ts +4 -0
  1243. package/node_modules/zod/v4/locales/ro.js +119 -0
  1244. package/node_modules/zod/v4/locales/ru.cjs +183 -0
  1245. package/node_modules/zod/v4/locales/ru.d.cts +5 -0
  1246. package/node_modules/zod/v4/locales/ru.d.ts +4 -0
  1247. package/node_modules/zod/v4/locales/ru.js +156 -0
  1248. package/node_modules/zod/v4/locales/sl.cjs +136 -0
  1249. package/node_modules/zod/v4/locales/sl.d.cts +5 -0
  1250. package/node_modules/zod/v4/locales/sl.d.ts +4 -0
  1251. package/node_modules/zod/v4/locales/sl.js +109 -0
  1252. package/node_modules/zod/v4/locales/sv.cjs +137 -0
  1253. package/node_modules/zod/v4/locales/sv.d.cts +5 -0
  1254. package/node_modules/zod/v4/locales/sv.d.ts +4 -0
  1255. package/node_modules/zod/v4/locales/sv.js +110 -0
  1256. package/node_modules/zod/v4/locales/ta.cjs +137 -0
  1257. package/node_modules/zod/v4/locales/ta.d.cts +5 -0
  1258. package/node_modules/zod/v4/locales/ta.d.ts +4 -0
  1259. package/node_modules/zod/v4/locales/ta.js +110 -0
  1260. package/node_modules/zod/v4/locales/th.cjs +137 -0
  1261. package/node_modules/zod/v4/locales/th.d.cts +5 -0
  1262. package/node_modules/zod/v4/locales/th.d.ts +4 -0
  1263. package/node_modules/zod/v4/locales/th.js +110 -0
  1264. package/node_modules/zod/v4/locales/tr.cjs +132 -0
  1265. package/node_modules/zod/v4/locales/tr.d.cts +5 -0
  1266. package/node_modules/zod/v4/locales/tr.d.ts +4 -0
  1267. package/node_modules/zod/v4/locales/tr.js +105 -0
  1268. package/node_modules/zod/v4/locales/ua.cjs +12 -0
  1269. package/node_modules/zod/v4/locales/ua.d.cts +5 -0
  1270. package/node_modules/zod/v4/locales/ua.d.ts +5 -0
  1271. package/node_modules/zod/v4/locales/ua.js +5 -0
  1272. package/node_modules/zod/v4/locales/uk.cjs +135 -0
  1273. package/node_modules/zod/v4/locales/uk.d.cts +5 -0
  1274. package/node_modules/zod/v4/locales/uk.d.ts +4 -0
  1275. package/node_modules/zod/v4/locales/uk.js +108 -0
  1276. package/node_modules/zod/v4/locales/ur.cjs +137 -0
  1277. package/node_modules/zod/v4/locales/ur.d.cts +5 -0
  1278. package/node_modules/zod/v4/locales/ur.d.ts +4 -0
  1279. package/node_modules/zod/v4/locales/ur.js +110 -0
  1280. package/node_modules/zod/v4/locales/uz.cjs +137 -0
  1281. package/node_modules/zod/v4/locales/uz.d.cts +5 -0
  1282. package/node_modules/zod/v4/locales/uz.d.ts +4 -0
  1283. package/node_modules/zod/v4/locales/uz.js +110 -0
  1284. package/node_modules/zod/v4/locales/vi.cjs +135 -0
  1285. package/node_modules/zod/v4/locales/vi.d.cts +5 -0
  1286. package/node_modules/zod/v4/locales/vi.d.ts +4 -0
  1287. package/node_modules/zod/v4/locales/vi.js +108 -0
  1288. package/node_modules/zod/v4/locales/yo.cjs +134 -0
  1289. package/node_modules/zod/v4/locales/yo.d.cts +5 -0
  1290. package/node_modules/zod/v4/locales/yo.d.ts +4 -0
  1291. package/node_modules/zod/v4/locales/yo.js +107 -0
  1292. package/node_modules/zod/v4/locales/zh-CN.cjs +136 -0
  1293. package/node_modules/zod/v4/locales/zh-CN.d.cts +5 -0
  1294. package/node_modules/zod/v4/locales/zh-CN.d.ts +4 -0
  1295. package/node_modules/zod/v4/locales/zh-CN.js +109 -0
  1296. package/node_modules/zod/v4/locales/zh-TW.cjs +134 -0
  1297. package/node_modules/zod/v4/locales/zh-TW.d.cts +5 -0
  1298. package/node_modules/zod/v4/locales/zh-TW.d.ts +4 -0
  1299. package/node_modules/zod/v4/locales/zh-TW.js +107 -0
  1300. package/node_modules/zod/v4/mini/checks.cjs +34 -0
  1301. package/node_modules/zod/v4/mini/checks.d.cts +1 -0
  1302. package/node_modules/zod/v4/mini/checks.d.ts +1 -0
  1303. package/node_modules/zod/v4/mini/checks.js +1 -0
  1304. package/node_modules/zod/v4/mini/coerce.cjs +52 -0
  1305. package/node_modules/zod/v4/mini/coerce.d.cts +7 -0
  1306. package/node_modules/zod/v4/mini/coerce.d.ts +7 -0
  1307. package/node_modules/zod/v4/mini/coerce.js +22 -0
  1308. package/node_modules/zod/v4/mini/external.cjs +63 -0
  1309. package/node_modules/zod/v4/mini/external.d.cts +13 -0
  1310. package/node_modules/zod/v4/mini/external.d.ts +13 -0
  1311. package/node_modules/zod/v4/mini/external.js +14 -0
  1312. package/node_modules/zod/v4/mini/index.cjs +32 -0
  1313. package/node_modules/zod/v4/mini/index.d.cts +3 -0
  1314. package/node_modules/zod/v4/mini/index.d.ts +3 -0
  1315. package/node_modules/zod/v4/mini/index.js +3 -0
  1316. package/node_modules/zod/v4/mini/iso.cjs +64 -0
  1317. package/node_modules/zod/v4/mini/iso.d.cts +22 -0
  1318. package/node_modules/zod/v4/mini/iso.d.ts +22 -0
  1319. package/node_modules/zod/v4/mini/iso.js +34 -0
  1320. package/node_modules/zod/v4/mini/package.json +7 -0
  1321. package/node_modules/zod/v4/mini/parse.cjs +16 -0
  1322. package/node_modules/zod/v4/mini/parse.d.cts +1 -0
  1323. package/node_modules/zod/v4/mini/parse.d.ts +1 -0
  1324. package/node_modules/zod/v4/mini/parse.js +1 -0
  1325. package/node_modules/zod/v4/mini/schemas.cjs +1083 -0
  1326. package/node_modules/zod/v4/mini/schemas.d.cts +445 -0
  1327. package/node_modules/zod/v4/mini/schemas.d.ts +445 -0
  1328. package/node_modules/zod/v4/mini/schemas.js +961 -0
  1329. package/node_modules/zod/v4/package.json +7 -0
  1330. package/node_modules/zod/v4-mini/index.cjs +32 -0
  1331. package/node_modules/zod/v4-mini/index.d.cts +3 -0
  1332. package/node_modules/zod/v4-mini/index.d.ts +3 -0
  1333. package/node_modules/zod/v4-mini/index.js +3 -0
  1334. package/node_modules/zod/v4-mini/package.json +7 -0
  1335. package/npm-shrinkwrap.json +137 -0
  1336. package/package.json +9 -8
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../nip58.ts", "../../kinds.ts"],
4
+ "sourcesContent": ["import { Event, EventTemplate } from './core.ts'\nimport {\n BadgeAward as BadgeAwardKind,\n BadgeDefinition as BadgeDefinitionKind,\n ProfileBadges as ProfileBadgesKind,\n} from './kinds.ts'\n\n/**\n * Represents the structure for defining a badge within the Nostr network.\n * This structure is used to create templates for badge definition events,\n * facilitating the recognition and awarding of badges to users for various achievements.\n */\nexport type BadgeDefinition = {\n /**\n * A unique identifier for the badge. This is used to distinguish badges\n * from one another and should be unique across all badge definitions.\n * Typically, this could be a short, descriptive string.\n */\n d: string\n\n /**\n * An optional short name for the badge. This provides a human-readable\n * title for the badge, making it easier to recognize and refer to.\n */\n name?: string\n\n /**\n * An optional description for the badge. This field can be used to\n * provide more detailed information about the badge, such as the criteria\n * for its awarding or its significance.\n */\n description?: string\n\n /**\n * An optional image URL and dimensions for the badge. The first element\n * of the tuple is the URL pointing to a high-resolution image representing\n * the badge, and the second element specifies the image's dimensions in\n * the format \"widthxheight\". The recommended dimensions are 1024x1024 pixels.\n */\n image?: [string, string]\n\n /**\n * An optional list of thumbnail images for the badge. Each element in the\n * array is a tuple, where the first element is the URL pointing to a thumbnail\n * version of the badge image, and the second element specifies the thumbnail's\n * dimensions in the format \"widthxheight\". Multiple thumbnails can be provided\n * to support different display sizes.\n */\n thumbs?: Array<[string, string]>\n}\n\n/**\n * Represents the structure for awarding a badge to one or more recipients\n * within the Nostr network. This structure is used to create templates for\n * badge award events, which are immutable and signify the recognition of\n * individuals' achievements or contributions.\n */\nexport type BadgeAward = {\n /**\n * A reference to the Badge Definition event. This is typically composed\n * of the event ID of the badge definition. It establishes a clear linkage\n * between the badge being awarded and its original definition, ensuring\n * that recipients are awarded the correct badge.\n */\n a: string\n\n /**\n * An array of p tags, each containing a pubkey and its associated relays.\n */\n p: string[][]\n}\n\n/**\n * Represents the collection of badges a user chooses to display on their profile.\n * This structure is crucial for applications that allow users to showcase achievements\n * or recognitions in the form of badges, following the specifications of NIP-58.\n */\nexport type ProfileBadges = {\n /**\n * A unique identifier for the profile badges collection. According to NIP-58,\n * this should be set to \"profile_badges\" to differentiate it from other event types.\n */\n d: 'profile_badges'\n\n /**\n * A list of badges that the user has elected to display on their profile. Each item\n * in the array represents a specific badge, including references to both its definition\n * and the award event.\n */\n badges: Array<{\n /**\n * The event address of the badge definition. This is a reference to the specific badge\n * being displayed, linking back to the badge's original definition event. It allows\n * clients to fetch and display the badge's details, such as its name, description,\n * and image.\n */\n a: string\n\n /**\n * The event id of the badge award with corresponding relays. This references the event\n * in which the badge was awarded to the user. It is crucial for verifying the\n * authenticity of the badge display, ensuring that the user was indeed awarded the\n * badge they are choosing to display.\n */\n e: string[]\n }>\n}\n\n/**\n * Generates an EventTemplate based on the provided BadgeDefinition.\n *\n * @param {BadgeDefinition} badgeDefinition - The BadgeDefinition object.\n * @returns {EventTemplate} - The generated EventTemplate object.\n */\nexport function generateBadgeDefinitionEventTemplate({\n d,\n description,\n image,\n name,\n thumbs,\n}: BadgeDefinition): EventTemplate {\n // Mandatory tags\n const tags: string[][] = [['d', d]]\n\n // Append optional tags\n name && tags.push(['name', name])\n description && tags.push(['description', description])\n image && tags.push(['image', ...image])\n if (thumbs) {\n for (const thumb of thumbs) {\n tags.push(['thumb', ...thumb])\n }\n }\n\n // Construct the EventTemplate object\n const eventTemplate: EventTemplate = {\n content: '',\n created_at: Math.floor(Date.now() / 1000),\n kind: BadgeDefinitionKind,\n tags,\n }\n\n return eventTemplate\n}\n\n/**\n * Validates a badge definition event.\n *\n * @param event - The event to validate.\n * @returns A boolean indicating whether the event is a valid badge definition event.\n */\nexport function validateBadgeDefinitionEvent(event: Event): boolean {\n if (event.kind !== BadgeDefinitionKind) return false\n\n const requiredTags = ['d'] as const\n for (const tag of requiredTags) {\n if (!event.tags.find(([t]) => t == tag)) return false\n }\n\n return true\n}\n\n/**\n * Generates an EventTemplate based on the provided BadgeAward.\n *\n * @param {BadgeAward} badgeAward - The BadgeAward object.\n * @returns {EventTemplate} - The generated EventTemplate object.\n */\nexport function generateBadgeAwardEventTemplate({ a, p }: BadgeAward): EventTemplate {\n // Mandatory tags\n const tags: string[][] = [['a', a]]\n for (const _p of p) {\n tags.push(['p', ..._p])\n }\n\n // Construct the EventTemplate object\n const eventTemplate: EventTemplate = {\n content: '',\n created_at: Math.floor(Date.now() / 1000),\n kind: BadgeAwardKind,\n tags,\n }\n\n return eventTemplate\n}\n\n/**\n * Validates a badge award event.\n *\n * @param event - The event to validate.\n * @returns A boolean indicating whether the event is a valid badge award event.\n */\nexport function validateBadgeAwardEvent(event: Event): boolean {\n if (event.kind !== BadgeAwardKind) return false\n\n const requiredTags = ['a', 'p'] as const\n for (const tag of requiredTags) {\n if (!event.tags.find(([t]) => t == tag)) return false\n }\n\n return true\n}\n\n/**\n * Generates an EventTemplate based on the provided ProfileBadges.\n *\n * @param {ProfileBadges} profileBadges - The ProfileBadges object.\n * @returns {EventTemplate} - The generated EventTemplate object.\n */\nexport function generateProfileBadgesEventTemplate({ badges }: ProfileBadges): EventTemplate {\n // Mandatory tags\n const tags: string[][] = [['d', 'profile_badges']]\n\n // Append optional tags\n for (const badge of badges) {\n tags.push(['a', badge.a], ['e', ...badge.e])\n }\n\n // Construct the EventTemplate object\n const eventTemplate: EventTemplate = {\n content: '',\n created_at: Math.floor(Date.now() / 1000),\n kind: ProfileBadgesKind,\n tags,\n }\n\n return eventTemplate\n}\n\n/**\n * Validates a profile badges event.\n *\n * @param event - The event to validate.\n * @returns A boolean indicating whether the event is a valid profile badges event.\n */\nexport function validateProfileBadgesEvent(event: Event): boolean {\n if (event.kind !== ProfileBadgesKind) return false\n\n const requiredTags = ['d'] as const\n for (const tag of requiredTags) {\n if (!event.tags.find(([t]) => t == tag)) return false\n }\n\n return true\n}\n", "import { NostrEvent, validateEvent } from './pure.ts'\n\n/** Events are **regular**, which means they're all expected to be stored by relays. */\nexport function isRegularKind(kind: number): boolean {\n return kind < 10000 && kind !== 0 && kind !== 3\n}\n\n/** Events are **replaceable**, which means that, for each combination of `pubkey` and `kind`, only the latest event is expected to (SHOULD) be stored by relays, older versions are expected to be discarded. */\nexport function isReplaceableKind(kind: number): boolean {\n return kind === 0 || kind === 3 || (10000 <= kind && kind < 20000)\n}\n\n/** Events are **ephemeral**, which means they are not expected to be stored by relays. */\nexport function isEphemeralKind(kind: number): boolean {\n return 20000 <= kind && kind < 30000\n}\n\n/** Events are **addressable**, which means that, for each combination of `pubkey`, `kind` and the `d` tag, only the latest event is expected to be stored by relays, older versions are expected to be discarded. */\nexport function isAddressableKind(kind: number): boolean {\n return 30000 <= kind && kind < 40000\n}\n\n/** Classification of the event kind. */\nexport type KindClassification = 'regular' | 'replaceable' | 'ephemeral' | 'parameterized' | 'unknown'\n\n/** Determine the classification of this kind of event if known, or `unknown`. */\nexport function classifyKind(kind: number): KindClassification {\n if (isRegularKind(kind)) return 'regular'\n if (isReplaceableKind(kind)) return 'replaceable'\n if (isEphemeralKind(kind)) return 'ephemeral'\n if (isAddressableKind(kind)) return 'parameterized'\n return 'unknown'\n}\n\nexport function isKind<T extends number>(event: unknown, kind: T | Array<T>): event is NostrEvent & { kind: T } {\n const kindAsArray: number[] = kind instanceof Array ? kind : [kind]\n return (validateEvent(event) && kindAsArray.includes(event.kind)) || false\n}\n\nexport const Metadata = 0\nexport type Metadata = typeof Metadata\nexport const ShortTextNote = 1\nexport type ShortTextNote = typeof ShortTextNote\nexport const RecommendRelay = 2\nexport type RecommendRelay = typeof RecommendRelay\nexport const Contacts = 3\nexport type Contacts = typeof Contacts\nexport const EncryptedDirectMessage = 4\nexport type EncryptedDirectMessage = typeof EncryptedDirectMessage\nexport const EventDeletion = 5\nexport type EventDeletion = typeof EventDeletion\nexport const Repost = 6\nexport type Repost = typeof Repost\nexport const Reaction = 7\nexport type Reaction = typeof Reaction\nexport const BadgeAward = 8\nexport type BadgeAward = typeof BadgeAward\nexport const ChatMessage = 9\nexport type ChatMessage = typeof ChatMessage\nexport const ForumThread = 11\nexport type ForumThread = typeof ForumThread\nexport const Seal = 13\nexport type Seal = typeof Seal\nexport const PrivateDirectMessage = 14\nexport type PrivateDirectMessage = typeof PrivateDirectMessage\nexport const FileMessage = 15\nexport type FileMessage = typeof FileMessage\nexport const GenericRepost = 16\nexport type GenericRepost = typeof GenericRepost\nexport const Photo = 20\nexport type Photo = typeof Photo\nexport const NormalVideo = 21\nexport type NormalVideo = typeof NormalVideo\nexport const ShortVideo = 22\nexport type ShortVideo = typeof ShortVideo\nexport const ChannelCreation = 40\nexport type ChannelCreation = typeof ChannelCreation\nexport const ChannelMetadata = 41\nexport type ChannelMetadata = typeof ChannelMetadata\nexport const ChannelMessage = 42\nexport type ChannelMessage = typeof ChannelMessage\nexport const ChannelHideMessage = 43\nexport type ChannelHideMessage = typeof ChannelHideMessage\nexport const ChannelMuteUser = 44\nexport type ChannelMuteUser = typeof ChannelMuteUser\nexport const OpenTimestamps = 1040\nexport type OpenTimestamps = typeof OpenTimestamps\nexport const GiftWrap = 1059\nexport type GiftWrap = typeof GiftWrap\nexport const Poll = 1068\nexport type Poll = typeof Poll\nexport const FileMetadata = 1063\nexport type FileMetadata = typeof FileMetadata\nexport const Comment = 1111\nexport type Comment = typeof Comment\nexport const LiveChatMessage = 1311\nexport type LiveChatMessage = typeof LiveChatMessage\nexport const Voice = 1222\nexport type Voice = typeof Voice\nexport const VoiceComment = 1244\nexport type VoiceComment = typeof VoiceComment\nexport const ProblemTracker = 1971\nexport type ProblemTracker = typeof ProblemTracker\nexport const Report = 1984\nexport type Report = typeof Report\nexport const Reporting = 1984\nexport type Reporting = typeof Reporting\nexport const Label = 1985\nexport type Label = typeof Label\nexport const CommunityPostApproval = 4550\nexport type CommunityPostApproval = typeof CommunityPostApproval\nexport const JobRequest = 5999\nexport type JobRequest = typeof JobRequest\nexport const JobResult = 6999\nexport type JobResult = typeof JobResult\nexport const JobFeedback = 7000\nexport type JobFeedback = typeof JobFeedback\nexport const ZapGoal = 9041\nexport type ZapGoal = typeof ZapGoal\nexport const ZapRequest = 9734\nexport type ZapRequest = typeof ZapRequest\nexport const Zap = 9735\nexport type Zap = typeof Zap\nexport const Highlights = 9802\nexport type Highlights = typeof Highlights\nexport const PollResponse = 1018\nexport type PollResponse = typeof PollResponse\nexport const Mutelist = 10000\nexport type Mutelist = typeof Mutelist\nexport const Pinlist = 10001\nexport type Pinlist = typeof Pinlist\nexport const RelayList = 10002\nexport type RelayList = typeof RelayList\nexport const BookmarkList = 10003\nexport type BookmarkList = typeof BookmarkList\nexport const CommunitiesList = 10004\nexport type CommunitiesList = typeof CommunitiesList\nexport const PublicChatsList = 10005\nexport type PublicChatsList = typeof PublicChatsList\nexport const BlockedRelaysList = 10006\nexport type BlockedRelaysList = typeof BlockedRelaysList\nexport const SearchRelaysList = 10007\nexport type SearchRelaysList = typeof SearchRelaysList\nexport const FavoriteRelays = 10012\nexport type FavoriteRelays = typeof FavoriteRelays\nexport const InterestsList = 10015\nexport type InterestsList = typeof InterestsList\nexport const UserEmojiList = 10030\nexport type UserEmojiList = typeof UserEmojiList\nexport const DirectMessageRelaysList = 10050\nexport type DirectMessageRelaysList = typeof DirectMessageRelaysList\nexport const FileServerPreference = 10096\nexport type FileServerPreference = typeof FileServerPreference\nexport const BlossomServerList = 10063\nexport type BlossomServerList = typeof BlossomServerList\nexport const NWCWalletInfo = 13194\nexport type NWCWalletInfo = typeof NWCWalletInfo\nexport const LightningPubRPC = 21000\nexport type LightningPubRPC = typeof LightningPubRPC\nexport const ClientAuth = 22242\nexport type ClientAuth = typeof ClientAuth\nexport const NWCWalletRequest = 23194\nexport type NWCWalletRequest = typeof NWCWalletRequest\nexport const NWCWalletResponse = 23195\nexport type NWCWalletResponse = typeof NWCWalletResponse\nexport const NostrConnect = 24133\nexport type NostrConnect = typeof NostrConnect\nexport const HTTPAuth = 27235\nexport type HTTPAuth = typeof HTTPAuth\nexport const Followsets = 30000\nexport type Followsets = typeof Followsets\nexport const Genericlists = 30001\nexport type Genericlists = typeof Genericlists\nexport const Relaysets = 30002\nexport type Relaysets = typeof Relaysets\nexport const Bookmarksets = 30003\nexport type Bookmarksets = typeof Bookmarksets\nexport const Curationsets = 30004\nexport type Curationsets = typeof Curationsets\nexport const ProfileBadges = 30008\nexport type ProfileBadges = typeof ProfileBadges\nexport const BadgeDefinition = 30009\nexport type BadgeDefinition = typeof BadgeDefinition\nexport const Interestsets = 30015\nexport type Interestsets = typeof Interestsets\nexport const CreateOrUpdateStall = 30017\nexport type CreateOrUpdateStall = typeof CreateOrUpdateStall\nexport const CreateOrUpdateProduct = 30018\nexport type CreateOrUpdateProduct = typeof CreateOrUpdateProduct\nexport const LongFormArticle = 30023\nexport type LongFormArticle = typeof LongFormArticle\nexport const DraftLong = 30024\nexport type DraftLong = typeof DraftLong\nexport const Emojisets = 30030\nexport type Emojisets = typeof Emojisets\nexport const Application = 30078\nexport type Application = typeof Application\nexport const LiveEvent = 30311\nexport type LiveEvent = typeof LiveEvent\nexport const UserStatuses = 30315\nexport type UserStatuses = typeof UserStatuses\nexport const ClassifiedListing = 30402\nexport type ClassifiedListing = typeof ClassifiedListing\nexport const DraftClassifiedListing = 30403\nexport type DraftClassifiedListing = typeof DraftClassifiedListing\nexport const Date = 31922\nexport type Date = typeof Date\nexport const Time = 31923\nexport type Time = typeof Time\nexport const Calendar = 31924\nexport type Calendar = typeof Calendar\nexport const CalendarEventRSVP = 31925\nexport type CalendarEventRSVP = typeof CalendarEventRSVP\nexport const RelayReview = 31987\nexport type RelayReview = typeof RelayReview\nexport const Handlerrecommendation = 31989\nexport type Handlerrecommendation = typeof Handlerrecommendation\nexport const Handlerinformation = 31990\nexport type Handlerinformation = typeof Handlerinformation\nexport const CommunityDefinition = 34550\nexport type CommunityDefinition = typeof CommunityDefinition\nexport const GroupMetadata = 39000\nexport type GroupMetadata = typeof GroupMetadata\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACuDO,IAAM,aAAa;AA4HnB,IAAM,gBAAgB;AAEtB,IAAM,kBAAkB;;;ADnExB,SAAS,qCAAqC;AAAA,EACnD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAmC;AAEjC,QAAM,OAAmB,CAAC,CAAC,KAAK,CAAC,CAAC;AAGlC,UAAQ,KAAK,KAAK,CAAC,QAAQ,IAAI,CAAC;AAChC,iBAAe,KAAK,KAAK,CAAC,eAAe,WAAW,CAAC;AACrD,WAAS,KAAK,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC;AACtC,MAAI,QAAQ;AACV,eAAW,SAAS,QAAQ;AAC1B,WAAK,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC;AAAA,IAC/B;AAAA,EACF;AAGA,QAAM,gBAA+B;AAAA,IACnC,SAAS;AAAA,IACT,YAAY,KAAK,MAAM,KAAK,IAAI,IAAI,GAAI;AAAA,IACxC,MAAM;AAAA,IACN;AAAA,EACF;AAEA,SAAO;AACT;AAQO,SAAS,6BAA6B,OAAuB;AAClE,MAAI,MAAM,SAAS;AAAqB,WAAO;AAE/C,QAAM,eAAe,CAAC,GAAG;AACzB,aAAW,OAAO,cAAc;AAC9B,QAAI,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,KAAK,GAAG;AAAG,aAAO;AAAA,EAClD;AAEA,SAAO;AACT;AAQO,SAAS,gCAAgC,EAAE,GAAG,EAAE,GAA8B;AAEnF,QAAM,OAAmB,CAAC,CAAC,KAAK,CAAC,CAAC;AAClC,aAAW,MAAM,GAAG;AAClB,SAAK,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;AAAA,EACxB;AAGA,QAAM,gBAA+B;AAAA,IACnC,SAAS;AAAA,IACT,YAAY,KAAK,MAAM,KAAK,IAAI,IAAI,GAAI;AAAA,IACxC,MAAM;AAAA,IACN;AAAA,EACF;AAEA,SAAO;AACT;AAQO,SAAS,wBAAwB,OAAuB;AAC7D,MAAI,MAAM,SAAS;AAAgB,WAAO;AAE1C,QAAM,eAAe,CAAC,KAAK,GAAG;AAC9B,aAAW,OAAO,cAAc;AAC9B,QAAI,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,KAAK,GAAG;AAAG,aAAO;AAAA,EAClD;AAEA,SAAO;AACT;AAQO,SAAS,mCAAmC,EAAE,OAAO,GAAiC;AAE3F,QAAM,OAAmB,CAAC,CAAC,KAAK,gBAAgB,CAAC;AAGjD,aAAW,SAAS,QAAQ;AAC1B,SAAK,KAAK,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC;AAAA,EAC7C;AAGA,QAAM,gBAA+B;AAAA,IACnC,SAAS;AAAA,IACT,YAAY,KAAK,MAAM,KAAK,IAAI,IAAI,GAAI;AAAA,IACxC,MAAM;AAAA,IACN;AAAA,EACF;AAEA,SAAO;AACT;AAQO,SAAS,2BAA2B,OAAuB;AAChE,MAAI,MAAM,SAAS;AAAmB,WAAO;AAE7C,QAAM,eAAe,CAAC,GAAG;AACzB,aAAW,OAAO,cAAc;AAC9B,QAAI,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,KAAK,GAAG;AAAG,aAAO;AAAA,EAClD;AAEA,SAAO;AACT;",
6
+ "names": []
7
+ }
@@ -0,0 +1,320 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // nip59.ts
21
+ var nip59_exports = {};
22
+ __export(nip59_exports, {
23
+ createRumor: () => createRumor,
24
+ createSeal: () => createSeal,
25
+ createWrap: () => createWrap,
26
+ unwrapEvent: () => unwrapEvent,
27
+ unwrapManyEvents: () => unwrapManyEvents,
28
+ wrapEvent: () => wrapEvent,
29
+ wrapManyEvents: () => wrapManyEvents
30
+ });
31
+ module.exports = __toCommonJS(nip59_exports);
32
+
33
+ // nip44.ts
34
+ var import_chacha = require("@noble/ciphers/chacha.js");
35
+ var import_utils2 = require("@noble/ciphers/utils.js");
36
+ var import_secp256k1 = require("@noble/curves/secp256k1.js");
37
+ var import_hkdf = require("@noble/hashes/hkdf.js");
38
+ var import_hmac = require("@noble/hashes/hmac.js");
39
+ var import_sha2 = require("@noble/hashes/sha2.js");
40
+ var import_utils3 = require("@noble/hashes/utils.js");
41
+ var import_base = require("@scure/base");
42
+
43
+ // utils.ts
44
+ var import_utils = require("@noble/hashes/utils.js");
45
+ var utf8Decoder = new TextDecoder("utf-8");
46
+ var utf8Encoder = new TextEncoder();
47
+
48
+ // nip44.ts
49
+ var minPlaintextSize = 1;
50
+ var maxPlaintextSize = 4294967295;
51
+ var extendedPrefixThreshold = 65536;
52
+ function getConversationKey(privkeyA, pubkeyB) {
53
+ const sharedX = import_secp256k1.secp256k1.getSharedSecret(privkeyA, (0, import_utils3.hexToBytes)("02" + pubkeyB)).subarray(1, 33);
54
+ return (0, import_hkdf.extract)(import_sha2.sha256, sharedX, utf8Encoder.encode("nip44-v2"));
55
+ }
56
+ function getMessageKeys(conversationKey, nonce) {
57
+ const keys = (0, import_hkdf.expand)(import_sha2.sha256, conversationKey, nonce, 76);
58
+ return {
59
+ chacha_key: keys.subarray(0, 32),
60
+ chacha_nonce: keys.subarray(32, 44),
61
+ hmac_key: keys.subarray(44, 76)
62
+ };
63
+ }
64
+ function calcPaddedLen(len) {
65
+ if (!Number.isSafeInteger(len) || len < 1)
66
+ throw new Error("expected positive integer");
67
+ if (len <= 32)
68
+ return 32;
69
+ const nextPower = 2 ** (Math.floor(Math.log2(len - 1)) + 1);
70
+ const chunk = nextPower <= 256 ? 32 : nextPower / 8;
71
+ return chunk * (Math.floor((len - 1) / chunk) + 1);
72
+ }
73
+ function writeU16BE(num) {
74
+ if (!Number.isSafeInteger(num) || num < minPlaintextSize || num > 65535)
75
+ throw new Error("invalid plaintext size: must be between 1 and 65535 bytes");
76
+ const arr = new Uint8Array(2);
77
+ new DataView(arr.buffer).setUint16(0, num, false);
78
+ return arr;
79
+ }
80
+ function writeU32BE(num) {
81
+ if (!Number.isSafeInteger(num) || num < extendedPrefixThreshold || num > maxPlaintextSize)
82
+ throw new Error("invalid plaintext size: must be between 65536 and 4294967295 bytes");
83
+ const arr = new Uint8Array(4);
84
+ new DataView(arr.buffer).setUint32(0, num, false);
85
+ return arr;
86
+ }
87
+ function pad(plaintext) {
88
+ const unpadded = utf8Encoder.encode(plaintext);
89
+ const unpaddedLen = unpadded.length;
90
+ if (unpaddedLen < minPlaintextSize || unpaddedLen > maxPlaintextSize)
91
+ throw new Error("invalid plaintext size: must be between 1 and 4294967295 bytes");
92
+ const prefix = unpaddedLen >= extendedPrefixThreshold ? (0, import_utils3.concatBytes)(new Uint8Array([0, 0]), writeU32BE(unpaddedLen)) : writeU16BE(unpaddedLen);
93
+ const suffix = new Uint8Array(calcPaddedLen(unpaddedLen) - unpaddedLen);
94
+ return (0, import_utils3.concatBytes)(prefix, unpadded, suffix);
95
+ }
96
+ function unpad(padded) {
97
+ const dv = new DataView(padded.buffer, padded.byteOffset, padded.byteLength);
98
+ const firstTwo = dv.getUint16(0);
99
+ let unpaddedLen;
100
+ let prefixLen;
101
+ if (firstTwo === 0) {
102
+ unpaddedLen = dv.getUint32(2);
103
+ if (unpaddedLen < extendedPrefixThreshold)
104
+ throw new Error("invalid padding");
105
+ prefixLen = 6;
106
+ } else {
107
+ unpaddedLen = firstTwo;
108
+ prefixLen = 2;
109
+ }
110
+ const unpadded = padded.subarray(prefixLen, prefixLen + unpaddedLen);
111
+ if (unpaddedLen < minPlaintextSize || unpaddedLen > maxPlaintextSize || unpadded.length !== unpaddedLen || padded.length !== prefixLen + calcPaddedLen(unpaddedLen))
112
+ throw new Error("invalid padding");
113
+ return utf8Decoder.decode(unpadded);
114
+ }
115
+ function hmacAad(key, message, aad) {
116
+ if (aad.length !== 32)
117
+ throw new Error("AAD associated data must be 32 bytes");
118
+ const combined = (0, import_utils3.concatBytes)(aad, message);
119
+ return (0, import_hmac.hmac)(import_sha2.sha256, key, combined);
120
+ }
121
+ function decodePayload(payload) {
122
+ if (typeof payload !== "string")
123
+ throw new Error("payload must be a valid string");
124
+ const plen = payload.length;
125
+ if (plen < 132)
126
+ throw new Error("invalid payload length: " + plen);
127
+ if (payload[0] === "#")
128
+ throw new Error("unknown encryption version");
129
+ let data;
130
+ try {
131
+ data = import_base.base64.decode(payload);
132
+ } catch (error) {
133
+ throw new Error("invalid base64: " + error.message);
134
+ }
135
+ const dlen = data.length;
136
+ if (dlen < 99)
137
+ throw new Error("invalid data length: " + dlen);
138
+ const vers = data[0];
139
+ if (vers !== 2)
140
+ throw new Error("unknown encryption version " + vers);
141
+ return {
142
+ nonce: data.subarray(1, 33),
143
+ ciphertext: data.subarray(33, -32),
144
+ mac: data.subarray(-32)
145
+ };
146
+ }
147
+ function encrypt(plaintext, conversationKey, nonce = (0, import_utils3.randomBytes)(32)) {
148
+ const { chacha_key, chacha_nonce, hmac_key } = getMessageKeys(conversationKey, nonce);
149
+ const padded = pad(plaintext);
150
+ const ciphertext = (0, import_chacha.chacha20)(chacha_key, chacha_nonce, padded);
151
+ const mac = hmacAad(hmac_key, ciphertext, nonce);
152
+ return import_base.base64.encode((0, import_utils3.concatBytes)(new Uint8Array([2]), nonce, ciphertext, mac));
153
+ }
154
+ function decrypt(payload, conversationKey) {
155
+ const { nonce, ciphertext, mac } = decodePayload(payload);
156
+ const { chacha_key, chacha_nonce, hmac_key } = getMessageKeys(conversationKey, nonce);
157
+ const calculatedMac = hmacAad(hmac_key, ciphertext, nonce);
158
+ if (!(0, import_utils2.equalBytes)(calculatedMac, mac))
159
+ throw new Error("invalid MAC");
160
+ const padded = (0, import_chacha.chacha20)(chacha_key, chacha_nonce, ciphertext);
161
+ return unpad(padded);
162
+ }
163
+
164
+ // pure.ts
165
+ var import_secp256k12 = require("@noble/curves/secp256k1.js");
166
+ var import_utils5 = require("@noble/hashes/utils.js");
167
+
168
+ // core.ts
169
+ var verifiedSymbol = Symbol("verified");
170
+ var isRecord = (obj) => obj instanceof Object;
171
+ function validateEvent(event) {
172
+ if (!isRecord(event))
173
+ return false;
174
+ if (typeof event.kind !== "number")
175
+ return false;
176
+ if (typeof event.content !== "string")
177
+ return false;
178
+ if (typeof event.created_at !== "number")
179
+ return false;
180
+ if (typeof event.pubkey !== "string")
181
+ return false;
182
+ if (!event.pubkey.match(/^[a-f0-9]{64}$/))
183
+ return false;
184
+ if (!Array.isArray(event.tags))
185
+ return false;
186
+ for (let i2 = 0; i2 < event.tags.length; i2++) {
187
+ let tag = event.tags[i2];
188
+ if (!Array.isArray(tag))
189
+ return false;
190
+ for (let j = 0; j < tag.length; j++) {
191
+ if (typeof tag[j] !== "string")
192
+ return false;
193
+ }
194
+ }
195
+ return true;
196
+ }
197
+
198
+ // pure.ts
199
+ var import_sha22 = require("@noble/hashes/sha2.js");
200
+ var JS = class {
201
+ generateSecretKey() {
202
+ return import_secp256k12.schnorr.utils.randomSecretKey();
203
+ }
204
+ getPublicKey(secretKey) {
205
+ return (0, import_utils5.bytesToHex)(import_secp256k12.schnorr.getPublicKey(secretKey));
206
+ }
207
+ finalizeEvent(t, secretKey) {
208
+ const event = t;
209
+ event.pubkey = (0, import_utils5.bytesToHex)(import_secp256k12.schnorr.getPublicKey(secretKey));
210
+ event.id = getEventHash(event);
211
+ event.sig = (0, import_utils5.bytesToHex)(import_secp256k12.schnorr.sign((0, import_utils5.hexToBytes)(getEventHash(event)), secretKey));
212
+ event[verifiedSymbol] = true;
213
+ return event;
214
+ }
215
+ verifyEvent(event) {
216
+ if (typeof event[verifiedSymbol] === "boolean")
217
+ return event[verifiedSymbol];
218
+ try {
219
+ const hash = getEventHash(event);
220
+ if (hash !== event.id) {
221
+ event[verifiedSymbol] = false;
222
+ return false;
223
+ }
224
+ const valid = import_secp256k12.schnorr.verify((0, import_utils5.hexToBytes)(event.sig), (0, import_utils5.hexToBytes)(hash), (0, import_utils5.hexToBytes)(event.pubkey));
225
+ event[verifiedSymbol] = valid;
226
+ return valid;
227
+ } catch (err) {
228
+ event[verifiedSymbol] = false;
229
+ return false;
230
+ }
231
+ }
232
+ };
233
+ function serializeEvent(evt) {
234
+ if (!validateEvent(evt))
235
+ throw new Error("can't serialize event with wrong or missing properties");
236
+ return JSON.stringify([0, evt.pubkey, evt.created_at, evt.kind, evt.tags, evt.content]);
237
+ }
238
+ function getEventHash(event) {
239
+ let eventHash = (0, import_sha22.sha256)(utf8Encoder.encode(serializeEvent(event)));
240
+ return (0, import_utils5.bytesToHex)(eventHash);
241
+ }
242
+ var i = new JS();
243
+ var generateSecretKey = i.generateSecretKey;
244
+ var getPublicKey = i.getPublicKey;
245
+ var finalizeEvent = i.finalizeEvent;
246
+ var verifyEvent = i.verifyEvent;
247
+
248
+ // kinds.ts
249
+ var Seal = 13;
250
+ var GiftWrap = 1059;
251
+
252
+ // nip59.ts
253
+ var TWO_DAYS = 2 * 24 * 60 * 60;
254
+ var now = () => Math.round(Date.now() / 1e3);
255
+ var randomNow = () => Math.round(now() - Math.random() * TWO_DAYS);
256
+ var nip44ConversationKey = (privateKey, publicKey) => getConversationKey(privateKey, publicKey);
257
+ var nip44Encrypt = (data, privateKey, publicKey) => encrypt(JSON.stringify(data), nip44ConversationKey(privateKey, publicKey));
258
+ var nip44Decrypt = (data, privateKey) => JSON.parse(decrypt(data.content, nip44ConversationKey(privateKey, data.pubkey)));
259
+ function createRumor(event, privateKey) {
260
+ const rumor = {
261
+ created_at: now(),
262
+ content: "",
263
+ tags: [],
264
+ ...event,
265
+ pubkey: getPublicKey(privateKey)
266
+ };
267
+ rumor.id = getEventHash(rumor);
268
+ return rumor;
269
+ }
270
+ function createSeal(rumor, privateKey, recipientPublicKey) {
271
+ return finalizeEvent(
272
+ {
273
+ kind: Seal,
274
+ content: nip44Encrypt(rumor, privateKey, recipientPublicKey),
275
+ created_at: randomNow(),
276
+ tags: []
277
+ },
278
+ privateKey
279
+ );
280
+ }
281
+ function createWrap(seal, recipientPublicKey) {
282
+ const randomKey = generateSecretKey();
283
+ return finalizeEvent(
284
+ {
285
+ kind: GiftWrap,
286
+ content: nip44Encrypt(seal, randomKey, recipientPublicKey),
287
+ created_at: randomNow(),
288
+ tags: [["p", recipientPublicKey]]
289
+ },
290
+ randomKey
291
+ );
292
+ }
293
+ function wrapEvent(event, senderPrivateKey, recipientPublicKey) {
294
+ const rumor = createRumor(event, senderPrivateKey);
295
+ const seal = createSeal(rumor, senderPrivateKey, recipientPublicKey);
296
+ return createWrap(seal, recipientPublicKey);
297
+ }
298
+ function wrapManyEvents(event, senderPrivateKey, recipientsPublicKeys) {
299
+ if (!recipientsPublicKeys || recipientsPublicKeys.length === 0) {
300
+ throw new Error("At least one recipient is required.");
301
+ }
302
+ const senderPublicKey = getPublicKey(senderPrivateKey);
303
+ const wrappeds = [wrapEvent(event, senderPrivateKey, senderPublicKey)];
304
+ recipientsPublicKeys.forEach((recipientPublicKey) => {
305
+ wrappeds.push(wrapEvent(event, senderPrivateKey, recipientPublicKey));
306
+ });
307
+ return wrappeds;
308
+ }
309
+ function unwrapEvent(wrap, recipientPrivateKey) {
310
+ const unwrappedSeal = nip44Decrypt(wrap, recipientPrivateKey);
311
+ return nip44Decrypt(unwrappedSeal, recipientPrivateKey);
312
+ }
313
+ function unwrapManyEvents(wrappedEvents, recipientPrivateKey) {
314
+ let unwrappedEvents = [];
315
+ wrappedEvents.forEach((e) => {
316
+ unwrappedEvents.push(unwrapEvent(e, recipientPrivateKey));
317
+ });
318
+ unwrappedEvents.sort((a, b) => a.created_at - b.created_at);
319
+ return unwrappedEvents;
320
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../nip59.ts", "../../nip44.ts", "../../utils.ts", "../../pure.ts", "../../core.ts", "../../kinds.ts"],
4
+ "sourcesContent": ["import { EventTemplate, UnsignedEvent, NostrEvent } from './core.ts'\nimport { getConversationKey, decrypt, encrypt } from './nip44.ts'\nimport { getEventHash, generateSecretKey, finalizeEvent, getPublicKey } from './pure.ts'\nimport { Seal, GiftWrap } from './kinds.ts'\n\ntype Rumor = UnsignedEvent & { id: string }\n\nconst TWO_DAYS = 2 * 24 * 60 * 60\n\nconst now = () => Math.round(Date.now() / 1000)\nconst randomNow = () => Math.round(now() - Math.random() * TWO_DAYS)\n\nconst nip44ConversationKey = (privateKey: Uint8Array, publicKey: string) => getConversationKey(privateKey, publicKey)\n\nconst nip44Encrypt = (data: EventTemplate, privateKey: Uint8Array, publicKey: string) =>\n encrypt(JSON.stringify(data), nip44ConversationKey(privateKey, publicKey))\n\nconst nip44Decrypt = (data: NostrEvent, privateKey: Uint8Array) =>\n JSON.parse(decrypt(data.content, nip44ConversationKey(privateKey, data.pubkey)))\n\nexport function createRumor(event: Partial<UnsignedEvent>, privateKey: Uint8Array): Rumor {\n const rumor = {\n created_at: now(),\n content: '',\n tags: [],\n ...event,\n pubkey: getPublicKey(privateKey),\n } as any\n\n rumor.id = getEventHash(rumor)\n\n return rumor as Rumor\n}\n\nexport function createSeal(rumor: Rumor, privateKey: Uint8Array, recipientPublicKey: string): NostrEvent {\n return finalizeEvent(\n {\n kind: Seal,\n content: nip44Encrypt(rumor, privateKey, recipientPublicKey),\n created_at: randomNow(),\n tags: [],\n },\n privateKey,\n )\n}\n\nexport function createWrap(seal: NostrEvent, recipientPublicKey: string): NostrEvent {\n const randomKey = generateSecretKey()\n\n return finalizeEvent(\n {\n kind: GiftWrap,\n content: nip44Encrypt(seal, randomKey, recipientPublicKey),\n created_at: randomNow(),\n tags: [['p', recipientPublicKey]],\n },\n randomKey,\n ) as NostrEvent\n}\n\nexport function wrapEvent(\n event: Partial<UnsignedEvent>,\n senderPrivateKey: Uint8Array,\n recipientPublicKey: string,\n): NostrEvent {\n const rumor = createRumor(event, senderPrivateKey)\n\n const seal = createSeal(rumor, senderPrivateKey, recipientPublicKey)\n return createWrap(seal, recipientPublicKey)\n}\n\nexport function wrapManyEvents(\n event: Partial<UnsignedEvent>,\n senderPrivateKey: Uint8Array,\n recipientsPublicKeys: string[],\n): NostrEvent[] {\n if (!recipientsPublicKeys || recipientsPublicKeys.length === 0) {\n throw new Error('At least one recipient is required.')\n }\n\n const senderPublicKey = getPublicKey(senderPrivateKey)\n\n const wrappeds = [wrapEvent(event, senderPrivateKey, senderPublicKey)]\n\n recipientsPublicKeys.forEach(recipientPublicKey => {\n wrappeds.push(wrapEvent(event, senderPrivateKey, recipientPublicKey))\n })\n\n return wrappeds\n}\n\nexport function unwrapEvent(wrap: NostrEvent, recipientPrivateKey: Uint8Array): Rumor {\n const unwrappedSeal = nip44Decrypt(wrap, recipientPrivateKey)\n return nip44Decrypt(unwrappedSeal, recipientPrivateKey)\n}\n\nexport function unwrapManyEvents(wrappedEvents: NostrEvent[], recipientPrivateKey: Uint8Array): Rumor[] {\n let unwrappedEvents: Rumor[] = []\n\n wrappedEvents.forEach(e => {\n unwrappedEvents.push(unwrapEvent(e, recipientPrivateKey))\n })\n\n unwrappedEvents.sort((a, b) => a.created_at - b.created_at)\n\n return unwrappedEvents\n}\n", "import { chacha20 } from '@noble/ciphers/chacha.js'\nimport { equalBytes } from '@noble/ciphers/utils.js'\nimport { secp256k1 } from '@noble/curves/secp256k1.js'\nimport { extract as hkdf_extract, expand as hkdf_expand } from '@noble/hashes/hkdf.js'\nimport { hmac } from '@noble/hashes/hmac.js'\nimport { sha256 } from '@noble/hashes/sha2.js'\nimport { concatBytes, hexToBytes, randomBytes } from '@noble/hashes/utils.js'\nimport { base64 } from '@scure/base'\n\nimport { utf8Decoder, utf8Encoder } from './utils.ts'\n\nconst minPlaintextSize = 0x0001 // 1b msg => padded to 32b\nconst maxPlaintextSize = 0xffffffff // 4294967295 (2^32-1)\nconst extendedPrefixThreshold = 0x10000 // 65536: lengths below use 2-byte u16 prefix, at or above use 6-byte prefix\n\nexport function getConversationKey(privkeyA: Uint8Array, pubkeyB: string): Uint8Array {\n const sharedX = secp256k1.getSharedSecret(privkeyA, hexToBytes('02' + pubkeyB)).subarray(1, 33)\n return hkdf_extract(sha256, sharedX, utf8Encoder.encode('nip44-v2'))\n}\n\nfunction getMessageKeys(\n conversationKey: Uint8Array,\n nonce: Uint8Array,\n): { chacha_key: Uint8Array; chacha_nonce: Uint8Array; hmac_key: Uint8Array } {\n const keys = hkdf_expand(sha256, conversationKey, nonce, 76)\n return {\n chacha_key: keys.subarray(0, 32),\n chacha_nonce: keys.subarray(32, 44),\n hmac_key: keys.subarray(44, 76),\n }\n}\n\nfunction calcPaddedLen(len: number): number {\n if (!Number.isSafeInteger(len) || len < 1) throw new Error('expected positive integer')\n if (len <= 32) return 32\n const nextPower = 2 ** (Math.floor(Math.log2(len - 1)) + 1)\n const chunk = nextPower <= 256 ? 32 : nextPower / 8\n return chunk * (Math.floor((len - 1) / chunk) + 1)\n}\n\nfunction writeU16BE(num: number): Uint8Array {\n if (!Number.isSafeInteger(num) || num < minPlaintextSize || num > 0xffff)\n throw new Error('invalid plaintext size: must be between 1 and 65535 bytes')\n const arr = new Uint8Array(2)\n new DataView(arr.buffer).setUint16(0, num, false)\n return arr\n}\n\nfunction writeU32BE(num: number): Uint8Array {\n if (!Number.isSafeInteger(num) || num < extendedPrefixThreshold || num > maxPlaintextSize)\n throw new Error('invalid plaintext size: must be between 65536 and 4294967295 bytes')\n const arr = new Uint8Array(4)\n new DataView(arr.buffer).setUint32(0, num, false)\n return arr\n}\n\nfunction pad(plaintext: string): Uint8Array {\n const unpadded = utf8Encoder.encode(plaintext)\n const unpaddedLen = unpadded.length\n if (unpaddedLen < minPlaintextSize || unpaddedLen > maxPlaintextSize)\n throw new Error('invalid plaintext size: must be between 1 and 4294967295 bytes')\n const prefix =\n unpaddedLen >= extendedPrefixThreshold\n ? concatBytes(new Uint8Array([0, 0]), writeU32BE(unpaddedLen)) // 6 bytes\n : writeU16BE(unpaddedLen) // 2 bytes\n const suffix = new Uint8Array(calcPaddedLen(unpaddedLen) - unpaddedLen)\n return concatBytes(prefix, unpadded, suffix)\n}\n\nfunction unpad(padded: Uint8Array): string {\n const dv = new DataView(padded.buffer, padded.byteOffset, padded.byteLength)\n const firstTwo = dv.getUint16(0)\n let unpaddedLen: number\n let prefixLen: number\n if (firstTwo === 0) {\n // Extended format: 2 zero bytes + 4-byte u32 length\n unpaddedLen = dv.getUint32(2)\n if (unpaddedLen < extendedPrefixThreshold) throw new Error('invalid padding')\n prefixLen = 6\n } else {\n unpaddedLen = firstTwo\n prefixLen = 2\n }\n const unpadded = padded.subarray(prefixLen, prefixLen + unpaddedLen)\n if (\n unpaddedLen < minPlaintextSize ||\n unpaddedLen > maxPlaintextSize ||\n unpadded.length !== unpaddedLen ||\n padded.length !== prefixLen + calcPaddedLen(unpaddedLen)\n )\n throw new Error('invalid padding')\n return utf8Decoder.decode(unpadded)\n}\n\nfunction hmacAad(key: Uint8Array, message: Uint8Array, aad: Uint8Array): Uint8Array {\n if (aad.length !== 32) throw new Error('AAD associated data must be 32 bytes')\n const combined = concatBytes(aad, message)\n return hmac(sha256, key, combined)\n}\n\n// metadata: always 65b (version: 1b, nonce: 32b, mac: 32b)\n// plaintext: 1b to 0xffffffff\n// padded plaintext (small, <65536): 32b to 0x10000, with 2b prefix -> 34b to 0x10000+2\n// padded plaintext (large, >=65536): 0x10000 to 0x100000000, with 6b prefix -> 0x10006 to 0x100000000+6\n// ciphertext: same as padded plaintext (chacha20 doesn't change length)\n// raw payload (small): 99 (65+34) to 65603 (65+0x10000+2)\n// raw payload (large): 65607 (65+0x10006) to 4294967367 (65+0x100000000+6)\nfunction decodePayload(payload: string): { nonce: Uint8Array; ciphertext: Uint8Array; mac: Uint8Array } {\n if (typeof payload !== 'string') throw new Error('payload must be a valid string')\n const plen = payload.length\n if (plen < 132) throw new Error('invalid payload length: ' + plen)\n if (payload[0] === '#') throw new Error('unknown encryption version')\n let data: Uint8Array\n try {\n data = base64.decode(payload)\n } catch (error) {\n throw new Error('invalid base64: ' + (error as any).message)\n }\n const dlen = data.length\n if (dlen < 99) throw new Error('invalid data length: ' + dlen)\n const vers = data[0]\n if (vers !== 2) throw new Error('unknown encryption version ' + vers)\n return {\n nonce: data.subarray(1, 33),\n ciphertext: data.subarray(33, -32),\n mac: data.subarray(-32),\n }\n}\n\nexport function encrypt(plaintext: string, conversationKey: Uint8Array, nonce: Uint8Array = randomBytes(32)): string {\n const { chacha_key, chacha_nonce, hmac_key } = getMessageKeys(conversationKey, nonce)\n const padded = pad(plaintext)\n const ciphertext = chacha20(chacha_key, chacha_nonce, padded)\n const mac = hmacAad(hmac_key, ciphertext, nonce)\n return base64.encode(concatBytes(new Uint8Array([2]), nonce, ciphertext, mac))\n}\n\n/** Callers should validate payload size before calling to prevent DoS from oversized inputs. */\nexport function decrypt(payload: string, conversationKey: Uint8Array): string {\n const { nonce, ciphertext, mac } = decodePayload(payload)\n const { chacha_key, chacha_nonce, hmac_key } = getMessageKeys(conversationKey, nonce)\n const calculatedMac = hmacAad(hmac_key, ciphertext, nonce)\n if (!equalBytes(calculatedMac, mac)) throw new Error('invalid MAC')\n const padded = chacha20(chacha_key, chacha_nonce, ciphertext)\n return unpad(padded)\n}\n\nexport const v2 = {\n utils: {\n getConversationKey,\n calcPaddedLen,\n pad,\n unpad,\n },\n encrypt,\n decrypt,\n}\n", "import type { NostrEvent } from './core.ts'\n\nexport const utf8Decoder: TextDecoder = new TextDecoder('utf-8')\nexport const utf8Encoder: TextEncoder = new TextEncoder()\n\nexport { bytesToHex, hexToBytes } from '@noble/hashes/utils.js'\n\nexport function normalizeURL(url: string): string {\n try {\n if (url.indexOf('://') === -1) url = 'wss://' + url\n let p = new URL(url)\n if (p.protocol === 'http:') p.protocol = 'ws:'\n else if (p.protocol === 'https:') p.protocol = 'wss:'\n p.pathname = p.pathname.replace(/\\/+/g, '/')\n if (p.pathname.endsWith('/')) p.pathname = p.pathname.slice(0, -1)\n if ((p.port === '80' && p.protocol === 'ws:') || (p.port === '443' && p.protocol === 'wss:')) p.port = ''\n p.searchParams.sort()\n p.hash = ''\n return p.toString()\n } catch (e) {\n throw new Error(`Invalid URL: ${url}`)\n }\n}\n\nexport function insertEventIntoDescendingList(sortedArray: NostrEvent[], event: NostrEvent): NostrEvent[] {\n const [idx, found] = binarySearch(sortedArray, b => {\n if (event.id === b.id) return 0\n if (event.created_at === b.created_at) return -1\n return b.created_at - event.created_at\n })\n if (!found) {\n sortedArray.splice(idx, 0, event)\n }\n return sortedArray\n}\n\nexport function insertEventIntoAscendingList(sortedArray: NostrEvent[], event: NostrEvent): NostrEvent[] {\n const [idx, found] = binarySearch(sortedArray, b => {\n if (event.id === b.id) return 0\n if (event.created_at === b.created_at) return -1\n return event.created_at - b.created_at\n })\n if (!found) {\n sortedArray.splice(idx, 0, event)\n }\n return sortedArray\n}\n\nexport function binarySearch<T>(arr: T[], compare: (b: T) => number): [number, boolean] {\n let start = 0\n let end = arr.length - 1\n\n while (start <= end) {\n const mid = Math.floor((start + end) / 2)\n const cmp = compare(arr[mid])\n\n if (cmp === 0) {\n return [mid, true]\n }\n\n if (cmp < 0) {\n end = mid - 1\n } else {\n start = mid + 1\n }\n }\n\n return [start, false]\n}\n\nexport function mergeReverseSortedLists(list1: NostrEvent[], list2: NostrEvent[]): NostrEvent[] {\n const result: NostrEvent[] = new Array(list1.length + list2.length)\n result.length = 0\n let i1 = 0\n let i2 = 0\n let sameTimestampIds: string[] = []\n\n while (i1 < list1.length && i2 < list2.length) {\n let next: NostrEvent\n if (list1[i1]?.created_at > list2[i2]?.created_at) {\n next = list1[i1]\n i1++\n } else {\n next = list2[i2]\n i2++\n }\n\n if (result.length > 0 && result[result.length - 1].created_at === next.created_at) {\n if (sameTimestampIds.includes(next.id)) continue\n } else {\n sameTimestampIds.length = 0\n }\n\n result.push(next)\n sameTimestampIds.push(next.id)\n }\n\n while (i1 < list1.length) {\n const next = list1[i1]\n i1++\n\n if (result.length > 0 && result[result.length - 1].created_at === next.created_at) {\n if (sameTimestampIds.includes(next.id)) continue\n } else {\n sameTimestampIds.length = 0\n }\n result.push(next)\n sameTimestampIds.push(next.id)\n }\n\n while (i2 < list2.length) {\n const next = list2[i2]\n i2++\n\n if (result.length > 0 && result[result.length - 1].created_at === next.created_at) {\n if (sameTimestampIds.includes(next.id)) continue\n } else {\n sameTimestampIds.length = 0\n }\n result.push(next)\n sameTimestampIds.push(next.id)\n }\n\n return result\n}\n", "import { schnorr } from '@noble/curves/secp256k1.js'\nimport { bytesToHex, hexToBytes } from '@noble/hashes/utils.js'\nimport { Nostr, Event, EventTemplate, UnsignedEvent, VerifiedEvent, verifiedSymbol, validateEvent } from './core.ts'\nimport { sha256 } from '@noble/hashes/sha2.js'\n\nimport { utf8Encoder } from './utils.ts'\n\nclass JS implements Nostr {\n generateSecretKey(): Uint8Array {\n return schnorr.utils.randomSecretKey()\n }\n getPublicKey(secretKey: Uint8Array): string {\n return bytesToHex(schnorr.getPublicKey(secretKey))\n }\n finalizeEvent(t: EventTemplate, secretKey: Uint8Array): VerifiedEvent {\n const event = t as VerifiedEvent\n event.pubkey = bytesToHex(schnorr.getPublicKey(secretKey))\n event.id = getEventHash(event)\n event.sig = bytesToHex(schnorr.sign(hexToBytes(getEventHash(event)), secretKey))\n event[verifiedSymbol] = true\n return event\n }\n verifyEvent(event: Event): event is VerifiedEvent {\n if (typeof event[verifiedSymbol] === 'boolean') return event[verifiedSymbol]\n\n try {\n const hash = getEventHash(event)\n if (hash !== event.id) {\n event[verifiedSymbol] = false\n return false\n }\n\n const valid = schnorr.verify(hexToBytes(event.sig), hexToBytes(hash), hexToBytes(event.pubkey))\n event[verifiedSymbol] = valid\n return valid\n } catch (err) {\n event[verifiedSymbol] = false\n return false\n }\n }\n}\n\nexport function serializeEvent(evt: UnsignedEvent): string {\n if (!validateEvent(evt)) throw new Error(\"can't serialize event with wrong or missing properties\")\n return JSON.stringify([0, evt.pubkey, evt.created_at, evt.kind, evt.tags, evt.content])\n}\n\nexport function getEventHash(event: UnsignedEvent): string {\n let eventHash = sha256(utf8Encoder.encode(serializeEvent(event)))\n return bytesToHex(eventHash)\n}\n\nconst i: JS = new JS()\n\nexport const generateSecretKey = i.generateSecretKey\nexport const getPublicKey = i.getPublicKey\nexport const finalizeEvent = i.finalizeEvent\nexport const verifyEvent = i.verifyEvent\nexport * from './core.ts'\n", "export interface Nostr {\n generateSecretKey(): Uint8Array\n getPublicKey(secretKey: Uint8Array): string\n finalizeEvent(event: EventTemplate, secretKey: Uint8Array): VerifiedEvent\n verifyEvent(event: Event): event is VerifiedEvent\n}\n\n/** Designates a verified event signature. */\nexport const verifiedSymbol = Symbol('verified')\n\nexport type NostrEvent = {\n kind: number\n tags: string[][]\n content: string\n created_at: number\n pubkey: string\n id: string\n sig: string\n [verifiedSymbol]?: boolean\n}\n\nexport type Event = NostrEvent\nexport type EventTemplate = Pick<Event, 'kind' | 'tags' | 'content' | 'created_at'>\nexport type UnsignedEvent = Pick<Event, 'kind' | 'tags' | 'content' | 'created_at' | 'pubkey'>\n\n/** An event whose signature has been verified. */\nexport interface VerifiedEvent extends Event {\n [verifiedSymbol]: true\n}\n\nconst isRecord = (obj: unknown): obj is Record<string, unknown> => obj instanceof Object\n\nexport function validateEvent<T>(event: T): event is T & UnsignedEvent {\n if (!isRecord(event)) return false\n if (typeof event.kind !== 'number') return false\n if (typeof event.content !== 'string') return false\n if (typeof event.created_at !== 'number') return false\n if (typeof event.pubkey !== 'string') return false\n if (!event.pubkey.match(/^[a-f0-9]{64}$/)) return false\n\n if (!Array.isArray(event.tags)) return false\n for (let i = 0; i < event.tags.length; i++) {\n let tag = event.tags[i]\n if (!Array.isArray(tag)) return false\n for (let j = 0; j < tag.length; j++) {\n if (typeof tag[j] !== 'string') return false\n }\n }\n\n return true\n}\n\n/**\n * Sort events in reverse-chronological order by the `created_at` timestamp,\n * and then by the event `id` (lexicographically) in case of ties.\n * This mutates the array.\n */\nexport function sortEvents(events: Event[]): Event[] {\n return events.sort((a: NostrEvent, b: NostrEvent): number => {\n if (a.created_at !== b.created_at) {\n return b.created_at - a.created_at\n }\n return a.id.localeCompare(b.id)\n })\n}\n", "import { NostrEvent, validateEvent } from './pure.ts'\n\n/** Events are **regular**, which means they're all expected to be stored by relays. */\nexport function isRegularKind(kind: number): boolean {\n return kind < 10000 && kind !== 0 && kind !== 3\n}\n\n/** Events are **replaceable**, which means that, for each combination of `pubkey` and `kind`, only the latest event is expected to (SHOULD) be stored by relays, older versions are expected to be discarded. */\nexport function isReplaceableKind(kind: number): boolean {\n return kind === 0 || kind === 3 || (10000 <= kind && kind < 20000)\n}\n\n/** Events are **ephemeral**, which means they are not expected to be stored by relays. */\nexport function isEphemeralKind(kind: number): boolean {\n return 20000 <= kind && kind < 30000\n}\n\n/** Events are **addressable**, which means that, for each combination of `pubkey`, `kind` and the `d` tag, only the latest event is expected to be stored by relays, older versions are expected to be discarded. */\nexport function isAddressableKind(kind: number): boolean {\n return 30000 <= kind && kind < 40000\n}\n\n/** Classification of the event kind. */\nexport type KindClassification = 'regular' | 'replaceable' | 'ephemeral' | 'parameterized' | 'unknown'\n\n/** Determine the classification of this kind of event if known, or `unknown`. */\nexport function classifyKind(kind: number): KindClassification {\n if (isRegularKind(kind)) return 'regular'\n if (isReplaceableKind(kind)) return 'replaceable'\n if (isEphemeralKind(kind)) return 'ephemeral'\n if (isAddressableKind(kind)) return 'parameterized'\n return 'unknown'\n}\n\nexport function isKind<T extends number>(event: unknown, kind: T | Array<T>): event is NostrEvent & { kind: T } {\n const kindAsArray: number[] = kind instanceof Array ? kind : [kind]\n return (validateEvent(event) && kindAsArray.includes(event.kind)) || false\n}\n\nexport const Metadata = 0\nexport type Metadata = typeof Metadata\nexport const ShortTextNote = 1\nexport type ShortTextNote = typeof ShortTextNote\nexport const RecommendRelay = 2\nexport type RecommendRelay = typeof RecommendRelay\nexport const Contacts = 3\nexport type Contacts = typeof Contacts\nexport const EncryptedDirectMessage = 4\nexport type EncryptedDirectMessage = typeof EncryptedDirectMessage\nexport const EventDeletion = 5\nexport type EventDeletion = typeof EventDeletion\nexport const Repost = 6\nexport type Repost = typeof Repost\nexport const Reaction = 7\nexport type Reaction = typeof Reaction\nexport const BadgeAward = 8\nexport type BadgeAward = typeof BadgeAward\nexport const ChatMessage = 9\nexport type ChatMessage = typeof ChatMessage\nexport const ForumThread = 11\nexport type ForumThread = typeof ForumThread\nexport const Seal = 13\nexport type Seal = typeof Seal\nexport const PrivateDirectMessage = 14\nexport type PrivateDirectMessage = typeof PrivateDirectMessage\nexport const FileMessage = 15\nexport type FileMessage = typeof FileMessage\nexport const GenericRepost = 16\nexport type GenericRepost = typeof GenericRepost\nexport const Photo = 20\nexport type Photo = typeof Photo\nexport const NormalVideo = 21\nexport type NormalVideo = typeof NormalVideo\nexport const ShortVideo = 22\nexport type ShortVideo = typeof ShortVideo\nexport const ChannelCreation = 40\nexport type ChannelCreation = typeof ChannelCreation\nexport const ChannelMetadata = 41\nexport type ChannelMetadata = typeof ChannelMetadata\nexport const ChannelMessage = 42\nexport type ChannelMessage = typeof ChannelMessage\nexport const ChannelHideMessage = 43\nexport type ChannelHideMessage = typeof ChannelHideMessage\nexport const ChannelMuteUser = 44\nexport type ChannelMuteUser = typeof ChannelMuteUser\nexport const OpenTimestamps = 1040\nexport type OpenTimestamps = typeof OpenTimestamps\nexport const GiftWrap = 1059\nexport type GiftWrap = typeof GiftWrap\nexport const Poll = 1068\nexport type Poll = typeof Poll\nexport const FileMetadata = 1063\nexport type FileMetadata = typeof FileMetadata\nexport const Comment = 1111\nexport type Comment = typeof Comment\nexport const LiveChatMessage = 1311\nexport type LiveChatMessage = typeof LiveChatMessage\nexport const Voice = 1222\nexport type Voice = typeof Voice\nexport const VoiceComment = 1244\nexport type VoiceComment = typeof VoiceComment\nexport const ProblemTracker = 1971\nexport type ProblemTracker = typeof ProblemTracker\nexport const Report = 1984\nexport type Report = typeof Report\nexport const Reporting = 1984\nexport type Reporting = typeof Reporting\nexport const Label = 1985\nexport type Label = typeof Label\nexport const CommunityPostApproval = 4550\nexport type CommunityPostApproval = typeof CommunityPostApproval\nexport const JobRequest = 5999\nexport type JobRequest = typeof JobRequest\nexport const JobResult = 6999\nexport type JobResult = typeof JobResult\nexport const JobFeedback = 7000\nexport type JobFeedback = typeof JobFeedback\nexport const ZapGoal = 9041\nexport type ZapGoal = typeof ZapGoal\nexport const ZapRequest = 9734\nexport type ZapRequest = typeof ZapRequest\nexport const Zap = 9735\nexport type Zap = typeof Zap\nexport const Highlights = 9802\nexport type Highlights = typeof Highlights\nexport const PollResponse = 1018\nexport type PollResponse = typeof PollResponse\nexport const Mutelist = 10000\nexport type Mutelist = typeof Mutelist\nexport const Pinlist = 10001\nexport type Pinlist = typeof Pinlist\nexport const RelayList = 10002\nexport type RelayList = typeof RelayList\nexport const BookmarkList = 10003\nexport type BookmarkList = typeof BookmarkList\nexport const CommunitiesList = 10004\nexport type CommunitiesList = typeof CommunitiesList\nexport const PublicChatsList = 10005\nexport type PublicChatsList = typeof PublicChatsList\nexport const BlockedRelaysList = 10006\nexport type BlockedRelaysList = typeof BlockedRelaysList\nexport const SearchRelaysList = 10007\nexport type SearchRelaysList = typeof SearchRelaysList\nexport const FavoriteRelays = 10012\nexport type FavoriteRelays = typeof FavoriteRelays\nexport const InterestsList = 10015\nexport type InterestsList = typeof InterestsList\nexport const UserEmojiList = 10030\nexport type UserEmojiList = typeof UserEmojiList\nexport const DirectMessageRelaysList = 10050\nexport type DirectMessageRelaysList = typeof DirectMessageRelaysList\nexport const FileServerPreference = 10096\nexport type FileServerPreference = typeof FileServerPreference\nexport const BlossomServerList = 10063\nexport type BlossomServerList = typeof BlossomServerList\nexport const NWCWalletInfo = 13194\nexport type NWCWalletInfo = typeof NWCWalletInfo\nexport const LightningPubRPC = 21000\nexport type LightningPubRPC = typeof LightningPubRPC\nexport const ClientAuth = 22242\nexport type ClientAuth = typeof ClientAuth\nexport const NWCWalletRequest = 23194\nexport type NWCWalletRequest = typeof NWCWalletRequest\nexport const NWCWalletResponse = 23195\nexport type NWCWalletResponse = typeof NWCWalletResponse\nexport const NostrConnect = 24133\nexport type NostrConnect = typeof NostrConnect\nexport const HTTPAuth = 27235\nexport type HTTPAuth = typeof HTTPAuth\nexport const Followsets = 30000\nexport type Followsets = typeof Followsets\nexport const Genericlists = 30001\nexport type Genericlists = typeof Genericlists\nexport const Relaysets = 30002\nexport type Relaysets = typeof Relaysets\nexport const Bookmarksets = 30003\nexport type Bookmarksets = typeof Bookmarksets\nexport const Curationsets = 30004\nexport type Curationsets = typeof Curationsets\nexport const ProfileBadges = 30008\nexport type ProfileBadges = typeof ProfileBadges\nexport const BadgeDefinition = 30009\nexport type BadgeDefinition = typeof BadgeDefinition\nexport const Interestsets = 30015\nexport type Interestsets = typeof Interestsets\nexport const CreateOrUpdateStall = 30017\nexport type CreateOrUpdateStall = typeof CreateOrUpdateStall\nexport const CreateOrUpdateProduct = 30018\nexport type CreateOrUpdateProduct = typeof CreateOrUpdateProduct\nexport const LongFormArticle = 30023\nexport type LongFormArticle = typeof LongFormArticle\nexport const DraftLong = 30024\nexport type DraftLong = typeof DraftLong\nexport const Emojisets = 30030\nexport type Emojisets = typeof Emojisets\nexport const Application = 30078\nexport type Application = typeof Application\nexport const LiveEvent = 30311\nexport type LiveEvent = typeof LiveEvent\nexport const UserStatuses = 30315\nexport type UserStatuses = typeof UserStatuses\nexport const ClassifiedListing = 30402\nexport type ClassifiedListing = typeof ClassifiedListing\nexport const DraftClassifiedListing = 30403\nexport type DraftClassifiedListing = typeof DraftClassifiedListing\nexport const Date = 31922\nexport type Date = typeof Date\nexport const Time = 31923\nexport type Time = typeof Time\nexport const Calendar = 31924\nexport type Calendar = typeof Calendar\nexport const CalendarEventRSVP = 31925\nexport type CalendarEventRSVP = typeof CalendarEventRSVP\nexport const RelayReview = 31987\nexport type RelayReview = typeof RelayReview\nexport const Handlerrecommendation = 31989\nexport type Handlerrecommendation = typeof Handlerrecommendation\nexport const Handlerinformation = 31990\nexport type Handlerinformation = typeof Handlerinformation\nexport const CommunityDefinition = 34550\nexport type CommunityDefinition = typeof CommunityDefinition\nexport const GroupMetadata = 39000\nexport type GroupMetadata = typeof GroupMetadata\n"],
5
+ "mappings": "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",
6
+ "names": ["import_utils", "hkdf_extract", "hkdf_expand", "import_secp256k1", "import_utils", "i", "import_sha2"]
7
+ }
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // nip75.ts
21
+ var nip75_exports = {};
22
+ __export(nip75_exports, {
23
+ generateGoalEventTemplate: () => generateGoalEventTemplate,
24
+ validateZapGoalEvent: () => validateZapGoalEvent
25
+ });
26
+ module.exports = __toCommonJS(nip75_exports);
27
+
28
+ // kinds.ts
29
+ var ZapGoal = 9041;
30
+
31
+ // nip75.ts
32
+ function generateGoalEventTemplate({
33
+ amount,
34
+ content,
35
+ relays,
36
+ a,
37
+ closedAt,
38
+ image,
39
+ r,
40
+ summary,
41
+ zapTags
42
+ }) {
43
+ const tags = [
44
+ ["amount", amount],
45
+ ["relays", ...relays]
46
+ ];
47
+ closedAt && tags.push(["closed_at", closedAt.toString()]);
48
+ image && tags.push(["image", image]);
49
+ summary && tags.push(["summary", summary]);
50
+ r && tags.push(["r", r]);
51
+ a && tags.push(["a", a]);
52
+ zapTags && tags.push(...zapTags);
53
+ const eventTemplate = {
54
+ created_at: Math.floor(Date.now() / 1e3),
55
+ kind: ZapGoal,
56
+ content,
57
+ tags
58
+ };
59
+ return eventTemplate;
60
+ }
61
+ function validateZapGoalEvent(event) {
62
+ if (event.kind !== ZapGoal)
63
+ return false;
64
+ const requiredTags = ["amount", "relays"];
65
+ for (const tag of requiredTags) {
66
+ if (!event.tags.find(([t]) => t == tag))
67
+ return false;
68
+ }
69
+ return true;
70
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../nip75.ts", "../../kinds.ts"],
4
+ "sourcesContent": ["import { Event, EventTemplate } from './core.ts'\nimport { ZapGoal } from './kinds.ts'\n\n/**\n * Represents a fundraising goal in the Nostr network as defined by NIP-75.\n * This type is used to structure the information needed to create a goal event (`kind:9041`).\n */\nexport type Goal = {\n /**\n * A human-readable description of the fundraising goal.\n * This content should provide clear information about the purpose of the fundraising.\n */\n content: string\n\n /**\n * The target amount for the fundraising goal in milisats.\n * This defines the financial target that the fundraiser aims to reach.\n */\n amount: string\n\n /**\n * A list of relays where the zaps towards this goal will be sent to and tallied from.\n * Each relay is represented by its WebSocket URL.\n */\n relays: string[]\n\n /**\n * An optional timestamp (in seconds, UNIX epoch) indicating when the fundraising goal is considered closed.\n * Zaps published after this timestamp should not count towards the goal progress.\n * If not provided, the goal remains open indefinitely or until manually closed.\n */\n closedAt?: number\n\n /**\n * An optional URL to an image related to the goal.\n * This can be used to visually represent the goal on client interfaces.\n */\n image?: string\n\n /**\n * An optional brief description or summary of the goal.\n * This can provide a quick overview of the goal, separate from the detailed `content`.\n */\n summary?: string\n\n /**\n * An optional URL related to the goal, providing additional information or actions through an 'r' tag.\n * This is a single URL, as per NIP-75 specifications for linking additional resources.\n */\n r?: string\n\n /**\n * An optional parameterized replaceable event linked to the goal, specified through an 'a' tag.\n * This is a single event id, aligning with NIP-75's allowance for linking to specific events.\n */\n a?: string\n\n /**\n * Optional tags specifying multiple beneficiary pubkeys or additional criteria for zapping,\n * allowing contributions to be directed towards multiple recipients or according to specific conditions.\n */\n zapTags?: string[][]\n}\n\n/**\n * Generates an EventTemplate for a fundraising goal based on the provided ZapGoal object.\n * This function is tailored to fit the structure of EventTemplate as defined in the library.\n * @param zapGoal The ZapGoal object containing the details of the fundraising goal.\n * @returns An EventTemplate object structured for creating a Nostr event.\n */\nexport function generateGoalEventTemplate({\n amount,\n content,\n relays,\n a,\n closedAt,\n image,\n r,\n summary,\n zapTags,\n}: Goal): EventTemplate {\n const tags: string[][] = [\n ['amount', amount],\n ['relays', ...relays],\n ]\n\n // Append optional tags based on the presence of optional properties in zapGoal\n closedAt && tags.push(['closed_at', closedAt.toString()])\n image && tags.push(['image', image])\n summary && tags.push(['summary', summary])\n r && tags.push(['r', r])\n a && tags.push(['a', a])\n zapTags && tags.push(...zapTags)\n\n // Construct the EventTemplate object\n const eventTemplate: EventTemplate = {\n created_at: Math.floor(Date.now() / 1000),\n kind: ZapGoal,\n content,\n tags,\n }\n\n return eventTemplate\n}\n\nexport function validateZapGoalEvent(event: Event): boolean {\n if (event.kind !== ZapGoal) return false\n\n const requiredTags = ['amount', 'relays'] as const\n for (const tag of requiredTags) {\n if (!event.tags.find(([t]) => t == tag)) return false\n }\n\n return true\n}\n", "import { NostrEvent, validateEvent } from './pure.ts'\n\n/** Events are **regular**, which means they're all expected to be stored by relays. */\nexport function isRegularKind(kind: number): boolean {\n return kind < 10000 && kind !== 0 && kind !== 3\n}\n\n/** Events are **replaceable**, which means that, for each combination of `pubkey` and `kind`, only the latest event is expected to (SHOULD) be stored by relays, older versions are expected to be discarded. */\nexport function isReplaceableKind(kind: number): boolean {\n return kind === 0 || kind === 3 || (10000 <= kind && kind < 20000)\n}\n\n/** Events are **ephemeral**, which means they are not expected to be stored by relays. */\nexport function isEphemeralKind(kind: number): boolean {\n return 20000 <= kind && kind < 30000\n}\n\n/** Events are **addressable**, which means that, for each combination of `pubkey`, `kind` and the `d` tag, only the latest event is expected to be stored by relays, older versions are expected to be discarded. */\nexport function isAddressableKind(kind: number): boolean {\n return 30000 <= kind && kind < 40000\n}\n\n/** Classification of the event kind. */\nexport type KindClassification = 'regular' | 'replaceable' | 'ephemeral' | 'parameterized' | 'unknown'\n\n/** Determine the classification of this kind of event if known, or `unknown`. */\nexport function classifyKind(kind: number): KindClassification {\n if (isRegularKind(kind)) return 'regular'\n if (isReplaceableKind(kind)) return 'replaceable'\n if (isEphemeralKind(kind)) return 'ephemeral'\n if (isAddressableKind(kind)) return 'parameterized'\n return 'unknown'\n}\n\nexport function isKind<T extends number>(event: unknown, kind: T | Array<T>): event is NostrEvent & { kind: T } {\n const kindAsArray: number[] = kind instanceof Array ? kind : [kind]\n return (validateEvent(event) && kindAsArray.includes(event.kind)) || false\n}\n\nexport const Metadata = 0\nexport type Metadata = typeof Metadata\nexport const ShortTextNote = 1\nexport type ShortTextNote = typeof ShortTextNote\nexport const RecommendRelay = 2\nexport type RecommendRelay = typeof RecommendRelay\nexport const Contacts = 3\nexport type Contacts = typeof Contacts\nexport const EncryptedDirectMessage = 4\nexport type EncryptedDirectMessage = typeof EncryptedDirectMessage\nexport const EventDeletion = 5\nexport type EventDeletion = typeof EventDeletion\nexport const Repost = 6\nexport type Repost = typeof Repost\nexport const Reaction = 7\nexport type Reaction = typeof Reaction\nexport const BadgeAward = 8\nexport type BadgeAward = typeof BadgeAward\nexport const ChatMessage = 9\nexport type ChatMessage = typeof ChatMessage\nexport const ForumThread = 11\nexport type ForumThread = typeof ForumThread\nexport const Seal = 13\nexport type Seal = typeof Seal\nexport const PrivateDirectMessage = 14\nexport type PrivateDirectMessage = typeof PrivateDirectMessage\nexport const FileMessage = 15\nexport type FileMessage = typeof FileMessage\nexport const GenericRepost = 16\nexport type GenericRepost = typeof GenericRepost\nexport const Photo = 20\nexport type Photo = typeof Photo\nexport const NormalVideo = 21\nexport type NormalVideo = typeof NormalVideo\nexport const ShortVideo = 22\nexport type ShortVideo = typeof ShortVideo\nexport const ChannelCreation = 40\nexport type ChannelCreation = typeof ChannelCreation\nexport const ChannelMetadata = 41\nexport type ChannelMetadata = typeof ChannelMetadata\nexport const ChannelMessage = 42\nexport type ChannelMessage = typeof ChannelMessage\nexport const ChannelHideMessage = 43\nexport type ChannelHideMessage = typeof ChannelHideMessage\nexport const ChannelMuteUser = 44\nexport type ChannelMuteUser = typeof ChannelMuteUser\nexport const OpenTimestamps = 1040\nexport type OpenTimestamps = typeof OpenTimestamps\nexport const GiftWrap = 1059\nexport type GiftWrap = typeof GiftWrap\nexport const Poll = 1068\nexport type Poll = typeof Poll\nexport const FileMetadata = 1063\nexport type FileMetadata = typeof FileMetadata\nexport const Comment = 1111\nexport type Comment = typeof Comment\nexport const LiveChatMessage = 1311\nexport type LiveChatMessage = typeof LiveChatMessage\nexport const Voice = 1222\nexport type Voice = typeof Voice\nexport const VoiceComment = 1244\nexport type VoiceComment = typeof VoiceComment\nexport const ProblemTracker = 1971\nexport type ProblemTracker = typeof ProblemTracker\nexport const Report = 1984\nexport type Report = typeof Report\nexport const Reporting = 1984\nexport type Reporting = typeof Reporting\nexport const Label = 1985\nexport type Label = typeof Label\nexport const CommunityPostApproval = 4550\nexport type CommunityPostApproval = typeof CommunityPostApproval\nexport const JobRequest = 5999\nexport type JobRequest = typeof JobRequest\nexport const JobResult = 6999\nexport type JobResult = typeof JobResult\nexport const JobFeedback = 7000\nexport type JobFeedback = typeof JobFeedback\nexport const ZapGoal = 9041\nexport type ZapGoal = typeof ZapGoal\nexport const ZapRequest = 9734\nexport type ZapRequest = typeof ZapRequest\nexport const Zap = 9735\nexport type Zap = typeof Zap\nexport const Highlights = 9802\nexport type Highlights = typeof Highlights\nexport const PollResponse = 1018\nexport type PollResponse = typeof PollResponse\nexport const Mutelist = 10000\nexport type Mutelist = typeof Mutelist\nexport const Pinlist = 10001\nexport type Pinlist = typeof Pinlist\nexport const RelayList = 10002\nexport type RelayList = typeof RelayList\nexport const BookmarkList = 10003\nexport type BookmarkList = typeof BookmarkList\nexport const CommunitiesList = 10004\nexport type CommunitiesList = typeof CommunitiesList\nexport const PublicChatsList = 10005\nexport type PublicChatsList = typeof PublicChatsList\nexport const BlockedRelaysList = 10006\nexport type BlockedRelaysList = typeof BlockedRelaysList\nexport const SearchRelaysList = 10007\nexport type SearchRelaysList = typeof SearchRelaysList\nexport const FavoriteRelays = 10012\nexport type FavoriteRelays = typeof FavoriteRelays\nexport const InterestsList = 10015\nexport type InterestsList = typeof InterestsList\nexport const UserEmojiList = 10030\nexport type UserEmojiList = typeof UserEmojiList\nexport const DirectMessageRelaysList = 10050\nexport type DirectMessageRelaysList = typeof DirectMessageRelaysList\nexport const FileServerPreference = 10096\nexport type FileServerPreference = typeof FileServerPreference\nexport const BlossomServerList = 10063\nexport type BlossomServerList = typeof BlossomServerList\nexport const NWCWalletInfo = 13194\nexport type NWCWalletInfo = typeof NWCWalletInfo\nexport const LightningPubRPC = 21000\nexport type LightningPubRPC = typeof LightningPubRPC\nexport const ClientAuth = 22242\nexport type ClientAuth = typeof ClientAuth\nexport const NWCWalletRequest = 23194\nexport type NWCWalletRequest = typeof NWCWalletRequest\nexport const NWCWalletResponse = 23195\nexport type NWCWalletResponse = typeof NWCWalletResponse\nexport const NostrConnect = 24133\nexport type NostrConnect = typeof NostrConnect\nexport const HTTPAuth = 27235\nexport type HTTPAuth = typeof HTTPAuth\nexport const Followsets = 30000\nexport type Followsets = typeof Followsets\nexport const Genericlists = 30001\nexport type Genericlists = typeof Genericlists\nexport const Relaysets = 30002\nexport type Relaysets = typeof Relaysets\nexport const Bookmarksets = 30003\nexport type Bookmarksets = typeof Bookmarksets\nexport const Curationsets = 30004\nexport type Curationsets = typeof Curationsets\nexport const ProfileBadges = 30008\nexport type ProfileBadges = typeof ProfileBadges\nexport const BadgeDefinition = 30009\nexport type BadgeDefinition = typeof BadgeDefinition\nexport const Interestsets = 30015\nexport type Interestsets = typeof Interestsets\nexport const CreateOrUpdateStall = 30017\nexport type CreateOrUpdateStall = typeof CreateOrUpdateStall\nexport const CreateOrUpdateProduct = 30018\nexport type CreateOrUpdateProduct = typeof CreateOrUpdateProduct\nexport const LongFormArticle = 30023\nexport type LongFormArticle = typeof LongFormArticle\nexport const DraftLong = 30024\nexport type DraftLong = typeof DraftLong\nexport const Emojisets = 30030\nexport type Emojisets = typeof Emojisets\nexport const Application = 30078\nexport type Application = typeof Application\nexport const LiveEvent = 30311\nexport type LiveEvent = typeof LiveEvent\nexport const UserStatuses = 30315\nexport type UserStatuses = typeof UserStatuses\nexport const ClassifiedListing = 30402\nexport type ClassifiedListing = typeof ClassifiedListing\nexport const DraftClassifiedListing = 30403\nexport type DraftClassifiedListing = typeof DraftClassifiedListing\nexport const Date = 31922\nexport type Date = typeof Date\nexport const Time = 31923\nexport type Time = typeof Time\nexport const Calendar = 31924\nexport type Calendar = typeof Calendar\nexport const CalendarEventRSVP = 31925\nexport type CalendarEventRSVP = typeof CalendarEventRSVP\nexport const RelayReview = 31987\nexport type RelayReview = typeof RelayReview\nexport const Handlerrecommendation = 31989\nexport type Handlerrecommendation = typeof Handlerrecommendation\nexport const Handlerinformation = 31990\nexport type Handlerinformation = typeof Handlerinformation\nexport const CommunityDefinition = 34550\nexport type CommunityDefinition = typeof CommunityDefinition\nexport const GroupMetadata = 39000\nexport type GroupMetadata = typeof GroupMetadata\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACqHO,IAAM,UAAU;;;AD/ChB,SAAS,0BAA0B;AAAA,EACxC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAwB;AACtB,QAAM,OAAmB;AAAA,IACvB,CAAC,UAAU,MAAM;AAAA,IACjB,CAAC,UAAU,GAAG,MAAM;AAAA,EACtB;AAGA,cAAY,KAAK,KAAK,CAAC,aAAa,SAAS,SAAS,CAAC,CAAC;AACxD,WAAS,KAAK,KAAK,CAAC,SAAS,KAAK,CAAC;AACnC,aAAW,KAAK,KAAK,CAAC,WAAW,OAAO,CAAC;AACzC,OAAK,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC;AACvB,OAAK,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC;AACvB,aAAW,KAAK,KAAK,GAAG,OAAO;AAG/B,QAAM,gBAA+B;AAAA,IACnC,YAAY,KAAK,MAAM,KAAK,IAAI,IAAI,GAAI;AAAA,IACxC,MAAM;AAAA,IACN;AAAA,IACA;AAAA,EACF;AAEA,SAAO;AACT;AAEO,SAAS,qBAAqB,OAAuB;AAC1D,MAAI,MAAM,SAAS;AAAS,WAAO;AAEnC,QAAM,eAAe,CAAC,UAAU,QAAQ;AACxC,aAAW,OAAO,cAAc;AAC9B,QAAI,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,KAAK,GAAG;AAAG,aAAO;AAAA,EAClD;AAEA,SAAO;AACT;",
6
+ "names": []
7
+ }