@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.
- package/node_modules/@noble/ciphers/LICENSE +22 -0
- package/node_modules/@noble/ciphers/README.md +608 -0
- package/node_modules/@noble/ciphers/_arx.d.ts +81 -0
- package/node_modules/@noble/ciphers/_arx.d.ts.map +1 -0
- package/node_modules/@noble/ciphers/_arx.js +258 -0
- package/node_modules/@noble/ciphers/_arx.js.map +1 -0
- package/node_modules/@noble/ciphers/_poly1305.d.ts +48 -0
- package/node_modules/@noble/ciphers/_poly1305.d.ts.map +1 -0
- package/node_modules/@noble/ciphers/_poly1305.js +319 -0
- package/node_modules/@noble/ciphers/_poly1305.js.map +1 -0
- package/node_modules/@noble/ciphers/_polyval.d.ts +62 -0
- package/node_modules/@noble/ciphers/_polyval.d.ts.map +1 -0
- package/node_modules/@noble/ciphers/_polyval.js +231 -0
- package/node_modules/@noble/ciphers/_polyval.js.map +1 -0
- package/node_modules/@noble/ciphers/aes.d.ts +231 -0
- package/node_modules/@noble/ciphers/aes.d.ts.map +1 -0
- package/node_modules/@noble/ciphers/aes.js +1281 -0
- package/node_modules/@noble/ciphers/aes.js.map +1 -0
- package/node_modules/@noble/ciphers/chacha.d.ts +75 -0
- package/node_modules/@noble/ciphers/chacha.d.ts.map +1 -0
- package/node_modules/@noble/ciphers/chacha.js +385 -0
- package/node_modules/@noble/ciphers/chacha.js.map +1 -0
- package/node_modules/@noble/ciphers/ff1.d.ts +9 -0
- package/node_modules/@noble/ciphers/ff1.d.ts.map +1 -0
- package/node_modules/@noble/ciphers/ff1.js +160 -0
- package/node_modules/@noble/ciphers/ff1.js.map +1 -0
- package/node_modules/@noble/ciphers/index.d.ts +2 -0
- package/node_modules/@noble/ciphers/index.d.ts.map +1 -0
- package/node_modules/@noble/ciphers/index.js +27 -0
- package/node_modules/@noble/ciphers/index.js.map +1 -0
- package/node_modules/@noble/ciphers/package.json +81 -0
- package/node_modules/@noble/ciphers/salsa.d.ts +30 -0
- package/node_modules/@noble/ciphers/salsa.d.ts.map +1 -0
- package/node_modules/@noble/ciphers/salsa.js +260 -0
- package/node_modules/@noble/ciphers/salsa.js.map +1 -0
- package/node_modules/@noble/ciphers/src/_arx.ts +338 -0
- package/node_modules/@noble/ciphers/src/_poly1305.ts +360 -0
- package/node_modules/@noble/ciphers/src/_polyval.ts +272 -0
- package/node_modules/@noble/ciphers/src/aes.ts +1439 -0
- package/node_modules/@noble/ciphers/src/chacha.ts +367 -0
- package/node_modules/@noble/ciphers/src/ff1.ts +162 -0
- package/node_modules/@noble/ciphers/src/index.ts +25 -0
- package/node_modules/@noble/ciphers/src/salsa.ts +255 -0
- package/node_modules/@noble/ciphers/src/utils.ts +497 -0
- package/node_modules/@noble/ciphers/src/webcrypto.ts +125 -0
- package/node_modules/@noble/ciphers/utils.d.ts +171 -0
- package/node_modules/@noble/ciphers/utils.d.ts.map +1 -0
- package/node_modules/@noble/ciphers/utils.js +343 -0
- package/node_modules/@noble/ciphers/utils.js.map +1 -0
- package/node_modules/@noble/ciphers/webcrypto.d.ts +30 -0
- package/node_modules/@noble/ciphers/webcrypto.d.ts.map +1 -0
- package/node_modules/@noble/ciphers/webcrypto.js +99 -0
- package/node_modules/@noble/ciphers/webcrypto.js.map +1 -0
- package/node_modules/@noble/curves/LICENSE +21 -0
- package/node_modules/@noble/curves/README.md +1037 -0
- package/node_modules/@noble/curves/abstract/bls.d.ts +128 -0
- package/node_modules/@noble/curves/abstract/bls.d.ts.map +1 -0
- package/node_modules/@noble/curves/abstract/bls.js +372 -0
- package/node_modules/@noble/curves/abstract/bls.js.map +1 -0
- package/node_modules/@noble/curves/abstract/curve.d.ts +195 -0
- package/node_modules/@noble/curves/abstract/curve.d.ts.map +1 -0
- package/node_modules/@noble/curves/abstract/curve.js +457 -0
- package/node_modules/@noble/curves/abstract/curve.js.map +1 -0
- package/node_modules/@noble/curves/abstract/edwards.d.ts +184 -0
- package/node_modules/@noble/curves/abstract/edwards.d.ts.map +1 -0
- package/node_modules/@noble/curves/abstract/edwards.js +558 -0
- package/node_modules/@noble/curves/abstract/edwards.js.map +1 -0
- package/node_modules/@noble/curves/abstract/fft.d.ts +127 -0
- package/node_modules/@noble/curves/abstract/fft.d.ts.map +1 -0
- package/node_modules/@noble/curves/abstract/fft.js +426 -0
- package/node_modules/@noble/curves/abstract/fft.js.map +1 -0
- package/node_modules/@noble/curves/abstract/hash-to-curve.d.ts +90 -0
- package/node_modules/@noble/curves/abstract/hash-to-curve.d.ts.map +1 -0
- package/node_modules/@noble/curves/abstract/hash-to-curve.js +207 -0
- package/node_modules/@noble/curves/abstract/hash-to-curve.js.map +1 -0
- package/node_modules/@noble/curves/abstract/modular.d.ts +159 -0
- package/node_modules/@noble/curves/abstract/modular.d.ts.map +1 -0
- package/node_modules/@noble/curves/abstract/modular.js +555 -0
- package/node_modules/@noble/curves/abstract/modular.js.map +1 -0
- package/node_modules/@noble/curves/abstract/montgomery.d.ts +25 -0
- package/node_modules/@noble/curves/abstract/montgomery.d.ts.map +1 -0
- package/node_modules/@noble/curves/abstract/montgomery.js +153 -0
- package/node_modules/@noble/curves/abstract/montgomery.js.map +1 -0
- package/node_modules/@noble/curves/abstract/oprf.d.ts +282 -0
- package/node_modules/@noble/curves/abstract/oprf.d.ts.map +1 -0
- package/node_modules/@noble/curves/abstract/oprf.js +297 -0
- package/node_modules/@noble/curves/abstract/oprf.js.map +1 -0
- package/node_modules/@noble/curves/abstract/poseidon.d.ts +68 -0
- package/node_modules/@noble/curves/abstract/poseidon.d.ts.map +1 -0
- package/node_modules/@noble/curves/abstract/poseidon.js +300 -0
- package/node_modules/@noble/curves/abstract/poseidon.js.map +1 -0
- package/node_modules/@noble/curves/abstract/tower.d.ts +95 -0
- package/node_modules/@noble/curves/abstract/tower.d.ts.map +1 -0
- package/node_modules/@noble/curves/abstract/tower.js +742 -0
- package/node_modules/@noble/curves/abstract/tower.js.map +1 -0
- package/node_modules/@noble/curves/abstract/weierstrass.d.ts +325 -0
- package/node_modules/@noble/curves/abstract/weierstrass.d.ts.map +1 -0
- package/node_modules/@noble/curves/abstract/weierstrass.js +1222 -0
- package/node_modules/@noble/curves/abstract/weierstrass.js.map +1 -0
- package/node_modules/@noble/curves/bls12-381.d.ts +10 -0
- package/node_modules/@noble/curves/bls12-381.d.ts.map +1 -0
- package/node_modules/@noble/curves/bls12-381.js +688 -0
- package/node_modules/@noble/curves/bls12-381.js.map +1 -0
- package/node_modules/@noble/curves/bn254.d.ts +66 -0
- package/node_modules/@noble/curves/bn254.d.ts.map +1 -0
- package/node_modules/@noble/curves/bn254.js +190 -0
- package/node_modules/@noble/curves/bn254.js.map +1 -0
- package/node_modules/@noble/curves/ed25519.d.ts +101 -0
- package/node_modules/@noble/curves/ed25519.d.ts.map +1 -0
- package/node_modules/@noble/curves/ed25519.js +462 -0
- package/node_modules/@noble/curves/ed25519.js.map +1 -0
- package/node_modules/@noble/curves/ed448.d.ts +91 -0
- package/node_modules/@noble/curves/ed448.d.ts.map +1 -0
- package/node_modules/@noble/curves/ed448.js +442 -0
- package/node_modules/@noble/curves/ed448.js.map +1 -0
- package/node_modules/@noble/curves/index.d.ts +2 -0
- package/node_modules/@noble/curves/index.d.ts.map +1 -0
- package/node_modules/@noble/curves/index.js +33 -0
- package/node_modules/@noble/curves/index.js.map +1 -0
- package/node_modules/@noble/curves/misc.d.ts +15 -0
- package/node_modules/@noble/curves/misc.d.ts.map +1 -0
- package/node_modules/@noble/curves/misc.js +103 -0
- package/node_modules/@noble/curves/misc.js.map +1 -0
- package/node_modules/@noble/curves/nist.d.ts +36 -0
- package/node_modules/@noble/curves/nist.d.ts.map +1 -0
- package/node_modules/@noble/curves/nist.js +146 -0
- package/node_modules/@noble/curves/nist.js.map +1 -0
- package/node_modules/@noble/curves/package.json +98 -0
- package/node_modules/@noble/curves/secp256k1.d.ts +76 -0
- package/node_modules/@noble/curves/secp256k1.d.ts.map +1 -0
- package/node_modules/@noble/curves/secp256k1.js +283 -0
- package/node_modules/@noble/curves/secp256k1.js.map +1 -0
- package/node_modules/@noble/curves/src/abstract/bls.ts +604 -0
- package/node_modules/@noble/curves/src/abstract/curve.ts +633 -0
- package/node_modules/@noble/curves/src/abstract/edwards.ts +789 -0
- package/node_modules/@noble/curves/src/abstract/fft.ts +521 -0
- package/node_modules/@noble/curves/src/abstract/hash-to-curve.ts +292 -0
- package/node_modules/@noble/curves/src/abstract/modular.ts +621 -0
- package/node_modules/@noble/curves/src/abstract/montgomery.ts +187 -0
- package/node_modules/@noble/curves/src/abstract/oprf.ts +600 -0
- package/node_modules/@noble/curves/src/abstract/poseidon.ts +333 -0
- package/node_modules/@noble/curves/src/abstract/tower.ts +864 -0
- package/node_modules/@noble/curves/src/abstract/weierstrass.ts +1562 -0
- package/node_modules/@noble/curves/src/bls12-381.ts +775 -0
- package/node_modules/@noble/curves/src/bn254.ts +219 -0
- package/node_modules/@noble/curves/src/ed25519.ts +533 -0
- package/node_modules/@noble/curves/src/ed448.ts +525 -0
- package/node_modules/@noble/curves/src/index.ts +31 -0
- package/node_modules/@noble/curves/src/misc.ts +140 -0
- package/node_modules/@noble/curves/src/nist.ts +204 -0
- package/node_modules/@noble/curves/src/secp256k1.ts +327 -0
- package/node_modules/@noble/curves/src/utils.ts +306 -0
- package/node_modules/@noble/curves/src/webcrypto.ts +403 -0
- package/node_modules/@noble/curves/utils.d.ts +103 -0
- package/node_modules/@noble/curves/utils.d.ts.map +1 -0
- package/node_modules/@noble/curves/utils.js +241 -0
- package/node_modules/@noble/curves/utils.js.map +1 -0
- package/node_modules/@noble/curves/webcrypto.d.ts +99 -0
- package/node_modules/@noble/curves/webcrypto.d.ts.map +1 -0
- package/node_modules/@noble/curves/webcrypto.js +256 -0
- package/node_modules/@noble/curves/webcrypto.js.map +1 -0
- package/node_modules/@noble/hashes/LICENSE +21 -0
- package/node_modules/@noble/hashes/README.md +575 -0
- package/node_modules/@noble/hashes/_blake.d.ts +14 -0
- package/node_modules/@noble/hashes/_blake.d.ts.map +1 -0
- package/node_modules/@noble/hashes/_blake.js +45 -0
- package/node_modules/@noble/hashes/_blake.js.map +1 -0
- package/node_modules/@noble/hashes/_md.d.ts +49 -0
- package/node_modules/@noble/hashes/_md.d.ts.map +1 -0
- package/node_modules/@noble/hashes/_md.js +147 -0
- package/node_modules/@noble/hashes/_md.js.map +1 -0
- package/node_modules/@noble/hashes/_u64.d.ts +55 -0
- package/node_modules/@noble/hashes/_u64.d.ts.map +1 -0
- package/node_modules/@noble/hashes/_u64.js +67 -0
- package/node_modules/@noble/hashes/_u64.js.map +1 -0
- package/node_modules/@noble/hashes/argon2.d.ts +32 -0
- package/node_modules/@noble/hashes/argon2.d.ts.map +1 -0
- package/node_modules/@noble/hashes/argon2.js +391 -0
- package/node_modules/@noble/hashes/argon2.js.map +1 -0
- package/node_modules/@noble/hashes/blake1.d.ts +110 -0
- package/node_modules/@noble/hashes/blake1.d.ts.map +1 -0
- package/node_modules/@noble/hashes/blake1.js +485 -0
- package/node_modules/@noble/hashes/blake1.js.map +1 -0
- package/node_modules/@noble/hashes/blake2.d.ts +120 -0
- package/node_modules/@noble/hashes/blake2.d.ts.map +1 -0
- package/node_modules/@noble/hashes/blake2.js +417 -0
- package/node_modules/@noble/hashes/blake2.js.map +1 -0
- package/node_modules/@noble/hashes/blake3.d.ts +54 -0
- package/node_modules/@noble/hashes/blake3.d.ts.map +1 -0
- package/node_modules/@noble/hashes/blake3.js +255 -0
- package/node_modules/@noble/hashes/blake3.js.map +1 -0
- package/node_modules/@noble/hashes/eskdf.d.ts +50 -0
- package/node_modules/@noble/hashes/eskdf.d.ts.map +1 -0
- package/node_modules/@noble/hashes/eskdf.js +161 -0
- package/node_modules/@noble/hashes/eskdf.js.map +1 -0
- package/node_modules/@noble/hashes/hkdf.d.ts +36 -0
- package/node_modules/@noble/hashes/hkdf.d.ts.map +1 -0
- package/node_modules/@noble/hashes/hkdf.js +84 -0
- package/node_modules/@noble/hashes/hkdf.js.map +1 -0
- package/node_modules/@noble/hashes/hmac.d.ts +36 -0
- package/node_modules/@noble/hashes/hmac.d.ts.map +1 -0
- package/node_modules/@noble/hashes/hmac.js +90 -0
- package/node_modules/@noble/hashes/hmac.js.map +1 -0
- package/node_modules/@noble/hashes/index.d.ts +2 -0
- package/node_modules/@noble/hashes/index.d.ts.map +1 -0
- package/node_modules/@noble/hashes/index.js +34 -0
- package/node_modules/@noble/hashes/index.js.map +1 -0
- package/node_modules/@noble/hashes/legacy.d.ts +71 -0
- package/node_modules/@noble/hashes/legacy.d.ts.map +1 -0
- package/node_modules/@noble/hashes/legacy.js +281 -0
- package/node_modules/@noble/hashes/legacy.js.map +1 -0
- package/node_modules/@noble/hashes/package.json +93 -0
- package/node_modules/@noble/hashes/pbkdf2.d.ts +29 -0
- package/node_modules/@noble/hashes/pbkdf2.d.ts.map +1 -0
- package/node_modules/@noble/hashes/pbkdf2.js +97 -0
- package/node_modules/@noble/hashes/pbkdf2.js.map +1 -0
- package/node_modules/@noble/hashes/scrypt.d.ts +33 -0
- package/node_modules/@noble/hashes/scrypt.d.ts.map +1 -0
- package/node_modules/@noble/hashes/scrypt.js +216 -0
- package/node_modules/@noble/hashes/scrypt.js.map +1 -0
- package/node_modules/@noble/hashes/sha2.d.ts +199 -0
- package/node_modules/@noble/hashes/sha2.d.ts.map +1 -0
- package/node_modules/@noble/hashes/sha2.js +397 -0
- package/node_modules/@noble/hashes/sha2.js.map +1 -0
- package/node_modules/@noble/hashes/sha3-addons.d.ts +149 -0
- package/node_modules/@noble/hashes/sha3-addons.d.ts.map +1 -0
- package/node_modules/@noble/hashes/sha3-addons.js +420 -0
- package/node_modules/@noble/hashes/sha3-addons.js.map +1 -0
- package/node_modules/@noble/hashes/sha3.d.ts +58 -0
- package/node_modules/@noble/hashes/sha3.d.ts.map +1 -0
- package/node_modules/@noble/hashes/sha3.js +254 -0
- package/node_modules/@noble/hashes/sha3.js.map +1 -0
- package/node_modules/@noble/hashes/src/_blake.ts +50 -0
- package/node_modules/@noble/hashes/src/_md.ts +156 -0
- package/node_modules/@noble/hashes/src/_u64.ts +91 -0
- package/node_modules/@noble/hashes/src/argon2.ts +493 -0
- package/node_modules/@noble/hashes/src/blake1.ts +536 -0
- package/node_modules/@noble/hashes/src/blake2.ts +489 -0
- package/node_modules/@noble/hashes/src/blake3.ts +275 -0
- package/node_modules/@noble/hashes/src/eskdf.ts +188 -0
- package/node_modules/@noble/hashes/src/hkdf.ts +94 -0
- package/node_modules/@noble/hashes/src/hmac.ts +94 -0
- package/node_modules/@noble/hashes/src/index.ts +32 -0
- package/node_modules/@noble/hashes/src/legacy.ts +293 -0
- package/node_modules/@noble/hashes/src/pbkdf2.ts +129 -0
- package/node_modules/@noble/hashes/src/scrypt.ts +249 -0
- package/node_modules/@noble/hashes/src/sha2.ts +469 -0
- package/node_modules/@noble/hashes/src/sha3-addons.ts +530 -0
- package/node_modules/@noble/hashes/src/sha3.ts +295 -0
- package/node_modules/@noble/hashes/src/utils.ts +338 -0
- package/node_modules/@noble/hashes/src/webcrypto.ts +168 -0
- package/node_modules/@noble/hashes/utils.d.ts +130 -0
- package/node_modules/@noble/hashes/utils.d.ts.map +1 -0
- package/node_modules/@noble/hashes/utils.js +242 -0
- package/node_modules/@noble/hashes/utils.js.map +1 -0
- package/node_modules/@noble/hashes/webcrypto.d.ts +62 -0
- package/node_modules/@noble/hashes/webcrypto.d.ts.map +1 -0
- package/node_modules/@noble/hashes/webcrypto.js +126 -0
- package/node_modules/@noble/hashes/webcrypto.js.map +1 -0
- package/node_modules/@scure/base/LICENSE +21 -0
- package/node_modules/@scure/base/README.md +226 -0
- package/node_modules/@scure/base/index.d.ts +294 -0
- package/node_modules/@scure/base/index.d.ts.map +1 -0
- package/node_modules/@scure/base/index.js +704 -0
- package/node_modules/@scure/base/index.js.map +1 -0
- package/node_modules/@scure/base/index.ts +857 -0
- package/node_modules/@scure/base/package.json +58 -0
- package/node_modules/@scure/bip32/LICENSE +21 -0
- package/node_modules/@scure/bip32/README.md +158 -0
- package/node_modules/@scure/bip32/index.d.ts +60 -0
- package/node_modules/@scure/bip32/index.d.ts.map +1 -0
- package/node_modules/@scure/bip32/index.js +283 -0
- package/node_modules/@scure/bip32/index.js.map +1 -0
- package/node_modules/@scure/bip32/index.ts +317 -0
- package/node_modules/@scure/bip32/package.json +57 -0
- package/node_modules/@scure/bip39/LICENSE +21 -0
- package/node_modules/@scure/bip39/README.md +134 -0
- package/node_modules/@scure/bip39/index.d.ts +75 -0
- package/node_modules/@scure/bip39/index.js +149 -0
- package/node_modules/@scure/bip39/package.json +70 -0
- package/node_modules/@scure/bip39/src/index.ts +161 -0
- package/node_modules/@scure/bip39/wordlists/czech.d.ts +1 -0
- package/node_modules/@scure/bip39/wordlists/czech.js +2048 -0
- package/node_modules/@scure/bip39/wordlists/english.d.ts +1 -0
- package/node_modules/@scure/bip39/wordlists/english.js +2048 -0
- package/node_modules/@scure/bip39/wordlists/french.d.ts +1 -0
- package/node_modules/@scure/bip39/wordlists/french.js +2048 -0
- package/node_modules/@scure/bip39/wordlists/italian.d.ts +1 -0
- package/node_modules/@scure/bip39/wordlists/italian.js +2048 -0
- package/node_modules/@scure/bip39/wordlists/japanese.d.ts +1 -0
- package/node_modules/@scure/bip39/wordlists/japanese.js +2048 -0
- package/node_modules/@scure/bip39/wordlists/korean.d.ts +1 -0
- package/node_modules/@scure/bip39/wordlists/korean.js +2048 -0
- package/node_modules/@scure/bip39/wordlists/portuguese.d.ts +1 -0
- package/node_modules/@scure/bip39/wordlists/portuguese.js +2048 -0
- package/node_modules/@scure/bip39/wordlists/simplified-chinese.d.ts +1 -0
- package/node_modules/@scure/bip39/wordlists/simplified-chinese.js +2048 -0
- package/node_modules/@scure/bip39/wordlists/spanish.d.ts +1 -0
- package/node_modules/@scure/bip39/wordlists/spanish.js +2048 -0
- package/node_modules/@scure/bip39/wordlists/traditional-chinese.d.ts +1 -0
- package/node_modules/@scure/bip39/wordlists/traditional-chinese.js +2048 -0
- package/node_modules/nostr-tools/LICENSE +24 -0
- package/node_modules/nostr-tools/README.md +454 -0
- package/node_modules/nostr-tools/lib/cjs/abstract-pool.js +889 -0
- package/node_modules/nostr-tools/lib/cjs/abstract-pool.js.map +7 -0
- package/node_modules/nostr-tools/lib/cjs/abstract-relay.js +596 -0
- package/node_modules/nostr-tools/lib/cjs/abstract-relay.js.map +7 -0
- package/node_modules/nostr-tools/lib/cjs/core.js +63 -0
- package/node_modules/nostr-tools/lib/cjs/core.js.map +7 -0
- package/node_modules/nostr-tools/lib/cjs/fakejson.js +66 -0
- package/node_modules/nostr-tools/lib/cjs/fakejson.js.map +7 -0
- package/node_modules/nostr-tools/lib/cjs/filter.js +111 -0
- package/node_modules/nostr-tools/lib/cjs/filter.js.map +7 -0
- package/node_modules/nostr-tools/lib/cjs/index.js +3666 -0
- package/node_modules/nostr-tools/lib/cjs/index.js.map +7 -0
- package/node_modules/nostr-tools/lib/cjs/kinds.js +273 -0
- package/node_modules/nostr-tools/lib/cjs/kinds.js.map +7 -0
- package/node_modules/nostr-tools/lib/cjs/nip04.js +61 -0
- package/node_modules/nostr-tools/lib/cjs/nip04.js.map +7 -0
- package/node_modules/nostr-tools/lib/cjs/nip05.js +76 -0
- package/node_modules/nostr-tools/lib/cjs/nip05.js.map +7 -0
- package/node_modules/nostr-tools/lib/cjs/nip06.js +82 -0
- package/node_modules/nostr-tools/lib/cjs/nip06.js.map +7 -0
- package/node_modules/nostr-tools/lib/cjs/nip07.js +18 -0
- package/node_modules/nostr-tools/lib/cjs/nip07.js.map +7 -0
- package/node_modules/nostr-tools/lib/cjs/nip10.js +124 -0
- package/node_modules/nostr-tools/lib/cjs/nip10.js.map +7 -0
- package/node_modules/nostr-tools/lib/cjs/nip11.js +39 -0
- package/node_modules/nostr-tools/lib/cjs/nip11.js.map +7 -0
- package/node_modules/nostr-tools/lib/cjs/nip13.js +83 -0
- package/node_modules/nostr-tools/lib/cjs/nip13.js.map +7 -0
- package/node_modules/nostr-tools/lib/cjs/nip17.js +343 -0
- package/node_modules/nostr-tools/lib/cjs/nip17.js.map +7 -0
- package/node_modules/nostr-tools/lib/cjs/nip18.js +188 -0
- package/node_modules/nostr-tools/lib/cjs/nip18.js.map +7 -0
- package/node_modules/nostr-tools/lib/cjs/nip19.js +217 -0
- package/node_modules/nostr-tools/lib/cjs/nip19.js.map +7 -0
- package/node_modules/nostr-tools/lib/cjs/nip21.js +140 -0
- package/node_modules/nostr-tools/lib/cjs/nip21.js.map +7 -0
- package/node_modules/nostr-tools/lib/cjs/nip22.js +154 -0
- package/node_modules/nostr-tools/lib/cjs/nip22.js.map +7 -0
- package/node_modules/nostr-tools/lib/cjs/nip25.js +159 -0
- package/node_modules/nostr-tools/lib/cjs/nip25.js.map +7 -0
- package/node_modules/nostr-tools/lib/cjs/nip27.js +269 -0
- package/node_modules/nostr-tools/lib/cjs/nip27.js.map +7 -0
- package/node_modules/nostr-tools/lib/cjs/nip28.js +220 -0
- package/node_modules/nostr-tools/lib/cjs/nip28.js.map +7 -0
- package/node_modules/nostr-tools/lib/cjs/nip29.js +499 -0
- package/node_modules/nostr-tools/lib/cjs/nip29.js.map +7 -0
- package/node_modules/nostr-tools/lib/cjs/nip30.js +53 -0
- package/node_modules/nostr-tools/lib/cjs/nip30.js.map +7 -0
- package/node_modules/nostr-tools/lib/cjs/nip39.js +42 -0
- package/node_modules/nostr-tools/lib/cjs/nip39.js.map +7 -0
- package/node_modules/nostr-tools/lib/cjs/nip40.js +63 -0
- package/node_modules/nostr-tools/lib/cjs/nip40.js.map +7 -0
- package/node_modules/nostr-tools/lib/cjs/nip42.js +41 -0
- package/node_modules/nostr-tools/lib/cjs/nip42.js.map +7 -0
- package/node_modules/nostr-tools/lib/cjs/nip44.js +167 -0
- package/node_modules/nostr-tools/lib/cjs/nip44.js.map +7 -0
- package/node_modules/nostr-tools/lib/cjs/nip46.js +1455 -0
- package/node_modules/nostr-tools/lib/cjs/nip46.js.map +7 -0
- package/node_modules/nostr-tools/lib/cjs/nip47.js +168 -0
- package/node_modules/nostr-tools/lib/cjs/nip47.js.map +7 -0
- package/node_modules/nostr-tools/lib/cjs/nip49.js +77 -0
- package/node_modules/nostr-tools/lib/cjs/nip49.js.map +7 -0
- package/node_modules/nostr-tools/lib/cjs/nip54.js +35 -0
- package/node_modules/nostr-tools/lib/cjs/nip54.js.map +7 -0
- package/node_modules/nostr-tools/lib/cjs/nip55.js +103 -0
- package/node_modules/nostr-tools/lib/cjs/nip55.js.map +7 -0
- package/node_modules/nostr-tools/lib/cjs/nip57.js +274 -0
- package/node_modules/nostr-tools/lib/cjs/nip57.js.map +7 -0
- package/node_modules/nostr-tools/lib/cjs/nip58.js +117 -0
- package/node_modules/nostr-tools/lib/cjs/nip58.js.map +7 -0
- package/node_modules/nostr-tools/lib/cjs/nip59.js +320 -0
- package/node_modules/nostr-tools/lib/cjs/nip59.js.map +7 -0
- package/node_modules/nostr-tools/lib/cjs/nip75.js +70 -0
- package/node_modules/nostr-tools/lib/cjs/nip75.js.map +7 -0
- package/node_modules/nostr-tools/lib/cjs/nip77.js +519 -0
- package/node_modules/nostr-tools/lib/cjs/nip77.js.map +7 -0
- package/node_modules/nostr-tools/lib/cjs/nip94.js +142 -0
- package/node_modules/nostr-tools/lib/cjs/nip94.js.map +7 -0
- package/node_modules/nostr-tools/lib/cjs/nip98.js +230 -0
- package/node_modules/nostr-tools/lib/cjs/nip98.js.map +7 -0
- package/node_modules/nostr-tools/lib/cjs/nip99.js +153 -0
- package/node_modules/nostr-tools/lib/cjs/nip99.js.map +7 -0
- package/node_modules/nostr-tools/lib/cjs/nipb7.js +184 -0
- package/node_modules/nostr-tools/lib/cjs/nipb7.js.map +7 -0
- package/node_modules/nostr-tools/lib/cjs/package.json +1 -0
- package/node_modules/nostr-tools/lib/cjs/pool.js +989 -0
- package/node_modules/nostr-tools/lib/cjs/pool.js.map +7 -0
- package/node_modules/nostr-tools/lib/cjs/pure.js +130 -0
- package/node_modules/nostr-tools/lib/cjs/pure.js.map +7 -0
- package/node_modules/nostr-tools/lib/cjs/references.js +210 -0
- package/node_modules/nostr-tools/lib/cjs/references.js.map +7 -0
- package/node_modules/nostr-tools/lib/cjs/relay.js +704 -0
- package/node_modules/nostr-tools/lib/cjs/relay.js.map +7 -0
- package/node_modules/nostr-tools/lib/cjs/signer.js +130 -0
- package/node_modules/nostr-tools/lib/cjs/signer.js.map +7 -0
- package/node_modules/nostr-tools/lib/cjs/utils.js +150 -0
- package/node_modules/nostr-tools/lib/cjs/utils.js.map +7 -0
- package/node_modules/nostr-tools/lib/cjs/wasm.js +103 -0
- package/node_modules/nostr-tools/lib/cjs/wasm.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/abstract-pool.js +866 -0
- package/node_modules/nostr-tools/lib/esm/abstract-pool.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/abstract-relay.js +573 -0
- package/node_modules/nostr-tools/lib/esm/abstract-relay.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/core.js +42 -0
- package/node_modules/nostr-tools/lib/esm/core.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/fakejson.js +45 -0
- package/node_modules/nostr-tools/lib/esm/fakejson.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/filter.js +88 -0
- package/node_modules/nostr-tools/lib/esm/filter.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/index.js +3649 -0
- package/node_modules/nostr-tools/lib/esm/index.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/kinds.js +250 -0
- package/node_modules/nostr-tools/lib/esm/kinds.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/nip04.js +40 -0
- package/node_modules/nostr-tools/lib/esm/nip04.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/nip05.js +55 -0
- package/node_modules/nostr-tools/lib/esm/nip05.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/nip06.js +61 -0
- package/node_modules/nostr-tools/lib/esm/nip06.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/nip07.js +0 -0
- package/node_modules/nostr-tools/lib/esm/nip07.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/nip10.js +103 -0
- package/node_modules/nostr-tools/lib/esm/nip10.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/nip11.js +18 -0
- package/node_modules/nostr-tools/lib/esm/nip11.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/nip13.js +62 -0
- package/node_modules/nostr-tools/lib/esm/nip13.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/nip17.js +320 -0
- package/node_modules/nostr-tools/lib/esm/nip17.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/nip18.js +165 -0
- package/node_modules/nostr-tools/lib/esm/nip18.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/nip19.js +196 -0
- package/node_modules/nostr-tools/lib/esm/nip19.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/nip21.js +117 -0
- package/node_modules/nostr-tools/lib/esm/nip21.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/nip22.js +133 -0
- package/node_modules/nostr-tools/lib/esm/nip22.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/nip25.js +136 -0
- package/node_modules/nostr-tools/lib/esm/nip25.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/nip27.js +246 -0
- package/node_modules/nostr-tools/lib/esm/nip27.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/nip28.js +197 -0
- package/node_modules/nostr-tools/lib/esm/nip28.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/nip29.js +476 -0
- package/node_modules/nostr-tools/lib/esm/nip29.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/nip30.js +32 -0
- package/node_modules/nostr-tools/lib/esm/nip30.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/nip39.js +21 -0
- package/node_modules/nostr-tools/lib/esm/nip39.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/nip40.js +42 -0
- package/node_modules/nostr-tools/lib/esm/nip40.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/nip42.js +18 -0
- package/node_modules/nostr-tools/lib/esm/nip42.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/nip44.js +146 -0
- package/node_modules/nostr-tools/lib/esm/nip44.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/nip46.js +1432 -0
- package/node_modules/nostr-tools/lib/esm/nip46.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/nip47.js +145 -0
- package/node_modules/nostr-tools/lib/esm/nip47.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/nip49.js +56 -0
- package/node_modules/nostr-tools/lib/esm/nip49.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/nip54.js +14 -0
- package/node_modules/nostr-tools/lib/esm/nip54.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/nip55.js +82 -0
- package/node_modules/nostr-tools/lib/esm/nip55.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/nip57.js +253 -0
- package/node_modules/nostr-tools/lib/esm/nip57.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/nip58.js +94 -0
- package/node_modules/nostr-tools/lib/esm/nip58.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/nip59.js +297 -0
- package/node_modules/nostr-tools/lib/esm/nip59.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/nip75.js +47 -0
- package/node_modules/nostr-tools/lib/esm/nip75.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/nip77.js +498 -0
- package/node_modules/nostr-tools/lib/esm/nip77.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/nip94.js +119 -0
- package/node_modules/nostr-tools/lib/esm/nip94.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/nip98.js +209 -0
- package/node_modules/nostr-tools/lib/esm/nip98.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/nip99.js +130 -0
- package/node_modules/nostr-tools/lib/esm/nip99.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/nipb7.js +163 -0
- package/node_modules/nostr-tools/lib/esm/nipb7.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/pool.js +966 -0
- package/node_modules/nostr-tools/lib/esm/pool.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/pure.js +109 -0
- package/node_modules/nostr-tools/lib/esm/pure.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/references.js +187 -0
- package/node_modules/nostr-tools/lib/esm/references.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/relay.js +681 -0
- package/node_modules/nostr-tools/lib/esm/relay.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/signer.js +107 -0
- package/node_modules/nostr-tools/lib/esm/signer.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/utils.js +129 -0
- package/node_modules/nostr-tools/lib/esm/utils.js.map +7 -0
- package/node_modules/nostr-tools/lib/esm/wasm.js +82 -0
- package/node_modules/nostr-tools/lib/esm/wasm.js.map +7 -0
- package/node_modules/nostr-tools/lib/nostr.bundle.js +7336 -0
- package/node_modules/nostr-tools/lib/nostr.bundle.js.map +7 -0
- package/node_modules/nostr-tools/lib/types/abstract-pool.d.ts +60 -0
- package/node_modules/nostr-tools/lib/types/abstract-relay.d.ts +110 -0
- package/node_modules/nostr-tools/lib/types/benchmarks.d.ts +1 -0
- package/node_modules/nostr-tools/lib/types/core.d.ts +32 -0
- package/node_modules/nostr-tools/lib/types/core.test.d.ts +1 -0
- package/node_modules/nostr-tools/lib/types/fakejson.d.ts +6 -0
- package/node_modules/nostr-tools/lib/types/fakejson.test.d.ts +1 -0
- package/node_modules/nostr-tools/lib/types/filter.d.ts +19 -0
- package/node_modules/nostr-tools/lib/types/filter.test.d.ts +1 -0
- package/node_modules/nostr-tools/lib/types/helpers.d.ts +2 -0
- package/node_modules/nostr-tools/lib/types/index.d.ts +31 -0
- package/node_modules/nostr-tools/lib/types/kinds.d.ts +200 -0
- package/node_modules/nostr-tools/lib/types/kinds.test.d.ts +1 -0
- package/node_modules/nostr-tools/lib/types/nip04.d.ts +2 -0
- package/node_modules/nostr-tools/lib/types/nip04.test.d.ts +1 -0
- package/node_modules/nostr-tools/lib/types/nip05.d.ts +17 -0
- package/node_modules/nostr-tools/lib/types/nip05.test.d.ts +1 -0
- package/node_modules/nostr-tools/lib/types/nip06.d.ts +15 -0
- package/node_modules/nostr-tools/lib/types/nip06.test.d.ts +1 -0
- package/node_modules/nostr-tools/lib/types/nip07.d.ts +13 -0
- package/node_modules/nostr-tools/lib/types/nip10.d.ts +24 -0
- package/node_modules/nostr-tools/lib/types/nip10.test.d.ts +1 -0
- package/node_modules/nostr-tools/lib/types/nip11.d.ts +266 -0
- package/node_modules/nostr-tools/lib/types/nip11.test.d.ts +1 -0
- package/node_modules/nostr-tools/lib/types/nip13.d.ts +8 -0
- package/node_modules/nostr-tools/lib/types/nip13.test.d.ts +1 -0
- package/node_modules/nostr-tools/lib/types/nip17.d.ts +15 -0
- package/node_modules/nostr-tools/lib/types/nip17.test.d.ts +1 -0
- package/node_modules/nostr-tools/lib/types/nip18.d.ts +22 -0
- package/node_modules/nostr-tools/lib/types/nip18.test.d.ts +1 -0
- package/node_modules/nostr-tools/lib/types/nip19.d.ts +81 -0
- package/node_modules/nostr-tools/lib/types/nip19.test.d.ts +1 -0
- package/node_modules/nostr-tools/lib/types/nip21.d.ts +34 -0
- package/node_modules/nostr-tools/lib/types/nip21.test.d.ts +1 -0
- package/node_modules/nostr-tools/lib/types/nip22.d.ts +36 -0
- package/node_modules/nostr-tools/lib/types/nip22.test.d.ts +1 -0
- package/node_modules/nostr-tools/lib/types/nip25.d.ts +15 -0
- package/node_modules/nostr-tools/lib/types/nip25.test.d.ts +1 -0
- package/node_modules/nostr-tools/lib/types/nip27.d.ts +32 -0
- package/node_modules/nostr-tools/lib/types/nip27.test.d.ts +1 -0
- package/node_modules/nostr-tools/lib/types/nip28.d.ts +46 -0
- package/node_modules/nostr-tools/lib/types/nip28.test.d.ts +1 -0
- package/node_modules/nostr-tools/lib/types/nip29.d.ts +265 -0
- package/node_modules/nostr-tools/lib/types/nip30.d.ts +22 -0
- package/node_modules/nostr-tools/lib/types/nip30.test.d.ts +1 -0
- package/node_modules/nostr-tools/lib/types/nip39.d.ts +2 -0
- package/node_modules/nostr-tools/lib/types/nip39.test.d.ts +1 -0
- package/node_modules/nostr-tools/lib/types/nip40.d.ts +10 -0
- package/node_modules/nostr-tools/lib/types/nip40.test.d.ts +1 -0
- package/node_modules/nostr-tools/lib/types/nip42.d.ts +5 -0
- package/node_modules/nostr-tools/lib/types/nip42.test.d.ts +1 -0
- package/node_modules/nostr-tools/lib/types/nip44.d.ts +18 -0
- package/node_modules/nostr-tools/lib/types/nip44.test.d.ts +1 -0
- package/node_modules/nostr-tools/lib/types/nip46.d.ts +119 -0
- package/node_modules/nostr-tools/lib/types/nip47.d.ts +11 -0
- package/node_modules/nostr-tools/lib/types/nip47.test.d.ts +1 -0
- package/node_modules/nostr-tools/lib/types/nip49.d.ts +3 -0
- package/node_modules/nostr-tools/lib/types/nip49.test.d.ts +1 -0
- package/node_modules/nostr-tools/lib/types/nip54.d.ts +1 -0
- package/node_modules/nostr-tools/lib/types/nip54.test.d.ts +1 -0
- package/node_modules/nostr-tools/lib/types/nip55.d.ts +30 -0
- package/node_modules/nostr-tools/lib/types/nip55.test.d.ts +1 -0
- package/node_modules/nostr-tools/lib/types/nip57.d.ts +25 -0
- package/node_modules/nostr-tools/lib/types/nip57.test.d.ts +1 -0
- package/node_modules/nostr-tools/lib/types/nip58.d.ts +134 -0
- package/node_modules/nostr-tools/lib/types/nip58.test.d.ts +1 -0
- package/node_modules/nostr-tools/lib/types/nip59.d.ts +12 -0
- package/node_modules/nostr-tools/lib/types/nip59.test.d.ts +1 -0
- package/node_modules/nostr-tools/lib/types/nip75.d.ts +61 -0
- package/node_modules/nostr-tools/lib/types/nip75.test.d.ts +1 -0
- package/node_modules/nostr-tools/lib/types/nip77.d.ts +102 -0
- package/node_modules/nostr-tools/lib/types/nip77.test.d.ts +1 -0
- package/node_modules/nostr-tools/lib/types/nip94.d.ts +87 -0
- package/node_modules/nostr-tools/lib/types/nip94.test.d.ts +1 -0
- package/node_modules/nostr-tools/lib/types/nip98.d.ts +74 -0
- package/node_modules/nostr-tools/lib/types/nip98.test.d.ts +1 -0
- package/node_modules/nostr-tools/lib/types/nip99.d.ts +92 -0
- package/node_modules/nostr-tools/lib/types/nip99.test.d.ts +1 -0
- package/node_modules/nostr-tools/lib/types/nipb7.d.ts +23 -0
- package/node_modules/nostr-tools/lib/types/nipb7.test.d.ts +1 -0
- package/node_modules/nostr-tools/lib/types/pool.d.ts +6 -0
- package/node_modules/nostr-tools/lib/types/pool.test.d.ts +1 -0
- package/node_modules/nostr-tools/lib/types/pure.d.ts +8 -0
- package/node_modules/nostr-tools/lib/types/pure.test.d.ts +1 -0
- package/node_modules/nostr-tools/lib/types/references.d.ts +10 -0
- package/node_modules/nostr-tools/lib/types/references.test.d.ts +1 -0
- package/node_modules/nostr-tools/lib/types/relay.d.ts +11 -0
- package/node_modules/nostr-tools/lib/types/relay.test.d.ts +1 -0
- package/node_modules/nostr-tools/lib/types/signer.d.ts +11 -0
- package/node_modules/nostr-tools/lib/types/test-helpers.d.ts +14 -0
- package/node_modules/nostr-tools/lib/types/utils.d.ts +9 -0
- package/node_modules/nostr-tools/lib/types/utils.test.d.ts +1 -0
- package/node_modules/nostr-tools/lib/types/wasm.d.ts +8 -0
- package/node_modules/nostr-tools/package.json +330 -0
- package/node_modules/nostr-wasm/README.md +91 -0
- package/node_modules/nostr-wasm/dist/api/emsimp.d.ts +3 -0
- package/node_modules/nostr-wasm/dist/api/nostr.d.ts +45 -0
- package/node_modules/nostr-wasm/dist/api/secp256k1-types.d.ts +124 -0
- package/node_modules/nostr-wasm/dist/api/secp256k1.d.ts +41 -0
- package/node_modules/nostr-wasm/dist/api/types.d.ts +124 -0
- package/node_modules/nostr-wasm/dist/api/wasm-env.d.ts +3 -0
- package/node_modules/nostr-wasm/dist/gen/wasm.d.ts +27 -0
- package/node_modules/nostr-wasm/dist/generate.d.ts +1 -0
- package/node_modules/nostr-wasm/dist/gzipped.d.ts +3 -0
- package/node_modules/nostr-wasm/dist/gzipped.js +44 -0
- package/node_modules/nostr-wasm/dist/headless.d.ts +2 -0
- package/node_modules/nostr-wasm/dist/main.d.ts +3 -0
- package/node_modules/nostr-wasm/dist/main.js +9 -0
- package/node_modules/nostr-wasm/dist/nostr.js +248 -0
- package/node_modules/nostr-wasm/dist/secp256k1.js +230 -0
- package/node_modules/nostr-wasm/dist/types.d.ts +22 -0
- package/node_modules/nostr-wasm/package.json +37 -0
- package/node_modules/nostr-wasm/public/out/secp256k1.js +1 -0
- package/node_modules/nostr-wasm/public/out/secp256k1.wasm +0 -0
- package/node_modules/zod/LICENSE +21 -0
- package/node_modules/zod/README.md +191 -0
- package/node_modules/zod/index.cjs +33 -0
- package/node_modules/zod/index.d.cts +4 -0
- package/node_modules/zod/index.d.ts +4 -0
- package/node_modules/zod/index.js +4 -0
- package/node_modules/zod/locales/index.cjs +17 -0
- package/node_modules/zod/locales/index.d.cts +1 -0
- package/node_modules/zod/locales/index.d.ts +1 -0
- package/node_modules/zod/locales/index.js +1 -0
- package/node_modules/zod/locales/package.json +7 -0
- package/node_modules/zod/mini/index.cjs +32 -0
- package/node_modules/zod/mini/index.d.cts +3 -0
- package/node_modules/zod/mini/index.d.ts +3 -0
- package/node_modules/zod/mini/index.js +3 -0
- package/node_modules/zod/mini/package.json +7 -0
- package/node_modules/zod/package.json +135 -0
- package/node_modules/zod/src/index.ts +4 -0
- package/node_modules/zod/src/locales/index.ts +1 -0
- package/node_modules/zod/src/mini/index.ts +3 -0
- package/node_modules/zod/src/v3/ZodError.ts +330 -0
- package/node_modules/zod/src/v3/benchmarks/datetime.ts +58 -0
- package/node_modules/zod/src/v3/benchmarks/discriminatedUnion.ts +80 -0
- package/node_modules/zod/src/v3/benchmarks/index.ts +59 -0
- package/node_modules/zod/src/v3/benchmarks/ipv4.ts +57 -0
- package/node_modules/zod/src/v3/benchmarks/object.ts +69 -0
- package/node_modules/zod/src/v3/benchmarks/primitives.ts +162 -0
- package/node_modules/zod/src/v3/benchmarks/realworld.ts +63 -0
- package/node_modules/zod/src/v3/benchmarks/string.ts +55 -0
- package/node_modules/zod/src/v3/benchmarks/union.ts +80 -0
- package/node_modules/zod/src/v3/errors.ts +13 -0
- package/node_modules/zod/src/v3/external.ts +6 -0
- package/node_modules/zod/src/v3/helpers/enumUtil.ts +17 -0
- package/node_modules/zod/src/v3/helpers/errorUtil.ts +8 -0
- package/node_modules/zod/src/v3/helpers/parseUtil.ts +176 -0
- package/node_modules/zod/src/v3/helpers/partialUtil.ts +34 -0
- package/node_modules/zod/src/v3/helpers/typeAliases.ts +2 -0
- package/node_modules/zod/src/v3/helpers/util.ts +224 -0
- package/node_modules/zod/src/v3/index.ts +4 -0
- package/node_modules/zod/src/v3/locales/en.ts +124 -0
- package/node_modules/zod/src/v3/standard-schema.ts +113 -0
- package/node_modules/zod/src/v3/tests/Mocker.ts +54 -0
- package/node_modules/zod/src/v3/tests/all-errors.test.ts +157 -0
- package/node_modules/zod/src/v3/tests/anyunknown.test.ts +28 -0
- package/node_modules/zod/src/v3/tests/array.test.ts +71 -0
- package/node_modules/zod/src/v3/tests/async-parsing.test.ts +388 -0
- package/node_modules/zod/src/v3/tests/async-refinements.test.ts +46 -0
- package/node_modules/zod/src/v3/tests/base.test.ts +29 -0
- package/node_modules/zod/src/v3/tests/bigint.test.ts +55 -0
- package/node_modules/zod/src/v3/tests/branded.test.ts +53 -0
- package/node_modules/zod/src/v3/tests/catch.test.ts +220 -0
- package/node_modules/zod/src/v3/tests/coerce.test.ts +133 -0
- package/node_modules/zod/src/v3/tests/complex.test.ts +70 -0
- package/node_modules/zod/src/v3/tests/custom.test.ts +31 -0
- package/node_modules/zod/src/v3/tests/date.test.ts +32 -0
- package/node_modules/zod/src/v3/tests/deepmasking.test.ts +186 -0
- package/node_modules/zod/src/v3/tests/default.test.ts +112 -0
- package/node_modules/zod/src/v3/tests/description.test.ts +33 -0
- package/node_modules/zod/src/v3/tests/discriminated-unions.test.ts +315 -0
- package/node_modules/zod/src/v3/tests/enum.test.ts +80 -0
- package/node_modules/zod/src/v3/tests/error.test.ts +551 -0
- package/node_modules/zod/src/v3/tests/firstparty.test.ts +87 -0
- package/node_modules/zod/src/v3/tests/firstpartyschematypes.test.ts +21 -0
- package/node_modules/zod/src/v3/tests/function.test.ts +261 -0
- package/node_modules/zod/src/v3/tests/generics.test.ts +48 -0
- package/node_modules/zod/src/v3/tests/instanceof.test.ts +37 -0
- package/node_modules/zod/src/v3/tests/intersection.test.ts +110 -0
- package/node_modules/zod/src/v3/tests/language-server.source.ts +76 -0
- package/node_modules/zod/src/v3/tests/language-server.test.ts +207 -0
- package/node_modules/zod/src/v3/tests/literal.test.ts +36 -0
- package/node_modules/zod/src/v3/tests/map.test.ts +110 -0
- package/node_modules/zod/src/v3/tests/masking.test.ts +4 -0
- package/node_modules/zod/src/v3/tests/mocker.test.ts +19 -0
- package/node_modules/zod/src/v3/tests/nan.test.ts +24 -0
- package/node_modules/zod/src/v3/tests/nativeEnum.test.ts +87 -0
- package/node_modules/zod/src/v3/tests/nullable.test.ts +42 -0
- package/node_modules/zod/src/v3/tests/number.test.ts +176 -0
- package/node_modules/zod/src/v3/tests/object-augmentation.test.ts +29 -0
- package/node_modules/zod/src/v3/tests/object-in-es5-env.test.ts +29 -0
- package/node_modules/zod/src/v3/tests/object.test.ts +434 -0
- package/node_modules/zod/src/v3/tests/optional.test.ts +42 -0
- package/node_modules/zod/src/v3/tests/parseUtil.test.ts +23 -0
- package/node_modules/zod/src/v3/tests/parser.test.ts +41 -0
- package/node_modules/zod/src/v3/tests/partials.test.ts +243 -0
- package/node_modules/zod/src/v3/tests/pickomit.test.ts +111 -0
- package/node_modules/zod/src/v3/tests/pipeline.test.ts +29 -0
- package/node_modules/zod/src/v3/tests/preprocess.test.ts +186 -0
- package/node_modules/zod/src/v3/tests/primitive.test.ts +440 -0
- package/node_modules/zod/src/v3/tests/promise.test.ts +90 -0
- package/node_modules/zod/src/v3/tests/readonly.test.ts +194 -0
- package/node_modules/zod/src/v3/tests/record.test.ts +171 -0
- package/node_modules/zod/src/v3/tests/recursive.test.ts +197 -0
- package/node_modules/zod/src/v3/tests/refine.test.ts +313 -0
- package/node_modules/zod/src/v3/tests/safeparse.test.ts +27 -0
- package/node_modules/zod/src/v3/tests/set.test.ts +142 -0
- package/node_modules/zod/src/v3/tests/standard-schema.test.ts +83 -0
- package/node_modules/zod/src/v3/tests/string.test.ts +916 -0
- package/node_modules/zod/src/v3/tests/transformer.test.ts +233 -0
- package/node_modules/zod/src/v3/tests/tuple.test.ts +90 -0
- package/node_modules/zod/src/v3/tests/unions.test.ts +57 -0
- package/node_modules/zod/src/v3/tests/validations.test.ts +133 -0
- package/node_modules/zod/src/v3/tests/void.test.ts +15 -0
- package/node_modules/zod/src/v3/types.ts +5138 -0
- package/node_modules/zod/src/v4/classic/checks.ts +32 -0
- package/node_modules/zod/src/v4/classic/coerce.ts +27 -0
- package/node_modules/zod/src/v4/classic/compat.ts +70 -0
- package/node_modules/zod/src/v4/classic/errors.ts +82 -0
- package/node_modules/zod/src/v4/classic/external.ts +52 -0
- package/node_modules/zod/src/v4/classic/from-json-schema.ts +659 -0
- package/node_modules/zod/src/v4/classic/index.ts +5 -0
- package/node_modules/zod/src/v4/classic/iso.ts +90 -0
- package/node_modules/zod/src/v4/classic/parse.ts +82 -0
- package/node_modules/zod/src/v4/classic/schemas.ts +2672 -0
- package/node_modules/zod/src/v4/classic/tests/anyunknown.test.ts +26 -0
- package/node_modules/zod/src/v4/classic/tests/apply.test.ts +59 -0
- package/node_modules/zod/src/v4/classic/tests/array.test.ts +264 -0
- package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +216 -0
- package/node_modules/zod/src/v4/classic/tests/async-parsing.test.ts +381 -0
- package/node_modules/zod/src/v4/classic/tests/async-refinements.test.ts +68 -0
- package/node_modules/zod/src/v4/classic/tests/base.test.ts +7 -0
- package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +54 -0
- package/node_modules/zod/src/v4/classic/tests/brand.test.ts +106 -0
- package/node_modules/zod/src/v4/classic/tests/catch.test.ts +326 -0
- package/node_modules/zod/src/v4/classic/tests/coalesce.test.ts +20 -0
- package/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +573 -0
- package/node_modules/zod/src/v4/classic/tests/codec.test.ts +703 -0
- package/node_modules/zod/src/v4/classic/tests/coerce.test.ts +160 -0
- package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +374 -0
- package/node_modules/zod/src/v4/classic/tests/custom.test.ts +40 -0
- package/node_modules/zod/src/v4/classic/tests/date.test.ts +62 -0
- package/node_modules/zod/src/v4/classic/tests/datetime.test.ts +302 -0
- package/node_modules/zod/src/v4/classic/tests/default.test.ts +409 -0
- package/node_modules/zod/src/v4/classic/tests/describe-meta-checks.test.ts +27 -0
- package/node_modules/zod/src/v4/classic/tests/description.test.ts +32 -0
- package/node_modules/zod/src/v4/classic/tests/detached-methods.test.ts +197 -0
- package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +694 -0
- package/node_modules/zod/src/v4/classic/tests/enum.test.ts +285 -0
- package/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +807 -0
- package/node_modules/zod/src/v4/classic/tests/error.test.ts +711 -0
- package/node_modules/zod/src/v4/classic/tests/file.test.ts +96 -0
- package/node_modules/zod/src/v4/classic/tests/firstparty.test.ts +179 -0
- package/node_modules/zod/src/v4/classic/tests/fix-json-issue.test.ts +26 -0
- package/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +895 -0
- package/node_modules/zod/src/v4/classic/tests/function.test.ts +360 -0
- package/node_modules/zod/src/v4/classic/tests/generics.test.ts +72 -0
- package/node_modules/zod/src/v4/classic/tests/global-config.test.ts +39 -0
- package/node_modules/zod/src/v4/classic/tests/hash.test.ts +68 -0
- package/node_modules/zod/src/v4/classic/tests/index.test.ts +939 -0
- package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +60 -0
- package/node_modules/zod/src/v4/classic/tests/intersection.test.ts +198 -0
- package/node_modules/zod/src/v4/classic/tests/jitless-allows-eval.test.ts +46 -0
- package/node_modules/zod/src/v4/classic/tests/json.test.ts +109 -0
- package/node_modules/zod/src/v4/classic/tests/lazy.test.ts +227 -0
- package/node_modules/zod/src/v4/classic/tests/literal.test.ts +117 -0
- package/node_modules/zod/src/v4/classic/tests/locales_ka.test.ts +29 -0
- package/node_modules/zod/src/v4/classic/tests/locales_ro.test.ts +24 -0
- package/node_modules/zod/src/v4/classic/tests/map.test.ts +330 -0
- package/node_modules/zod/src/v4/classic/tests/nan.test.ts +21 -0
- package/node_modules/zod/src/v4/classic/tests/nested-refine.test.ts +168 -0
- package/node_modules/zod/src/v4/classic/tests/nonoptional.test.ts +101 -0
- package/node_modules/zod/src/v4/classic/tests/nullable.test.ts +22 -0
- package/node_modules/zod/src/v4/classic/tests/number.test.ts +325 -0
- package/node_modules/zod/src/v4/classic/tests/object.test.ts +717 -0
- package/node_modules/zod/src/v4/classic/tests/optional.test.ts +333 -0
- package/node_modules/zod/src/v4/classic/tests/partial.test.ts +450 -0
- package/node_modules/zod/src/v4/classic/tests/pickomit.test.ts +211 -0
- package/node_modules/zod/src/v4/classic/tests/pipe.test.ts +101 -0
- package/node_modules/zod/src/v4/classic/tests/prefault.test.ts +74 -0
- package/node_modules/zod/src/v4/classic/tests/preprocess-types.test.ts +26 -0
- package/node_modules/zod/src/v4/classic/tests/preprocess.test.ts +351 -0
- package/node_modules/zod/src/v4/classic/tests/primitive.test.ts +175 -0
- package/node_modules/zod/src/v4/classic/tests/promise.test.ts +81 -0
- package/node_modules/zod/src/v4/classic/tests/prototypes.test.ts +23 -0
- package/node_modules/zod/src/v4/classic/tests/readonly.test.ts +252 -0
- package/node_modules/zod/src/v4/classic/tests/record.test.ts +717 -0
- package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +631 -0
- package/node_modules/zod/src/v4/classic/tests/refine.test.ts +633 -0
- package/node_modules/zod/src/v4/classic/tests/registries.test.ts +243 -0
- package/node_modules/zod/src/v4/classic/tests/set.test.ts +181 -0
- package/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +134 -0
- package/node_modules/zod/src/v4/classic/tests/string-formats.test.ts +125 -0
- package/node_modules/zod/src/v4/classic/tests/string.test.ts +1224 -0
- package/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +106 -0
- package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +771 -0
- package/node_modules/zod/src/v4/classic/tests/to-json-schema-methods.test.ts +438 -0
- package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +3125 -0
- package/node_modules/zod/src/v4/classic/tests/transform.test.ts +378 -0
- package/node_modules/zod/src/v4/classic/tests/tuple.test.ts +496 -0
- package/node_modules/zod/src/v4/classic/tests/union.test.ts +273 -0
- package/node_modules/zod/src/v4/classic/tests/url.test.ts +13 -0
- package/node_modules/zod/src/v4/classic/tests/validations.test.ts +283 -0
- package/node_modules/zod/src/v4/classic/tests/void.test.ts +12 -0
- package/node_modules/zod/src/v4/core/api.ts +1823 -0
- package/node_modules/zod/src/v4/core/checks.ts +1293 -0
- package/node_modules/zod/src/v4/core/config.ts +15 -0
- package/node_modules/zod/src/v4/core/core.ts +153 -0
- package/node_modules/zod/src/v4/core/doc.ts +44 -0
- package/node_modules/zod/src/v4/core/errors.ts +455 -0
- package/node_modules/zod/src/v4/core/index.ts +16 -0
- package/node_modules/zod/src/v4/core/json-schema-generator.ts +126 -0
- package/node_modules/zod/src/v4/core/json-schema-processors.ts +666 -0
- package/node_modules/zod/src/v4/core/json-schema.ts +147 -0
- package/node_modules/zod/src/v4/core/parse.ts +195 -0
- package/node_modules/zod/src/v4/core/regexes.ts +190 -0
- package/node_modules/zod/src/v4/core/registries.ts +105 -0
- package/node_modules/zod/src/v4/core/schemas.ts +4730 -0
- package/node_modules/zod/src/v4/core/standard-schema.ts +159 -0
- package/node_modules/zod/src/v4/core/tests/extend.test.ts +59 -0
- package/node_modules/zod/src/v4/core/tests/index.test.ts +46 -0
- package/node_modules/zod/src/v4/core/tests/locales/be.test.ts +124 -0
- package/node_modules/zod/src/v4/core/tests/locales/el.test.ts +215 -0
- package/node_modules/zod/src/v4/core/tests/locales/en.test.ts +22 -0
- package/node_modules/zod/src/v4/core/tests/locales/es.test.ts +181 -0
- package/node_modules/zod/src/v4/core/tests/locales/fr.test.ts +72 -0
- package/node_modules/zod/src/v4/core/tests/locales/he.test.ts +379 -0
- package/node_modules/zod/src/v4/core/tests/locales/hr.test.ts +163 -0
- package/node_modules/zod/src/v4/core/tests/locales/nl.test.ts +46 -0
- package/node_modules/zod/src/v4/core/tests/locales/ru.test.ts +128 -0
- package/node_modules/zod/src/v4/core/tests/locales/tr.test.ts +69 -0
- package/node_modules/zod/src/v4/core/tests/locales/uz.test.ts +105 -0
- package/node_modules/zod/src/v4/core/tests/record-constructor.test.ts +125 -0
- package/node_modules/zod/src/v4/core/tests/recursive-tuples.test.ts +45 -0
- package/node_modules/zod/src/v4/core/to-json-schema.ts +622 -0
- package/node_modules/zod/src/v4/core/util.ts +983 -0
- package/node_modules/zod/src/v4/core/versions.ts +5 -0
- package/node_modules/zod/src/v4/core/zsf.ts +323 -0
- package/node_modules/zod/src/v4/index.ts +4 -0
- package/node_modules/zod/src/v4/locales/ar.ts +115 -0
- package/node_modules/zod/src/v4/locales/az.ts +111 -0
- package/node_modules/zod/src/v4/locales/be.ts +176 -0
- package/node_modules/zod/src/v4/locales/bg.ts +128 -0
- package/node_modules/zod/src/v4/locales/ca.ts +116 -0
- package/node_modules/zod/src/v4/locales/cs.ts +118 -0
- package/node_modules/zod/src/v4/locales/da.ts +123 -0
- package/node_modules/zod/src/v4/locales/de.ts +116 -0
- package/node_modules/zod/src/v4/locales/el.ts +121 -0
- package/node_modules/zod/src/v4/locales/en.ts +123 -0
- package/node_modules/zod/src/v4/locales/eo.ts +118 -0
- package/node_modules/zod/src/v4/locales/es.ts +141 -0
- package/node_modules/zod/src/v4/locales/fa.ts +126 -0
- package/node_modules/zod/src/v4/locales/fi.ts +121 -0
- package/node_modules/zod/src/v4/locales/fr-CA.ts +116 -0
- package/node_modules/zod/src/v4/locales/fr.ts +132 -0
- package/node_modules/zod/src/v4/locales/he.ts +246 -0
- package/node_modules/zod/src/v4/locales/hr.ts +131 -0
- package/node_modules/zod/src/v4/locales/hu.ts +117 -0
- package/node_modules/zod/src/v4/locales/hy.ts +164 -0
- package/node_modules/zod/src/v4/locales/id.ts +115 -0
- package/node_modules/zod/src/v4/locales/index.ts +52 -0
- package/node_modules/zod/src/v4/locales/is.ts +119 -0
- package/node_modules/zod/src/v4/locales/it.ts +116 -0
- package/node_modules/zod/src/v4/locales/ja.ts +114 -0
- package/node_modules/zod/src/v4/locales/ka.ts +123 -0
- package/node_modules/zod/src/v4/locales/kh.ts +7 -0
- package/node_modules/zod/src/v4/locales/km.ts +119 -0
- package/node_modules/zod/src/v4/locales/ko.ts +121 -0
- package/node_modules/zod/src/v4/locales/lt.ts +239 -0
- package/node_modules/zod/src/v4/locales/mk.ts +118 -0
- package/node_modules/zod/src/v4/locales/ms.ts +115 -0
- package/node_modules/zod/src/v4/locales/nl.ts +121 -0
- package/node_modules/zod/src/v4/locales/no.ts +116 -0
- package/node_modules/zod/src/v4/locales/ota.ts +117 -0
- package/node_modules/zod/src/v4/locales/pl.ts +118 -0
- package/node_modules/zod/src/v4/locales/ps.ts +126 -0
- package/node_modules/zod/src/v4/locales/pt.ts +116 -0
- package/node_modules/zod/src/v4/locales/ro.ts +129 -0
- package/node_modules/zod/src/v4/locales/ru.ts +176 -0
- package/node_modules/zod/src/v4/locales/sl.ts +118 -0
- package/node_modules/zod/src/v4/locales/sv.ts +119 -0
- package/node_modules/zod/src/v4/locales/ta.ts +118 -0
- package/node_modules/zod/src/v4/locales/th.ts +119 -0
- package/node_modules/zod/src/v4/locales/tr.ts +111 -0
- package/node_modules/zod/src/v4/locales/ua.ts +7 -0
- package/node_modules/zod/src/v4/locales/uk.ts +117 -0
- package/node_modules/zod/src/v4/locales/ur.ts +119 -0
- package/node_modules/zod/src/v4/locales/uz.ts +117 -0
- package/node_modules/zod/src/v4/locales/vi.ts +117 -0
- package/node_modules/zod/src/v4/locales/yo.ts +124 -0
- package/node_modules/zod/src/v4/locales/zh-CN.ts +116 -0
- package/node_modules/zod/src/v4/locales/zh-TW.ts +115 -0
- package/node_modules/zod/src/v4/mini/checks.ts +32 -0
- package/node_modules/zod/src/v4/mini/coerce.ts +27 -0
- package/node_modules/zod/src/v4/mini/external.ts +41 -0
- package/node_modules/zod/src/v4/mini/index.ts +3 -0
- package/node_modules/zod/src/v4/mini/iso.ts +66 -0
- package/node_modules/zod/src/v4/mini/parse.ts +14 -0
- package/node_modules/zod/src/v4/mini/schemas.ts +1947 -0
- package/node_modules/zod/src/v4/mini/tests/apply.test.ts +24 -0
- package/node_modules/zod/src/v4/mini/tests/assignability.test.ts +129 -0
- package/node_modules/zod/src/v4/mini/tests/brand.test.ts +94 -0
- package/node_modules/zod/src/v4/mini/tests/checks.test.ts +144 -0
- package/node_modules/zod/src/v4/mini/tests/codec.test.ts +548 -0
- package/node_modules/zod/src/v4/mini/tests/computed.test.ts +36 -0
- package/node_modules/zod/src/v4/mini/tests/error.test.ts +22 -0
- package/node_modules/zod/src/v4/mini/tests/functions.test.ts +5 -0
- package/node_modules/zod/src/v4/mini/tests/index.test.ts +993 -0
- package/node_modules/zod/src/v4/mini/tests/number.test.ts +95 -0
- package/node_modules/zod/src/v4/mini/tests/object.test.ts +227 -0
- package/node_modules/zod/src/v4/mini/tests/prototypes.test.ts +43 -0
- package/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +325 -0
- package/node_modules/zod/src/v4/mini/tests/standard-schema.test.ts +50 -0
- package/node_modules/zod/src/v4/mini/tests/string.test.ts +352 -0
- package/node_modules/zod/src/v4-mini/index.ts +3 -0
- package/node_modules/zod/v3/ZodError.cjs +138 -0
- package/node_modules/zod/v3/ZodError.d.cts +164 -0
- package/node_modules/zod/v3/ZodError.d.ts +164 -0
- package/node_modules/zod/v3/ZodError.js +133 -0
- package/node_modules/zod/v3/errors.cjs +17 -0
- package/node_modules/zod/v3/errors.d.cts +5 -0
- package/node_modules/zod/v3/errors.d.ts +5 -0
- package/node_modules/zod/v3/errors.js +9 -0
- package/node_modules/zod/v3/external.cjs +22 -0
- package/node_modules/zod/v3/external.d.cts +6 -0
- package/node_modules/zod/v3/external.d.ts +6 -0
- package/node_modules/zod/v3/external.js +6 -0
- package/node_modules/zod/v3/helpers/enumUtil.cjs +2 -0
- package/node_modules/zod/v3/helpers/enumUtil.d.cts +8 -0
- package/node_modules/zod/v3/helpers/enumUtil.d.ts +8 -0
- package/node_modules/zod/v3/helpers/enumUtil.js +1 -0
- package/node_modules/zod/v3/helpers/errorUtil.cjs +9 -0
- package/node_modules/zod/v3/helpers/errorUtil.d.cts +9 -0
- package/node_modules/zod/v3/helpers/errorUtil.d.ts +9 -0
- package/node_modules/zod/v3/helpers/errorUtil.js +6 -0
- package/node_modules/zod/v3/helpers/parseUtil.cjs +124 -0
- package/node_modules/zod/v3/helpers/parseUtil.d.cts +78 -0
- package/node_modules/zod/v3/helpers/parseUtil.d.ts +78 -0
- package/node_modules/zod/v3/helpers/parseUtil.js +109 -0
- package/node_modules/zod/v3/helpers/partialUtil.cjs +2 -0
- package/node_modules/zod/v3/helpers/partialUtil.d.cts +8 -0
- package/node_modules/zod/v3/helpers/partialUtil.d.ts +8 -0
- package/node_modules/zod/v3/helpers/partialUtil.js +1 -0
- package/node_modules/zod/v3/helpers/typeAliases.cjs +2 -0
- package/node_modules/zod/v3/helpers/typeAliases.d.cts +2 -0
- package/node_modules/zod/v3/helpers/typeAliases.d.ts +2 -0
- package/node_modules/zod/v3/helpers/typeAliases.js +1 -0
- package/node_modules/zod/v3/helpers/util.cjs +137 -0
- package/node_modules/zod/v3/helpers/util.d.cts +85 -0
- package/node_modules/zod/v3/helpers/util.d.ts +85 -0
- package/node_modules/zod/v3/helpers/util.js +133 -0
- package/node_modules/zod/v3/index.cjs +33 -0
- package/node_modules/zod/v3/index.d.cts +4 -0
- package/node_modules/zod/v3/index.d.ts +4 -0
- package/node_modules/zod/v3/index.js +4 -0
- package/node_modules/zod/v3/locales/en.cjs +112 -0
- package/node_modules/zod/v3/locales/en.d.cts +3 -0
- package/node_modules/zod/v3/locales/en.d.ts +3 -0
- package/node_modules/zod/v3/locales/en.js +109 -0
- package/node_modules/zod/v3/package.json +7 -0
- package/node_modules/zod/v3/standard-schema.cjs +2 -0
- package/node_modules/zod/v3/standard-schema.d.cts +102 -0
- package/node_modules/zod/v3/standard-schema.d.ts +102 -0
- package/node_modules/zod/v3/standard-schema.js +1 -0
- package/node_modules/zod/v3/types.cjs +3777 -0
- package/node_modules/zod/v3/types.d.cts +1034 -0
- package/node_modules/zod/v3/types.d.ts +1034 -0
- package/node_modules/zod/v3/types.js +3695 -0
- package/node_modules/zod/v4/classic/checks.cjs +33 -0
- package/node_modules/zod/v4/classic/checks.d.cts +1 -0
- package/node_modules/zod/v4/classic/checks.d.ts +1 -0
- package/node_modules/zod/v4/classic/checks.js +1 -0
- package/node_modules/zod/v4/classic/coerce.cjs +47 -0
- package/node_modules/zod/v4/classic/coerce.d.cts +17 -0
- package/node_modules/zod/v4/classic/coerce.d.ts +17 -0
- package/node_modules/zod/v4/classic/coerce.js +17 -0
- package/node_modules/zod/v4/classic/compat.cjs +61 -0
- package/node_modules/zod/v4/classic/compat.d.cts +50 -0
- package/node_modules/zod/v4/classic/compat.d.ts +50 -0
- package/node_modules/zod/v4/classic/compat.js +31 -0
- package/node_modules/zod/v4/classic/errors.cjs +74 -0
- package/node_modules/zod/v4/classic/errors.d.cts +30 -0
- package/node_modules/zod/v4/classic/errors.d.ts +30 -0
- package/node_modules/zod/v4/classic/errors.js +48 -0
- package/node_modules/zod/v4/classic/external.cjs +73 -0
- package/node_modules/zod/v4/classic/external.d.cts +16 -0
- package/node_modules/zod/v4/classic/external.d.ts +16 -0
- package/node_modules/zod/v4/classic/external.js +20 -0
- package/node_modules/zod/v4/classic/from-json-schema.cjs +625 -0
- package/node_modules/zod/v4/classic/from-json-schema.d.cts +12 -0
- package/node_modules/zod/v4/classic/from-json-schema.d.ts +12 -0
- package/node_modules/zod/v4/classic/from-json-schema.js +599 -0
- package/node_modules/zod/v4/classic/index.cjs +33 -0
- package/node_modules/zod/v4/classic/index.d.cts +4 -0
- package/node_modules/zod/v4/classic/index.d.ts +4 -0
- package/node_modules/zod/v4/classic/index.js +4 -0
- package/node_modules/zod/v4/classic/iso.cjs +60 -0
- package/node_modules/zod/v4/classic/iso.d.cts +22 -0
- package/node_modules/zod/v4/classic/iso.d.ts +22 -0
- package/node_modules/zod/v4/classic/iso.js +30 -0
- package/node_modules/zod/v4/classic/package.json +7 -0
- package/node_modules/zod/v4/classic/parse.cjs +41 -0
- package/node_modules/zod/v4/classic/parse.d.cts +31 -0
- package/node_modules/zod/v4/classic/parse.d.ts +31 -0
- package/node_modules/zod/v4/classic/parse.js +15 -0
- package/node_modules/zod/v4/classic/schemas.cjs +1511 -0
- package/node_modules/zod/v4/classic/schemas.d.cts +767 -0
- package/node_modules/zod/v4/classic/schemas.d.ts +767 -0
- package/node_modules/zod/v4/classic/schemas.js +1395 -0
- package/node_modules/zod/v4/core/api.cjs +1227 -0
- package/node_modules/zod/v4/core/api.d.cts +325 -0
- package/node_modules/zod/v4/core/api.d.ts +325 -0
- package/node_modules/zod/v4/core/api.js +1087 -0
- package/node_modules/zod/v4/core/checks.cjs +601 -0
- package/node_modules/zod/v4/core/checks.d.cts +278 -0
- package/node_modules/zod/v4/core/checks.d.ts +278 -0
- package/node_modules/zod/v4/core/checks.js +575 -0
- package/node_modules/zod/v4/core/core.cjs +85 -0
- package/node_modules/zod/v4/core/core.d.cts +70 -0
- package/node_modules/zod/v4/core/core.d.ts +70 -0
- package/node_modules/zod/v4/core/core.js +78 -0
- package/node_modules/zod/v4/core/doc.cjs +39 -0
- package/node_modules/zod/v4/core/doc.d.cts +14 -0
- package/node_modules/zod/v4/core/doc.d.ts +14 -0
- package/node_modules/zod/v4/core/doc.js +35 -0
- package/node_modules/zod/v4/core/errors.cjs +216 -0
- package/node_modules/zod/v4/core/errors.d.cts +221 -0
- package/node_modules/zod/v4/core/errors.d.ts +221 -0
- package/node_modules/zod/v4/core/errors.js +185 -0
- package/node_modules/zod/v4/core/index.cjs +47 -0
- package/node_modules/zod/v4/core/index.d.cts +16 -0
- package/node_modules/zod/v4/core/index.d.ts +16 -0
- package/node_modules/zod/v4/core/index.js +16 -0
- package/node_modules/zod/v4/core/json-schema-generator.cjs +99 -0
- package/node_modules/zod/v4/core/json-schema-generator.d.cts +65 -0
- package/node_modules/zod/v4/core/json-schema-generator.d.ts +65 -0
- package/node_modules/zod/v4/core/json-schema-generator.js +95 -0
- package/node_modules/zod/v4/core/json-schema-processors.cjs +644 -0
- package/node_modules/zod/v4/core/json-schema-processors.d.cts +49 -0
- package/node_modules/zod/v4/core/json-schema-processors.d.ts +49 -0
- package/node_modules/zod/v4/core/json-schema-processors.js +601 -0
- package/node_modules/zod/v4/core/json-schema.cjs +2 -0
- package/node_modules/zod/v4/core/json-schema.d.cts +88 -0
- package/node_modules/zod/v4/core/json-schema.d.ts +88 -0
- package/node_modules/zod/v4/core/json-schema.js +1 -0
- package/node_modules/zod/v4/core/package.json +7 -0
- package/node_modules/zod/v4/core/parse.cjs +131 -0
- package/node_modules/zod/v4/core/parse.d.cts +49 -0
- package/node_modules/zod/v4/core/parse.d.ts +49 -0
- package/node_modules/zod/v4/core/parse.js +93 -0
- package/node_modules/zod/v4/core/regexes.cjs +172 -0
- package/node_modules/zod/v4/core/regexes.d.cts +85 -0
- package/node_modules/zod/v4/core/regexes.d.ts +85 -0
- package/node_modules/zod/v4/core/regexes.js +139 -0
- package/node_modules/zod/v4/core/registries.cjs +56 -0
- package/node_modules/zod/v4/core/registries.d.cts +35 -0
- package/node_modules/zod/v4/core/registries.d.ts +35 -0
- package/node_modules/zod/v4/core/registries.js +51 -0
- package/node_modules/zod/v4/core/schemas.cjs +2270 -0
- package/node_modules/zod/v4/core/schemas.d.cts +1184 -0
- package/node_modules/zod/v4/core/schemas.d.ts +1184 -0
- package/node_modules/zod/v4/core/schemas.js +2239 -0
- package/node_modules/zod/v4/core/standard-schema.cjs +2 -0
- package/node_modules/zod/v4/core/standard-schema.d.cts +126 -0
- package/node_modules/zod/v4/core/standard-schema.d.ts +126 -0
- package/node_modules/zod/v4/core/standard-schema.js +1 -0
- package/node_modules/zod/v4/core/to-json-schema.cjs +457 -0
- package/node_modules/zod/v4/core/to-json-schema.d.cts +114 -0
- package/node_modules/zod/v4/core/to-json-schema.d.ts +114 -0
- package/node_modules/zod/v4/core/to-json-schema.js +448 -0
- package/node_modules/zod/v4/core/util.cjs +734 -0
- package/node_modules/zod/v4/core/util.d.cts +200 -0
- package/node_modules/zod/v4/core/util.d.ts +200 -0
- package/node_modules/zod/v4/core/util.js +674 -0
- package/node_modules/zod/v4/core/versions.cjs +8 -0
- package/node_modules/zod/v4/core/versions.d.cts +5 -0
- package/node_modules/zod/v4/core/versions.d.ts +5 -0
- package/node_modules/zod/v4/core/versions.js +5 -0
- package/node_modules/zod/v4/index.cjs +22 -0
- package/node_modules/zod/v4/index.d.cts +3 -0
- package/node_modules/zod/v4/index.d.ts +3 -0
- package/node_modules/zod/v4/index.js +3 -0
- package/node_modules/zod/v4/locales/ar.cjs +133 -0
- package/node_modules/zod/v4/locales/ar.d.cts +5 -0
- package/node_modules/zod/v4/locales/ar.d.ts +4 -0
- package/node_modules/zod/v4/locales/ar.js +106 -0
- package/node_modules/zod/v4/locales/az.cjs +132 -0
- package/node_modules/zod/v4/locales/az.d.cts +5 -0
- package/node_modules/zod/v4/locales/az.d.ts +4 -0
- package/node_modules/zod/v4/locales/az.js +105 -0
- package/node_modules/zod/v4/locales/be.cjs +183 -0
- package/node_modules/zod/v4/locales/be.d.cts +5 -0
- package/node_modules/zod/v4/locales/be.d.ts +4 -0
- package/node_modules/zod/v4/locales/be.js +156 -0
- package/node_modules/zod/v4/locales/bg.cjs +147 -0
- package/node_modules/zod/v4/locales/bg.d.cts +5 -0
- package/node_modules/zod/v4/locales/bg.d.ts +4 -0
- package/node_modules/zod/v4/locales/bg.js +120 -0
- package/node_modules/zod/v4/locales/ca.cjs +134 -0
- package/node_modules/zod/v4/locales/ca.d.cts +5 -0
- package/node_modules/zod/v4/locales/ca.d.ts +4 -0
- package/node_modules/zod/v4/locales/ca.js +107 -0
- package/node_modules/zod/v4/locales/cs.cjs +138 -0
- package/node_modules/zod/v4/locales/cs.d.cts +5 -0
- package/node_modules/zod/v4/locales/cs.d.ts +4 -0
- package/node_modules/zod/v4/locales/cs.js +111 -0
- package/node_modules/zod/v4/locales/da.cjs +142 -0
- package/node_modules/zod/v4/locales/da.d.cts +5 -0
- package/node_modules/zod/v4/locales/da.d.ts +4 -0
- package/node_modules/zod/v4/locales/da.js +115 -0
- package/node_modules/zod/v4/locales/de.cjs +135 -0
- package/node_modules/zod/v4/locales/de.d.cts +5 -0
- package/node_modules/zod/v4/locales/de.d.ts +4 -0
- package/node_modules/zod/v4/locales/de.js +108 -0
- package/node_modules/zod/v4/locales/el.cjs +136 -0
- package/node_modules/zod/v4/locales/el.d.cts +5 -0
- package/node_modules/zod/v4/locales/el.d.ts +4 -0
- package/node_modules/zod/v4/locales/el.js +109 -0
- package/node_modules/zod/v4/locales/en.cjs +140 -0
- package/node_modules/zod/v4/locales/en.d.cts +5 -0
- package/node_modules/zod/v4/locales/en.d.ts +4 -0
- package/node_modules/zod/v4/locales/en.js +113 -0
- package/node_modules/zod/v4/locales/eo.cjs +136 -0
- package/node_modules/zod/v4/locales/eo.d.cts +5 -0
- package/node_modules/zod/v4/locales/eo.d.ts +4 -0
- package/node_modules/zod/v4/locales/eo.js +109 -0
- package/node_modules/zod/v4/locales/es.cjs +159 -0
- package/node_modules/zod/v4/locales/es.d.cts +5 -0
- package/node_modules/zod/v4/locales/es.d.ts +4 -0
- package/node_modules/zod/v4/locales/es.js +132 -0
- package/node_modules/zod/v4/locales/fa.cjs +141 -0
- package/node_modules/zod/v4/locales/fa.d.cts +5 -0
- package/node_modules/zod/v4/locales/fa.d.ts +4 -0
- package/node_modules/zod/v4/locales/fa.js +114 -0
- package/node_modules/zod/v4/locales/fi.cjs +139 -0
- package/node_modules/zod/v4/locales/fi.d.cts +5 -0
- package/node_modules/zod/v4/locales/fi.d.ts +4 -0
- package/node_modules/zod/v4/locales/fi.js +112 -0
- package/node_modules/zod/v4/locales/fr-CA.cjs +134 -0
- package/node_modules/zod/v4/locales/fr-CA.d.cts +5 -0
- package/node_modules/zod/v4/locales/fr-CA.d.ts +4 -0
- package/node_modules/zod/v4/locales/fr-CA.js +107 -0
- package/node_modules/zod/v4/locales/fr.cjs +152 -0
- package/node_modules/zod/v4/locales/fr.d.cts +5 -0
- package/node_modules/zod/v4/locales/fr.d.ts +4 -0
- package/node_modules/zod/v4/locales/fr.js +125 -0
- package/node_modules/zod/v4/locales/he.cjs +241 -0
- package/node_modules/zod/v4/locales/he.d.cts +5 -0
- package/node_modules/zod/v4/locales/he.d.ts +4 -0
- package/node_modules/zod/v4/locales/he.js +214 -0
- package/node_modules/zod/v4/locales/hr.cjs +149 -0
- package/node_modules/zod/v4/locales/hr.d.cts +5 -0
- package/node_modules/zod/v4/locales/hr.d.ts +4 -0
- package/node_modules/zod/v4/locales/hr.js +122 -0
- package/node_modules/zod/v4/locales/hu.cjs +135 -0
- package/node_modules/zod/v4/locales/hu.d.cts +5 -0
- package/node_modules/zod/v4/locales/hu.d.ts +4 -0
- package/node_modules/zod/v4/locales/hu.js +108 -0
- package/node_modules/zod/v4/locales/hy.cjs +174 -0
- package/node_modules/zod/v4/locales/hy.d.cts +5 -0
- package/node_modules/zod/v4/locales/hy.d.ts +4 -0
- package/node_modules/zod/v4/locales/hy.js +147 -0
- package/node_modules/zod/v4/locales/id.cjs +133 -0
- package/node_modules/zod/v4/locales/id.d.cts +5 -0
- package/node_modules/zod/v4/locales/id.d.ts +4 -0
- package/node_modules/zod/v4/locales/id.js +106 -0
- package/node_modules/zod/v4/locales/index.cjs +111 -0
- package/node_modules/zod/v4/locales/index.d.cts +52 -0
- package/node_modules/zod/v4/locales/index.d.ts +52 -0
- package/node_modules/zod/v4/locales/index.js +52 -0
- package/node_modules/zod/v4/locales/is.cjs +136 -0
- package/node_modules/zod/v4/locales/is.d.cts +5 -0
- package/node_modules/zod/v4/locales/is.d.ts +4 -0
- package/node_modules/zod/v4/locales/is.js +109 -0
- package/node_modules/zod/v4/locales/it.cjs +135 -0
- package/node_modules/zod/v4/locales/it.d.cts +5 -0
- package/node_modules/zod/v4/locales/it.d.ts +4 -0
- package/node_modules/zod/v4/locales/it.js +108 -0
- package/node_modules/zod/v4/locales/ja.cjs +134 -0
- package/node_modules/zod/v4/locales/ja.d.cts +5 -0
- package/node_modules/zod/v4/locales/ja.d.ts +4 -0
- package/node_modules/zod/v4/locales/ja.js +107 -0
- package/node_modules/zod/v4/locales/ka.cjs +139 -0
- package/node_modules/zod/v4/locales/ka.d.cts +5 -0
- package/node_modules/zod/v4/locales/ka.d.ts +4 -0
- package/node_modules/zod/v4/locales/ka.js +112 -0
- package/node_modules/zod/v4/locales/kh.cjs +12 -0
- package/node_modules/zod/v4/locales/kh.d.cts +5 -0
- package/node_modules/zod/v4/locales/kh.d.ts +5 -0
- package/node_modules/zod/v4/locales/kh.js +5 -0
- package/node_modules/zod/v4/locales/km.cjs +137 -0
- package/node_modules/zod/v4/locales/km.d.cts +5 -0
- package/node_modules/zod/v4/locales/km.d.ts +4 -0
- package/node_modules/zod/v4/locales/km.js +110 -0
- package/node_modules/zod/v4/locales/ko.cjs +138 -0
- package/node_modules/zod/v4/locales/ko.d.cts +5 -0
- package/node_modules/zod/v4/locales/ko.d.ts +4 -0
- package/node_modules/zod/v4/locales/ko.js +111 -0
- package/node_modules/zod/v4/locales/lt.cjs +230 -0
- package/node_modules/zod/v4/locales/lt.d.cts +5 -0
- package/node_modules/zod/v4/locales/lt.d.ts +4 -0
- package/node_modules/zod/v4/locales/lt.js +203 -0
- package/node_modules/zod/v4/locales/mk.cjs +136 -0
- package/node_modules/zod/v4/locales/mk.d.cts +5 -0
- package/node_modules/zod/v4/locales/mk.d.ts +4 -0
- package/node_modules/zod/v4/locales/mk.js +109 -0
- package/node_modules/zod/v4/locales/ms.cjs +134 -0
- package/node_modules/zod/v4/locales/ms.d.cts +5 -0
- package/node_modules/zod/v4/locales/ms.d.ts +4 -0
- package/node_modules/zod/v4/locales/ms.js +107 -0
- package/node_modules/zod/v4/locales/nl.cjs +137 -0
- package/node_modules/zod/v4/locales/nl.d.cts +5 -0
- package/node_modules/zod/v4/locales/nl.d.ts +4 -0
- package/node_modules/zod/v4/locales/nl.js +110 -0
- package/node_modules/zod/v4/locales/no.cjs +135 -0
- package/node_modules/zod/v4/locales/no.d.cts +5 -0
- package/node_modules/zod/v4/locales/no.d.ts +4 -0
- package/node_modules/zod/v4/locales/no.js +108 -0
- package/node_modules/zod/v4/locales/ota.cjs +136 -0
- package/node_modules/zod/v4/locales/ota.d.cts +5 -0
- package/node_modules/zod/v4/locales/ota.d.ts +4 -0
- package/node_modules/zod/v4/locales/ota.js +109 -0
- package/node_modules/zod/v4/locales/package.json +7 -0
- package/node_modules/zod/v4/locales/pl.cjs +136 -0
- package/node_modules/zod/v4/locales/pl.d.cts +5 -0
- package/node_modules/zod/v4/locales/pl.d.ts +4 -0
- package/node_modules/zod/v4/locales/pl.js +109 -0
- package/node_modules/zod/v4/locales/ps.cjs +141 -0
- package/node_modules/zod/v4/locales/ps.d.cts +5 -0
- package/node_modules/zod/v4/locales/ps.d.ts +4 -0
- package/node_modules/zod/v4/locales/ps.js +114 -0
- package/node_modules/zod/v4/locales/pt.cjs +135 -0
- package/node_modules/zod/v4/locales/pt.d.cts +5 -0
- package/node_modules/zod/v4/locales/pt.d.ts +4 -0
- package/node_modules/zod/v4/locales/pt.js +108 -0
- package/node_modules/zod/v4/locales/ro.cjs +146 -0
- package/node_modules/zod/v4/locales/ro.d.cts +5 -0
- package/node_modules/zod/v4/locales/ro.d.ts +4 -0
- package/node_modules/zod/v4/locales/ro.js +119 -0
- package/node_modules/zod/v4/locales/ru.cjs +183 -0
- package/node_modules/zod/v4/locales/ru.d.cts +5 -0
- package/node_modules/zod/v4/locales/ru.d.ts +4 -0
- package/node_modules/zod/v4/locales/ru.js +156 -0
- package/node_modules/zod/v4/locales/sl.cjs +136 -0
- package/node_modules/zod/v4/locales/sl.d.cts +5 -0
- package/node_modules/zod/v4/locales/sl.d.ts +4 -0
- package/node_modules/zod/v4/locales/sl.js +109 -0
- package/node_modules/zod/v4/locales/sv.cjs +137 -0
- package/node_modules/zod/v4/locales/sv.d.cts +5 -0
- package/node_modules/zod/v4/locales/sv.d.ts +4 -0
- package/node_modules/zod/v4/locales/sv.js +110 -0
- package/node_modules/zod/v4/locales/ta.cjs +137 -0
- package/node_modules/zod/v4/locales/ta.d.cts +5 -0
- package/node_modules/zod/v4/locales/ta.d.ts +4 -0
- package/node_modules/zod/v4/locales/ta.js +110 -0
- package/node_modules/zod/v4/locales/th.cjs +137 -0
- package/node_modules/zod/v4/locales/th.d.cts +5 -0
- package/node_modules/zod/v4/locales/th.d.ts +4 -0
- package/node_modules/zod/v4/locales/th.js +110 -0
- package/node_modules/zod/v4/locales/tr.cjs +132 -0
- package/node_modules/zod/v4/locales/tr.d.cts +5 -0
- package/node_modules/zod/v4/locales/tr.d.ts +4 -0
- package/node_modules/zod/v4/locales/tr.js +105 -0
- package/node_modules/zod/v4/locales/ua.cjs +12 -0
- package/node_modules/zod/v4/locales/ua.d.cts +5 -0
- package/node_modules/zod/v4/locales/ua.d.ts +5 -0
- package/node_modules/zod/v4/locales/ua.js +5 -0
- package/node_modules/zod/v4/locales/uk.cjs +135 -0
- package/node_modules/zod/v4/locales/uk.d.cts +5 -0
- package/node_modules/zod/v4/locales/uk.d.ts +4 -0
- package/node_modules/zod/v4/locales/uk.js +108 -0
- package/node_modules/zod/v4/locales/ur.cjs +137 -0
- package/node_modules/zod/v4/locales/ur.d.cts +5 -0
- package/node_modules/zod/v4/locales/ur.d.ts +4 -0
- package/node_modules/zod/v4/locales/ur.js +110 -0
- package/node_modules/zod/v4/locales/uz.cjs +137 -0
- package/node_modules/zod/v4/locales/uz.d.cts +5 -0
- package/node_modules/zod/v4/locales/uz.d.ts +4 -0
- package/node_modules/zod/v4/locales/uz.js +110 -0
- package/node_modules/zod/v4/locales/vi.cjs +135 -0
- package/node_modules/zod/v4/locales/vi.d.cts +5 -0
- package/node_modules/zod/v4/locales/vi.d.ts +4 -0
- package/node_modules/zod/v4/locales/vi.js +108 -0
- package/node_modules/zod/v4/locales/yo.cjs +134 -0
- package/node_modules/zod/v4/locales/yo.d.cts +5 -0
- package/node_modules/zod/v4/locales/yo.d.ts +4 -0
- package/node_modules/zod/v4/locales/yo.js +107 -0
- package/node_modules/zod/v4/locales/zh-CN.cjs +136 -0
- package/node_modules/zod/v4/locales/zh-CN.d.cts +5 -0
- package/node_modules/zod/v4/locales/zh-CN.d.ts +4 -0
- package/node_modules/zod/v4/locales/zh-CN.js +109 -0
- package/node_modules/zod/v4/locales/zh-TW.cjs +134 -0
- package/node_modules/zod/v4/locales/zh-TW.d.cts +5 -0
- package/node_modules/zod/v4/locales/zh-TW.d.ts +4 -0
- package/node_modules/zod/v4/locales/zh-TW.js +107 -0
- package/node_modules/zod/v4/mini/checks.cjs +34 -0
- package/node_modules/zod/v4/mini/checks.d.cts +1 -0
- package/node_modules/zod/v4/mini/checks.d.ts +1 -0
- package/node_modules/zod/v4/mini/checks.js +1 -0
- package/node_modules/zod/v4/mini/coerce.cjs +52 -0
- package/node_modules/zod/v4/mini/coerce.d.cts +7 -0
- package/node_modules/zod/v4/mini/coerce.d.ts +7 -0
- package/node_modules/zod/v4/mini/coerce.js +22 -0
- package/node_modules/zod/v4/mini/external.cjs +63 -0
- package/node_modules/zod/v4/mini/external.d.cts +13 -0
- package/node_modules/zod/v4/mini/external.d.ts +13 -0
- package/node_modules/zod/v4/mini/external.js +14 -0
- package/node_modules/zod/v4/mini/index.cjs +32 -0
- package/node_modules/zod/v4/mini/index.d.cts +3 -0
- package/node_modules/zod/v4/mini/index.d.ts +3 -0
- package/node_modules/zod/v4/mini/index.js +3 -0
- package/node_modules/zod/v4/mini/iso.cjs +64 -0
- package/node_modules/zod/v4/mini/iso.d.cts +22 -0
- package/node_modules/zod/v4/mini/iso.d.ts +22 -0
- package/node_modules/zod/v4/mini/iso.js +34 -0
- package/node_modules/zod/v4/mini/package.json +7 -0
- package/node_modules/zod/v4/mini/parse.cjs +16 -0
- package/node_modules/zod/v4/mini/parse.d.cts +1 -0
- package/node_modules/zod/v4/mini/parse.d.ts +1 -0
- package/node_modules/zod/v4/mini/parse.js +1 -0
- package/node_modules/zod/v4/mini/schemas.cjs +1083 -0
- package/node_modules/zod/v4/mini/schemas.d.cts +445 -0
- package/node_modules/zod/v4/mini/schemas.d.ts +445 -0
- package/node_modules/zod/v4/mini/schemas.js +961 -0
- package/node_modules/zod/v4/package.json +7 -0
- package/node_modules/zod/v4-mini/index.cjs +32 -0
- package/node_modules/zod/v4-mini/index.d.cts +3 -0
- package/node_modules/zod/v4-mini/index.d.ts +3 -0
- package/node_modules/zod/v4-mini/index.js +3 -0
- package/node_modules/zod/v4-mini/package.json +7 -0
- package/npm-shrinkwrap.json +137 -0
- package/package.json +9 -8
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Blake3 fast hash is Blake2 with reduced security (round count). Can also be used as MAC & KDF.
|
|
3
|
+
*
|
|
4
|
+
* It is advertised as "the fastest cryptographic hash". However, it isn't true in JS.
|
|
5
|
+
* Why is this so slow? While it must be 6x faster than blake2b, perf diff is only 20%:
|
|
6
|
+
*
|
|
7
|
+
* * There is only 30% reduction in number of rounds from blake2s
|
|
8
|
+
* * Speed-up comes from tree structure, which is parallelized using SIMD & threading.
|
|
9
|
+
* These features are not present in JS, so we only get overhead from trees.
|
|
10
|
+
* * Parallelization only happens on 1024-byte chunks: there is no benefit for small inputs.
|
|
11
|
+
* * It is still possible to make it faster using: a) loop unrolling b) web workers c) wasm
|
|
12
|
+
* @module
|
|
13
|
+
*/
|
|
14
|
+
import { SHA256_IV } from "./_md.js";
|
|
15
|
+
import { fromBig } from "./_u64.js";
|
|
16
|
+
import { _BLAKE2, compress } from "./blake2.js";
|
|
17
|
+
// prettier-ignore
|
|
18
|
+
import { abytes, aexists, anumber, aoutput, clean, createHasher, swap32IfBE, u32, u8 } from "./utils.js";
|
|
19
|
+
// Flag bitset
|
|
20
|
+
const B3_Flags = {
|
|
21
|
+
CHUNK_START: 0b1,
|
|
22
|
+
CHUNK_END: 0b10,
|
|
23
|
+
PARENT: 0b100,
|
|
24
|
+
ROOT: 0b1000,
|
|
25
|
+
KEYED_HASH: 0b10000,
|
|
26
|
+
DERIVE_KEY_CONTEXT: 0b100000,
|
|
27
|
+
DERIVE_KEY_MATERIAL: 0b1000000,
|
|
28
|
+
};
|
|
29
|
+
const B3_IV = /* @__PURE__ */ SHA256_IV.slice();
|
|
30
|
+
const B3_SIGMA = /* @__PURE__ */ (() => {
|
|
31
|
+
const Id = Array.from({ length: 16 }, (_, i) => i);
|
|
32
|
+
const permute = (arr) => [2, 6, 3, 10, 7, 0, 4, 13, 1, 11, 12, 5, 9, 14, 15, 8].map((i) => arr[i]);
|
|
33
|
+
const res = [];
|
|
34
|
+
for (let i = 0, v = Id; i < 7; i++, v = permute(v))
|
|
35
|
+
res.push(...v);
|
|
36
|
+
return Uint8Array.from(res);
|
|
37
|
+
})();
|
|
38
|
+
/** Blake3 hash. Can be used as MAC and KDF. */
|
|
39
|
+
export class _BLAKE3 extends _BLAKE2 {
|
|
40
|
+
chunkPos = 0; // Position of current block in chunk
|
|
41
|
+
chunksDone = 0; // How many chunks we already have
|
|
42
|
+
flags = 0 | 0;
|
|
43
|
+
IV;
|
|
44
|
+
state;
|
|
45
|
+
stack = [];
|
|
46
|
+
// Output
|
|
47
|
+
posOut = 0;
|
|
48
|
+
bufferOut32 = new Uint32Array(16);
|
|
49
|
+
bufferOut;
|
|
50
|
+
chunkOut = 0; // index of output chunk
|
|
51
|
+
enableXOF = true;
|
|
52
|
+
constructor(opts = {}, flags = 0) {
|
|
53
|
+
super(64, opts.dkLen === undefined ? 32 : opts.dkLen);
|
|
54
|
+
const { key, context } = opts;
|
|
55
|
+
const hasContext = context !== undefined;
|
|
56
|
+
if (key !== undefined) {
|
|
57
|
+
if (hasContext)
|
|
58
|
+
throw new Error('Only "key" or "context" can be specified at same time');
|
|
59
|
+
abytes(key, 32, 'key');
|
|
60
|
+
const k = key.slice();
|
|
61
|
+
this.IV = u32(k);
|
|
62
|
+
swap32IfBE(this.IV);
|
|
63
|
+
this.flags = flags | B3_Flags.KEYED_HASH;
|
|
64
|
+
}
|
|
65
|
+
else if (hasContext) {
|
|
66
|
+
abytes(context, undefined, 'context');
|
|
67
|
+
const ctx = context;
|
|
68
|
+
const contextKey = new _BLAKE3({ dkLen: 32 }, B3_Flags.DERIVE_KEY_CONTEXT)
|
|
69
|
+
.update(ctx)
|
|
70
|
+
.digest();
|
|
71
|
+
this.IV = u32(contextKey);
|
|
72
|
+
swap32IfBE(this.IV);
|
|
73
|
+
this.flags = flags | B3_Flags.DERIVE_KEY_MATERIAL;
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
this.IV = B3_IV.slice();
|
|
77
|
+
this.flags = flags;
|
|
78
|
+
}
|
|
79
|
+
this.state = this.IV.slice();
|
|
80
|
+
this.bufferOut = u8(this.bufferOut32);
|
|
81
|
+
}
|
|
82
|
+
// Unused
|
|
83
|
+
get() {
|
|
84
|
+
return [];
|
|
85
|
+
}
|
|
86
|
+
set() { }
|
|
87
|
+
b2Compress(counter, flags, buf, bufPos = 0) {
|
|
88
|
+
const { state: s, pos } = this;
|
|
89
|
+
const { h, l } = fromBig(BigInt(counter), true);
|
|
90
|
+
// prettier-ignore
|
|
91
|
+
const { v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15 } = compress(B3_SIGMA, bufPos, buf, 7, s[0], s[1], s[2], s[3], s[4], s[5], s[6], s[7], B3_IV[0], B3_IV[1], B3_IV[2], B3_IV[3], h, l, pos, flags);
|
|
92
|
+
s[0] = v0 ^ v8;
|
|
93
|
+
s[1] = v1 ^ v9;
|
|
94
|
+
s[2] = v2 ^ v10;
|
|
95
|
+
s[3] = v3 ^ v11;
|
|
96
|
+
s[4] = v4 ^ v12;
|
|
97
|
+
s[5] = v5 ^ v13;
|
|
98
|
+
s[6] = v6 ^ v14;
|
|
99
|
+
s[7] = v7 ^ v15;
|
|
100
|
+
}
|
|
101
|
+
compress(buf, bufPos = 0, isLast = false) {
|
|
102
|
+
// Compress last block
|
|
103
|
+
let flags = this.flags;
|
|
104
|
+
if (!this.chunkPos)
|
|
105
|
+
flags |= B3_Flags.CHUNK_START;
|
|
106
|
+
if (this.chunkPos === 15 || isLast)
|
|
107
|
+
flags |= B3_Flags.CHUNK_END;
|
|
108
|
+
if (!isLast)
|
|
109
|
+
this.pos = this.blockLen;
|
|
110
|
+
this.b2Compress(this.chunksDone, flags, buf, bufPos);
|
|
111
|
+
this.chunkPos += 1;
|
|
112
|
+
// If current block is last in chunk (16 blocks), then compress chunks
|
|
113
|
+
if (this.chunkPos === 16 || isLast) {
|
|
114
|
+
let chunk = this.state;
|
|
115
|
+
this.state = this.IV.slice();
|
|
116
|
+
// If not the last one, compress only when there are trailing zeros in chunk counter
|
|
117
|
+
// chunks used as binary tree where current stack is path. Zero means current leaf is finished and can be compressed.
|
|
118
|
+
// 1 (001) - leaf not finished (just push current chunk to stack)
|
|
119
|
+
// 2 (010) - leaf finished at depth=1 (merge with last elm on stack and push back)
|
|
120
|
+
// 3 (011) - last leaf not finished
|
|
121
|
+
// 4 (100) - leafs finished at depth=1 and depth=2
|
|
122
|
+
for (let last, chunks = this.chunksDone + 1; isLast || !(chunks & 1); chunks >>= 1) {
|
|
123
|
+
if (!(last = this.stack.pop()))
|
|
124
|
+
break;
|
|
125
|
+
this.buffer32.set(last, 0);
|
|
126
|
+
this.buffer32.set(chunk, 8);
|
|
127
|
+
this.pos = this.blockLen;
|
|
128
|
+
this.b2Compress(0, this.flags | B3_Flags.PARENT, this.buffer32, 0);
|
|
129
|
+
chunk = this.state;
|
|
130
|
+
this.state = this.IV.slice();
|
|
131
|
+
}
|
|
132
|
+
this.chunksDone++;
|
|
133
|
+
this.chunkPos = 0;
|
|
134
|
+
this.stack.push(chunk);
|
|
135
|
+
}
|
|
136
|
+
this.pos = 0;
|
|
137
|
+
}
|
|
138
|
+
_cloneInto(to) {
|
|
139
|
+
to = super._cloneInto(to);
|
|
140
|
+
const { IV, flags, state, chunkPos, posOut, chunkOut, stack, chunksDone } = this;
|
|
141
|
+
to.state.set(state.slice());
|
|
142
|
+
to.stack = stack.map((i) => Uint32Array.from(i));
|
|
143
|
+
to.IV.set(IV);
|
|
144
|
+
to.flags = flags;
|
|
145
|
+
to.chunkPos = chunkPos;
|
|
146
|
+
to.chunksDone = chunksDone;
|
|
147
|
+
to.posOut = posOut;
|
|
148
|
+
to.chunkOut = chunkOut;
|
|
149
|
+
to.enableXOF = this.enableXOF;
|
|
150
|
+
to.bufferOut32.set(this.bufferOut32);
|
|
151
|
+
return to;
|
|
152
|
+
}
|
|
153
|
+
destroy() {
|
|
154
|
+
this.destroyed = true;
|
|
155
|
+
clean(this.state, this.buffer32, this.IV, this.bufferOut32);
|
|
156
|
+
clean(...this.stack);
|
|
157
|
+
}
|
|
158
|
+
// Same as b2Compress, but doesn't modify state and returns 16 u32 array (instead of 8)
|
|
159
|
+
b2CompressOut() {
|
|
160
|
+
const { state: s, pos, flags, buffer32, bufferOut32: out32 } = this;
|
|
161
|
+
const { h, l } = fromBig(BigInt(this.chunkOut++));
|
|
162
|
+
swap32IfBE(buffer32);
|
|
163
|
+
// prettier-ignore
|
|
164
|
+
const { v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15 } = compress(B3_SIGMA, 0, buffer32, 7, s[0], s[1], s[2], s[3], s[4], s[5], s[6], s[7], B3_IV[0], B3_IV[1], B3_IV[2], B3_IV[3], l, h, pos, flags);
|
|
165
|
+
out32[0] = v0 ^ v8;
|
|
166
|
+
out32[1] = v1 ^ v9;
|
|
167
|
+
out32[2] = v2 ^ v10;
|
|
168
|
+
out32[3] = v3 ^ v11;
|
|
169
|
+
out32[4] = v4 ^ v12;
|
|
170
|
+
out32[5] = v5 ^ v13;
|
|
171
|
+
out32[6] = v6 ^ v14;
|
|
172
|
+
out32[7] = v7 ^ v15;
|
|
173
|
+
out32[8] = s[0] ^ v8;
|
|
174
|
+
out32[9] = s[1] ^ v9;
|
|
175
|
+
out32[10] = s[2] ^ v10;
|
|
176
|
+
out32[11] = s[3] ^ v11;
|
|
177
|
+
out32[12] = s[4] ^ v12;
|
|
178
|
+
out32[13] = s[5] ^ v13;
|
|
179
|
+
out32[14] = s[6] ^ v14;
|
|
180
|
+
out32[15] = s[7] ^ v15;
|
|
181
|
+
swap32IfBE(buffer32);
|
|
182
|
+
swap32IfBE(out32);
|
|
183
|
+
this.posOut = 0;
|
|
184
|
+
}
|
|
185
|
+
finish() {
|
|
186
|
+
if (this.finished)
|
|
187
|
+
return;
|
|
188
|
+
this.finished = true;
|
|
189
|
+
// Padding
|
|
190
|
+
clean(this.buffer.subarray(this.pos));
|
|
191
|
+
// Process last chunk
|
|
192
|
+
let flags = this.flags | B3_Flags.ROOT;
|
|
193
|
+
if (this.stack.length) {
|
|
194
|
+
flags |= B3_Flags.PARENT;
|
|
195
|
+
swap32IfBE(this.buffer32);
|
|
196
|
+
this.compress(this.buffer32, 0, true);
|
|
197
|
+
swap32IfBE(this.buffer32);
|
|
198
|
+
this.chunksDone = 0;
|
|
199
|
+
this.pos = this.blockLen;
|
|
200
|
+
}
|
|
201
|
+
else {
|
|
202
|
+
flags |= (!this.chunkPos ? B3_Flags.CHUNK_START : 0) | B3_Flags.CHUNK_END;
|
|
203
|
+
}
|
|
204
|
+
this.flags = flags;
|
|
205
|
+
this.b2CompressOut();
|
|
206
|
+
}
|
|
207
|
+
writeInto(out) {
|
|
208
|
+
aexists(this, false);
|
|
209
|
+
abytes(out);
|
|
210
|
+
this.finish();
|
|
211
|
+
const { blockLen, bufferOut } = this;
|
|
212
|
+
for (let pos = 0, len = out.length; pos < len;) {
|
|
213
|
+
if (this.posOut >= blockLen)
|
|
214
|
+
this.b2CompressOut();
|
|
215
|
+
const take = Math.min(blockLen - this.posOut, len - pos);
|
|
216
|
+
out.set(bufferOut.subarray(this.posOut, this.posOut + take), pos);
|
|
217
|
+
this.posOut += take;
|
|
218
|
+
pos += take;
|
|
219
|
+
}
|
|
220
|
+
return out;
|
|
221
|
+
}
|
|
222
|
+
xofInto(out) {
|
|
223
|
+
if (!this.enableXOF)
|
|
224
|
+
throw new Error('XOF is not possible after digest call');
|
|
225
|
+
return this.writeInto(out);
|
|
226
|
+
}
|
|
227
|
+
xof(bytes) {
|
|
228
|
+
anumber(bytes);
|
|
229
|
+
return this.xofInto(new Uint8Array(bytes));
|
|
230
|
+
}
|
|
231
|
+
digestInto(out) {
|
|
232
|
+
aoutput(out, this);
|
|
233
|
+
if (this.finished)
|
|
234
|
+
throw new Error('digest() was already called');
|
|
235
|
+
this.enableXOF = false;
|
|
236
|
+
this.writeInto(out);
|
|
237
|
+
this.destroy();
|
|
238
|
+
return out;
|
|
239
|
+
}
|
|
240
|
+
digest() {
|
|
241
|
+
return this.digestInto(new Uint8Array(this.outputLen));
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* BLAKE3 hash function. Can be used as MAC and KDF.
|
|
246
|
+
* @param msg - message that would be hashed
|
|
247
|
+
* @param opts - `dkLen` for output length, `key` for MAC mode, `context` for KDF mode
|
|
248
|
+
* @example
|
|
249
|
+
* const data = new Uint8Array(32);
|
|
250
|
+
* const hash = blake3(data);
|
|
251
|
+
* const mac = blake3(data, { key: new Uint8Array(32) });
|
|
252
|
+
* const kdf = blake3(data, { context: 'application name' });
|
|
253
|
+
*/
|
|
254
|
+
export const blake3 = /* @__PURE__ */ createHasher((opts = {}) => new _BLAKE3(opts));
|
|
255
|
+
//# sourceMappingURL=blake3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blake3.js","sourceRoot":"","sources":["src/blake3.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/** Scrypt KDF */
|
|
2
|
+
export declare function scrypt(password: string, salt: string): Uint8Array;
|
|
3
|
+
/** PBKDF2-HMAC-SHA256 */
|
|
4
|
+
export declare function pbkdf2(password: string, salt: string): Uint8Array;
|
|
5
|
+
/**
|
|
6
|
+
* Derives main seed. Takes a lot of time. Prefer `eskdf` method instead.
|
|
7
|
+
*/
|
|
8
|
+
export declare function deriveMainSeed(username: string, password: string): Uint8Array;
|
|
9
|
+
type AccountID = number | string;
|
|
10
|
+
type OptsLength = {
|
|
11
|
+
keyLength: number;
|
|
12
|
+
};
|
|
13
|
+
type OptsMod = {
|
|
14
|
+
modulus: bigint;
|
|
15
|
+
};
|
|
16
|
+
type KeyOpts = undefined | OptsLength | OptsMod;
|
|
17
|
+
/** Not using classes because constructor cannot be async */
|
|
18
|
+
export interface ESKDF {
|
|
19
|
+
/**
|
|
20
|
+
* Derives a child key. Child key will not be associated with any
|
|
21
|
+
* other child key because of properties of underlying KDF.
|
|
22
|
+
*
|
|
23
|
+
* @param protocol - 3-15 character protocol name
|
|
24
|
+
* @param accountId - numeric identifier of account
|
|
25
|
+
* @param options - `keyLength: 64` or `modulus: 41920438n`
|
|
26
|
+
* @example deriveChildKey('aes', 0)
|
|
27
|
+
*/
|
|
28
|
+
deriveChildKey: (protocol: string, accountId: AccountID, options?: KeyOpts) => Uint8Array;
|
|
29
|
+
/**
|
|
30
|
+
* Deletes the main seed from eskdf instance
|
|
31
|
+
*/
|
|
32
|
+
expire: () => void;
|
|
33
|
+
/**
|
|
34
|
+
* Account fingerprint
|
|
35
|
+
*/
|
|
36
|
+
fingerprint: string;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* ESKDF
|
|
40
|
+
* @param username - username, email, or identifier, min: 8 characters, should have enough entropy
|
|
41
|
+
* @param password - password, min: 8 characters, should have enough entropy
|
|
42
|
+
* @example
|
|
43
|
+
* const kdf = await eskdf('example-university', 'beginning-new-example');
|
|
44
|
+
* const key = kdf.deriveChildKey('aes', 0);
|
|
45
|
+
* console.log(kdf.fingerprint);
|
|
46
|
+
* kdf.expire();
|
|
47
|
+
*/
|
|
48
|
+
export declare function eskdf(username: string, password: string): Promise<ESKDF>;
|
|
49
|
+
export {};
|
|
50
|
+
//# sourceMappingURL=eskdf.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eskdf.d.ts","sourceRoot":"","sources":["src/eskdf.ts"],"names":[],"mappings":"AAiBA,iBAAiB;AACjB,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAEjE;AAED,yBAAyB;AACzB,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAEjE;AAiBD;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,CAY7E;AAED,KAAK,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAgCjC,KAAK,UAAU,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AACxC,KAAK,OAAO,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AACnC,KAAK,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;AAuChD,4DAA4D;AAC5D,MAAM,WAAW,KAAK;IACpB;;;;;;;;OAQG;IACH,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,UAAU,CAAC;IAC1F;;OAEG;IACH,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;GASG;AACH,wBAAsB,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAuB9E"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Experimental KDF for AES.
|
|
3
|
+
* @module
|
|
4
|
+
*/
|
|
5
|
+
import { hkdf } from "./hkdf.js";
|
|
6
|
+
import { pbkdf2 as _pbkdf2 } from "./pbkdf2.js";
|
|
7
|
+
import { scrypt as _scrypt } from "./scrypt.js";
|
|
8
|
+
import { sha256 } from "./sha2.js";
|
|
9
|
+
import { abytes, bytesToHex, clean, createView, hexToBytes, kdfInputToBytes } from "./utils.js";
|
|
10
|
+
// A tiny KDF for various applications like AES key-gen.
|
|
11
|
+
// Uses HKDF in a non-standard way, so it's not "KDF-secure", only "PRF-secure".
|
|
12
|
+
// Which is good enough: assume sha2-256 retained preimage resistance.
|
|
13
|
+
const SCRYPT_FACTOR = 2 ** 19;
|
|
14
|
+
const PBKDF2_FACTOR = 2 ** 17;
|
|
15
|
+
/** Scrypt KDF */
|
|
16
|
+
export function scrypt(password, salt) {
|
|
17
|
+
return _scrypt(password, salt, { N: SCRYPT_FACTOR, r: 8, p: 1, dkLen: 32 });
|
|
18
|
+
}
|
|
19
|
+
/** PBKDF2-HMAC-SHA256 */
|
|
20
|
+
export function pbkdf2(password, salt) {
|
|
21
|
+
return _pbkdf2(sha256, password, salt, { c: PBKDF2_FACTOR, dkLen: 32 });
|
|
22
|
+
}
|
|
23
|
+
// Combines two 32-byte byte arrays
|
|
24
|
+
function xor32(a, b) {
|
|
25
|
+
abytes(a, 32);
|
|
26
|
+
abytes(b, 32);
|
|
27
|
+
const arr = new Uint8Array(32);
|
|
28
|
+
for (let i = 0; i < 32; i++) {
|
|
29
|
+
arr[i] = a[i] ^ b[i];
|
|
30
|
+
}
|
|
31
|
+
return arr;
|
|
32
|
+
}
|
|
33
|
+
function strHasLength(str, min, max) {
|
|
34
|
+
return typeof str === 'string' && str.length >= min && str.length <= max;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Derives main seed. Takes a lot of time. Prefer `eskdf` method instead.
|
|
38
|
+
*/
|
|
39
|
+
export function deriveMainSeed(username, password) {
|
|
40
|
+
if (!strHasLength(username, 8, 255))
|
|
41
|
+
throw new Error('invalid username');
|
|
42
|
+
if (!strHasLength(password, 8, 255))
|
|
43
|
+
throw new Error('invalid password');
|
|
44
|
+
// Declared like this to throw off minifiers which auto-convert .fromCharCode(1) to actual string.
|
|
45
|
+
// String with non-ascii may be problematic in some envs
|
|
46
|
+
const codes = { _1: 1, _2: 2 };
|
|
47
|
+
const sep = { s: String.fromCharCode(codes._1), p: String.fromCharCode(codes._2) };
|
|
48
|
+
const scr = scrypt(password + sep.s, username + sep.s);
|
|
49
|
+
const pbk = pbkdf2(password + sep.p, username + sep.p);
|
|
50
|
+
const res = xor32(scr, pbk);
|
|
51
|
+
clean(scr, pbk);
|
|
52
|
+
return res;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Converts protocol & accountId pair to HKDF salt & info params.
|
|
56
|
+
*/
|
|
57
|
+
function getSaltInfo(protocol, accountId = 0) {
|
|
58
|
+
// Note that length here also repeats two lines below
|
|
59
|
+
// We do an additional length check here to reduce the scope of DoS attacks
|
|
60
|
+
if (!(strHasLength(protocol, 3, 15) && /^[a-z0-9]{3,15}$/.test(protocol))) {
|
|
61
|
+
throw new Error('invalid protocol');
|
|
62
|
+
}
|
|
63
|
+
// Allow string account ids for some protocols
|
|
64
|
+
const allowsStr = /^password\d{0,3}|ssh|tor|file$/.test(protocol);
|
|
65
|
+
let salt; // Extract salt. Default is undefined.
|
|
66
|
+
if (typeof accountId === 'string') {
|
|
67
|
+
if (!allowsStr)
|
|
68
|
+
throw new Error('accountId must be a number');
|
|
69
|
+
if (!strHasLength(accountId, 1, 255))
|
|
70
|
+
throw new Error('accountId must be string of length 1..255');
|
|
71
|
+
salt = kdfInputToBytes(accountId);
|
|
72
|
+
}
|
|
73
|
+
else if (Number.isSafeInteger(accountId)) {
|
|
74
|
+
if (accountId < 0 || accountId > Math.pow(2, 32) - 1)
|
|
75
|
+
throw new Error('invalid accountId');
|
|
76
|
+
// Convert to Big Endian Uint32
|
|
77
|
+
salt = new Uint8Array(4);
|
|
78
|
+
createView(salt).setUint32(0, accountId, false);
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
throw new Error('accountId must be a number' + (allowsStr ? ' or string' : ''));
|
|
82
|
+
}
|
|
83
|
+
const info = kdfInputToBytes(protocol);
|
|
84
|
+
return { salt, info };
|
|
85
|
+
}
|
|
86
|
+
function countBytes(num) {
|
|
87
|
+
if (typeof num !== 'bigint' || num <= BigInt(128))
|
|
88
|
+
throw new Error('invalid number');
|
|
89
|
+
return Math.ceil(num.toString(2).length / 8);
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Parses keyLength and modulus options to extract length of result key.
|
|
93
|
+
* If modulus is used, adds 64 bits to it as per FIPS 186 B.4.1 to combat modulo bias.
|
|
94
|
+
*/
|
|
95
|
+
function getKeyLength(options) {
|
|
96
|
+
if (!options || typeof options !== 'object')
|
|
97
|
+
return 32;
|
|
98
|
+
const hasLen = 'keyLength' in options;
|
|
99
|
+
const hasMod = 'modulus' in options;
|
|
100
|
+
if (hasLen && hasMod)
|
|
101
|
+
throw new Error('cannot combine keyLength and modulus options');
|
|
102
|
+
if (!hasLen && !hasMod)
|
|
103
|
+
throw new Error('must have either keyLength or modulus option');
|
|
104
|
+
// FIPS 186 B.4.1 requires at least 64 more bits
|
|
105
|
+
const l = hasMod ? countBytes(options.modulus) + 8 : options.keyLength;
|
|
106
|
+
if (!(typeof l === 'number' && l >= 16 && l <= 8192))
|
|
107
|
+
throw new Error('invalid keyLength');
|
|
108
|
+
return l;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Converts key to bigint and divides it by modulus. Big Endian.
|
|
112
|
+
* Implements FIPS 186 B.4.1, which removes 0 and modulo bias from output.
|
|
113
|
+
*/
|
|
114
|
+
function modReduceKey(key, modulus) {
|
|
115
|
+
const _1 = BigInt(1);
|
|
116
|
+
const num = BigInt('0x' + bytesToHex(key)); // check for ui8a, then bytesToNumber()
|
|
117
|
+
const res = (num % (modulus - _1)) + _1; // Remove 0 from output
|
|
118
|
+
if (res < _1)
|
|
119
|
+
throw new Error('expected positive number'); // Guard against bad values
|
|
120
|
+
const len = key.length - 8; // FIPS requires 64 more bits = 8 bytes
|
|
121
|
+
const hex = res.toString(16).padStart(len * 2, '0'); // numberToHex()
|
|
122
|
+
const bytes = hexToBytes(hex);
|
|
123
|
+
if (bytes.length !== len)
|
|
124
|
+
throw new Error('invalid length of result key');
|
|
125
|
+
return bytes;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* ESKDF
|
|
129
|
+
* @param username - username, email, or identifier, min: 8 characters, should have enough entropy
|
|
130
|
+
* @param password - password, min: 8 characters, should have enough entropy
|
|
131
|
+
* @example
|
|
132
|
+
* const kdf = await eskdf('example-university', 'beginning-new-example');
|
|
133
|
+
* const key = kdf.deriveChildKey('aes', 0);
|
|
134
|
+
* console.log(kdf.fingerprint);
|
|
135
|
+
* kdf.expire();
|
|
136
|
+
*/
|
|
137
|
+
export async function eskdf(username, password) {
|
|
138
|
+
// We are using closure + object instead of class because
|
|
139
|
+
// we want to make `seed` non-accessible for any external function.
|
|
140
|
+
let seed = deriveMainSeed(username, password);
|
|
141
|
+
function deriveCK(protocol, accountId = 0, options) {
|
|
142
|
+
abytes(seed, 32);
|
|
143
|
+
const { salt, info } = getSaltInfo(protocol, accountId); // validate protocol & accountId
|
|
144
|
+
const keyLength = getKeyLength(options); // validate options
|
|
145
|
+
const key = hkdf(sha256, seed, salt, info, keyLength);
|
|
146
|
+
// Modulus has already been validated
|
|
147
|
+
return options && 'modulus' in options ? modReduceKey(key, options.modulus) : key;
|
|
148
|
+
}
|
|
149
|
+
function expire() {
|
|
150
|
+
if (seed)
|
|
151
|
+
seed.fill(1);
|
|
152
|
+
seed = undefined;
|
|
153
|
+
}
|
|
154
|
+
// prettier-ignore
|
|
155
|
+
const fingerprint = Array.from(deriveCK('fingerprint', 0))
|
|
156
|
+
.slice(0, 6)
|
|
157
|
+
.map((char) => char.toString(16).padStart(2, '0').toUpperCase())
|
|
158
|
+
.join(':');
|
|
159
|
+
return Object.freeze({ deriveChildKey: deriveCK, expire, fingerprint });
|
|
160
|
+
}
|
|
161
|
+
//# sourceMappingURL=eskdf.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eskdf.js","sourceRoot":"","sources":["src/eskdf.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { type CHash } from './utils.ts';
|
|
2
|
+
/**
|
|
3
|
+
* HKDF-extract from spec. Less important part. `HKDF-Extract(IKM, salt) -> PRK`
|
|
4
|
+
* Arguments position differs from spec (IKM is first one, since it is not optional)
|
|
5
|
+
* @param hash - hash function that would be used (e.g. sha256)
|
|
6
|
+
* @param ikm - input keying material, the initial key
|
|
7
|
+
* @param salt - optional salt value (a non-secret random value)
|
|
8
|
+
*/
|
|
9
|
+
export declare function extract(hash: CHash, ikm: Uint8Array, salt?: Uint8Array): Uint8Array;
|
|
10
|
+
/**
|
|
11
|
+
* HKDF-expand from the spec. The most important part. `HKDF-Expand(PRK, info, L) -> OKM`
|
|
12
|
+
* @param hash - hash function that would be used (e.g. sha256)
|
|
13
|
+
* @param prk - a pseudorandom key of at least HashLen octets (usually, the output from the extract step)
|
|
14
|
+
* @param info - optional context and application specific information (can be a zero-length string)
|
|
15
|
+
* @param length - length of output keying material in bytes
|
|
16
|
+
*/
|
|
17
|
+
export declare function expand(hash: CHash, prk: Uint8Array, info?: Uint8Array, length?: number): Uint8Array;
|
|
18
|
+
/**
|
|
19
|
+
* HKDF (RFC 5869): derive keys from an initial input.
|
|
20
|
+
* Combines hkdf_extract + hkdf_expand in one step
|
|
21
|
+
* @param hash - hash function that would be used (e.g. sha256)
|
|
22
|
+
* @param ikm - input keying material, the initial key
|
|
23
|
+
* @param salt - optional salt value (a non-secret random value)
|
|
24
|
+
* @param info - optional context and application specific information (can be a zero-length string)
|
|
25
|
+
* @param length - length of output keying material in bytes
|
|
26
|
+
* @example
|
|
27
|
+
* import { hkdf } from '@noble/hashes/hkdf';
|
|
28
|
+
* import { sha256 } from '@noble/hashes/sha2';
|
|
29
|
+
* import { randomBytes } from '@noble/hashes/utils';
|
|
30
|
+
* const inputKey = randomBytes(32);
|
|
31
|
+
* const salt = randomBytes(32);
|
|
32
|
+
* const info = 'application-key';
|
|
33
|
+
* const hk1 = hkdf(sha256, inputKey, salt, info, 32);
|
|
34
|
+
*/
|
|
35
|
+
export declare const hkdf: (hash: CHash, ikm: Uint8Array, salt: Uint8Array | undefined, info: Uint8Array | undefined, length: number) => Uint8Array;
|
|
36
|
+
//# sourceMappingURL=hkdf.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hkdf.d.ts","sourceRoot":"","sources":["src/hkdf.ts"],"names":[],"mappings":"AAMA,OAAO,EAA0B,KAAK,KAAK,EAAS,MAAM,YAAY,CAAC;AAEvE;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,UAAU,CAOnF;AAKD;;;;;;GAMG;AACH,wBAAgB,MAAM,CACpB,IAAI,EAAE,KAAK,EACX,GAAG,EAAE,UAAU,EACf,IAAI,CAAC,EAAE,UAAU,EACjB,MAAM,GAAE,MAAW,GAClB,UAAU,CA6BZ;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,IAAI,GACf,MAAM,KAAK,EACX,KAAK,UAAU,EACf,MAAM,UAAU,GAAG,SAAS,EAC5B,MAAM,UAAU,GAAG,SAAS,EAC5B,QAAQ,MAAM,KACb,UAAkE,CAAC"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HKDF (RFC 5869): extract + expand in one step.
|
|
3
|
+
* See https://soatok.blog/2021/11/17/understanding-hkdf/.
|
|
4
|
+
* @module
|
|
5
|
+
*/
|
|
6
|
+
import { hmac } from "./hmac.js";
|
|
7
|
+
import { abytes, ahash, anumber, clean } from "./utils.js";
|
|
8
|
+
/**
|
|
9
|
+
* HKDF-extract from spec. Less important part. `HKDF-Extract(IKM, salt) -> PRK`
|
|
10
|
+
* Arguments position differs from spec (IKM is first one, since it is not optional)
|
|
11
|
+
* @param hash - hash function that would be used (e.g. sha256)
|
|
12
|
+
* @param ikm - input keying material, the initial key
|
|
13
|
+
* @param salt - optional salt value (a non-secret random value)
|
|
14
|
+
*/
|
|
15
|
+
export function extract(hash, ikm, salt) {
|
|
16
|
+
ahash(hash);
|
|
17
|
+
// NOTE: some libraries treat zero-length array as 'not provided';
|
|
18
|
+
// we don't, since we have undefined as 'not provided'
|
|
19
|
+
// https://github.com/RustCrypto/KDFs/issues/15
|
|
20
|
+
if (salt === undefined)
|
|
21
|
+
salt = new Uint8Array(hash.outputLen);
|
|
22
|
+
return hmac(hash, salt, ikm);
|
|
23
|
+
}
|
|
24
|
+
const HKDF_COUNTER = /* @__PURE__ */ Uint8Array.of(0);
|
|
25
|
+
const EMPTY_BUFFER = /* @__PURE__ */ Uint8Array.of();
|
|
26
|
+
/**
|
|
27
|
+
* HKDF-expand from the spec. The most important part. `HKDF-Expand(PRK, info, L) -> OKM`
|
|
28
|
+
* @param hash - hash function that would be used (e.g. sha256)
|
|
29
|
+
* @param prk - a pseudorandom key of at least HashLen octets (usually, the output from the extract step)
|
|
30
|
+
* @param info - optional context and application specific information (can be a zero-length string)
|
|
31
|
+
* @param length - length of output keying material in bytes
|
|
32
|
+
*/
|
|
33
|
+
export function expand(hash, prk, info, length = 32) {
|
|
34
|
+
ahash(hash);
|
|
35
|
+
anumber(length, 'length');
|
|
36
|
+
const olen = hash.outputLen;
|
|
37
|
+
if (length > 255 * olen)
|
|
38
|
+
throw new Error('Length must be <= 255*HashLen');
|
|
39
|
+
const blocks = Math.ceil(length / olen);
|
|
40
|
+
if (info === undefined)
|
|
41
|
+
info = EMPTY_BUFFER;
|
|
42
|
+
else
|
|
43
|
+
abytes(info, undefined, 'info');
|
|
44
|
+
// first L(ength) octets of T
|
|
45
|
+
const okm = new Uint8Array(blocks * olen);
|
|
46
|
+
// Re-use HMAC instance between blocks
|
|
47
|
+
const HMAC = hmac.create(hash, prk);
|
|
48
|
+
const HMACTmp = HMAC._cloneInto();
|
|
49
|
+
const T = new Uint8Array(HMAC.outputLen);
|
|
50
|
+
for (let counter = 0; counter < blocks; counter++) {
|
|
51
|
+
HKDF_COUNTER[0] = counter + 1;
|
|
52
|
+
// T(0) = empty string (zero length)
|
|
53
|
+
// T(N) = HMAC-Hash(PRK, T(N-1) | info | N)
|
|
54
|
+
HMACTmp.update(counter === 0 ? EMPTY_BUFFER : T)
|
|
55
|
+
.update(info)
|
|
56
|
+
.update(HKDF_COUNTER)
|
|
57
|
+
.digestInto(T);
|
|
58
|
+
okm.set(T, olen * counter);
|
|
59
|
+
HMAC._cloneInto(HMACTmp);
|
|
60
|
+
}
|
|
61
|
+
HMAC.destroy();
|
|
62
|
+
HMACTmp.destroy();
|
|
63
|
+
clean(T, HKDF_COUNTER);
|
|
64
|
+
return okm.slice(0, length);
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* HKDF (RFC 5869): derive keys from an initial input.
|
|
68
|
+
* Combines hkdf_extract + hkdf_expand in one step
|
|
69
|
+
* @param hash - hash function that would be used (e.g. sha256)
|
|
70
|
+
* @param ikm - input keying material, the initial key
|
|
71
|
+
* @param salt - optional salt value (a non-secret random value)
|
|
72
|
+
* @param info - optional context and application specific information (can be a zero-length string)
|
|
73
|
+
* @param length - length of output keying material in bytes
|
|
74
|
+
* @example
|
|
75
|
+
* import { hkdf } from '@noble/hashes/hkdf';
|
|
76
|
+
* import { sha256 } from '@noble/hashes/sha2';
|
|
77
|
+
* import { randomBytes } from '@noble/hashes/utils';
|
|
78
|
+
* const inputKey = randomBytes(32);
|
|
79
|
+
* const salt = randomBytes(32);
|
|
80
|
+
* const info = 'application-key';
|
|
81
|
+
* const hk1 = hkdf(sha256, inputKey, salt, info, 32);
|
|
82
|
+
*/
|
|
83
|
+
export const hkdf = (hash, ikm, salt, info, length) => expand(hash, extract(hash, ikm, salt), info, length);
|
|
84
|
+
//# sourceMappingURL=hkdf.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hkdf.js","sourceRoot":"","sources":["src/hkdf.ts"],"names":[],"mappings":"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"}
|