{"_id":"@atcute/identity-resolver","_rev":"18-a63136f3743b3cdf893b6c09be64ad89","name":"@atcute/identity-resolver","dist-tags":{"latest":"2.0.2"},"versions":{"0.1.0":{"name":"@atcute/identity-resolver","version":"0.1.0","keywords":["atproto","did"],"license":"MIT","_id":"@atcute/identity-resolver@0.1.0","maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"homepage":"https://github.com/mary-ext/atcute#readme","bugs":{"url":"https://github.com/mary-ext/atcute/issues"},"dist":{"shasum":"6b764355bc4769a7a9b0ad9d7fd5e3cf2e3991c4","tarball":"https://registry.npmjs.org/@atcute/identity-resolver/-/identity-resolver-0.1.0.tgz","fileCount":47,"integrity":"sha512-WRFwWja3Rfcki3KgL9GcmDsWkeJu7+0K800EmlXrby6RKSLddbxvEJUXZsGUYF2Zjp+1Uk5J7E3CwYO/hUwBRg==","signatures":[{"sig":"MEQCIF+TnTwM5a+4CJ0YZYZ8+48IorxJW7UKW3vHaxCkjGj5AiBkt4g2oFjGHggLyXn6srIXVk6dKTpNedM5OT8dzUvdXQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":60921},"type":"module","_from":"file:atcute-identity-resolver-0.1.0.tgz","exports":{".":"./dist/index.js"},"scripts":{"test":"bun test --coverage","build":"tsc --project tsconfig.build.json","prepublish":"rm -rf dist; pnpm run build"},"_npmUser":{"name":"externdefs","email":"hi@mary.my.id"},"_resolved":"/tmp/a3ebb97a8d085ca2ca8e8114125766fa/atcute-identity-resolver-0.1.0.tgz","_integrity":"sha512-WRFwWja3Rfcki3KgL9GcmDsWkeJu7+0K800EmlXrby6RKSLddbxvEJUXZsGUYF2Zjp+1Uk5J7E3CwYO/hUwBRg==","repository":{"url":"git+https://github.com/mary-ext/atcute.git","directory":"packages/identity/identity-resolver"},"_npmVersion":"10.9.2","description":"atproto handle and DID document resolution","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"@badrap/valita":"^0.4.2","@atcute/util-fetch":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.1","@atcute/identity":"^0.1.0"},"peerDependencies":{"@atcute/identity":"^0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/identity-resolver_0.1.0_1741858585932_0.1836508114776212","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@atcute/identity-resolver","version":"0.1.1","keywords":["atproto","did"],"license":"MIT","_id":"@atcute/identity-resolver@0.1.1","maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"homepage":"https://github.com/mary-ext/atcute#readme","bugs":{"url":"https://github.com/mary-ext/atcute/issues"},"dist":{"shasum":"98992458aea7e653746d953672e1f99a5b421a23","tarball":"https://registry.npmjs.org/@atcute/identity-resolver/-/identity-resolver-0.1.1.tgz","fileCount":47,"integrity":"sha512-5wIg+X8Cw89Yuiq+VYpnonjL18Zlf8lEblHLhVo20c2n/fBOIrOf53KT/MXxEnqFEYnm2k1F9KAZKK65wOzq9A==","signatures":[{"sig":"MEYCIQCJ2Q3gquqqa9frXMf6tdj0pH8x9ArNDmovRbgmvaE14gIhAI2JJiI9eDCIdy3fQRD5otzGkWBOdlL6v/flkm+xMUbd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":60951},"type":"module","_from":"file:atcute-identity-resolver-0.1.1.tgz","exports":{".":"./dist/index.js"},"scripts":{"test":"bun test --coverage","build":"tsc --project tsconfig.build.json","prepublish":"rm -rf dist; pnpm run build"},"_npmUser":{"name":"externdefs","email":"hi@mary.my.id"},"_resolved":"/tmp/7398b209f7abaa119a4d1059227f1677/atcute-identity-resolver-0.1.1.tgz","_integrity":"sha512-5wIg+X8Cw89Yuiq+VYpnonjL18Zlf8lEblHLhVo20c2n/fBOIrOf53KT/MXxEnqFEYnm2k1F9KAZKK65wOzq9A==","repository":{"url":"git+https://github.com/mary-ext/atcute.git","directory":"packages/identity/identity-resolver"},"_npmVersion":"10.9.2","description":"atproto handle and DID document resolution","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"@badrap/valita":"^0.4.2","@atcute/util-fetch":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.1","@atcute/identity":"^0.1.0"},"peerDependencies":{"@atcute/identity":"^0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/identity-resolver_0.1.1_1741878822589_0.10732072406518989","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@atcute/identity-resolver","version":"0.1.2","keywords":["atproto","did"],"license":"MIT","_id":"@atcute/identity-resolver@0.1.2","maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"homepage":"https://github.com/mary-ext/atcute#readme","bugs":{"url":"https://github.com/mary-ext/atcute/issues"},"dist":{"shasum":"f4c72449bc43aab808a40601475ac43c6a6b4bf7","tarball":"https://registry.npmjs.org/@atcute/identity-resolver/-/identity-resolver-0.1.2.tgz","fileCount":47,"integrity":"sha512-fP2VbHD04kVcCdNi/Kszo6jFzqM7Pg3p33oGhfp2zVkwFKaVBlwCaFRWEga/Xvu/IDLwNdASGWnLqoA34SFeSg==","signatures":[{"sig":"MEQCIBgtZvANNgPWeVdwJHh8+co+nBVzxL77ld44KLHI0O78AiBSY7CTftD6uZ77PGLtw4Ib+/G2Xuck5OsnZht1XVG7NA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62115},"type":"module","_from":"file:atcute-identity-resolver-0.1.2.tgz","exports":{".":"./dist/index.js"},"scripts":{"test":"bun test --coverage","build":"tsc --project tsconfig.build.json","prepublish":"rm -rf dist; pnpm run build"},"_npmUser":{"name":"externdefs","email":"hi@mary.my.id"},"_resolved":"/tmp/e685b98c295b117006b22ec4adb00f37/atcute-identity-resolver-0.1.2.tgz","_integrity":"sha512-fP2VbHD04kVcCdNi/Kszo6jFzqM7Pg3p33oGhfp2zVkwFKaVBlwCaFRWEga/Xvu/IDLwNdASGWnLqoA34SFeSg==","repository":{"url":"git+https://github.com/mary-ext/atcute.git","directory":"packages/identity/identity-resolver"},"_npmVersion":"10.9.2","description":"atproto handle and DID document resolution","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"@badrap/valita":"^0.4.2","@atcute/util-fetch":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.1","@atcute/identity":"^0.1.1"},"peerDependencies":{"@atcute/identity":"^0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/identity-resolver_0.1.2_1741938470937_0.2935035111154014","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@atcute/identity-resolver","version":"1.0.0","keywords":["atproto","did"],"license":"MIT","_id":"@atcute/identity-resolver@1.0.0","maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"homepage":"https://github.com/mary-ext/atcute#readme","bugs":{"url":"https://github.com/mary-ext/atcute/issues"},"dist":{"shasum":"74c44ca5ecb368fce2a056c5d2bd60e352130c91","tarball":"https://registry.npmjs.org/@atcute/identity-resolver/-/identity-resolver-1.0.0.tgz","fileCount":47,"integrity":"sha512-7+B20UYyyo5m1QWbpgzdXt4E+sww6X9fkK+zFDZQ80DLVx5VIReita0pMD1RlGhu5COyXk9RGOcVSEwHcZSwIQ==","signatures":[{"sig":"MEYCIQD5q4phISzjYoNhBc0LQsEPtDmiu36wqokx0Bma9NJzBwIhAJfywQ75WK+nBD4uELeUguJVOyDR0un373CxxIaW8Nj5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62569},"type":"module","_from":"file:atcute-identity-resolver-1.0.0.tgz","exports":{".":"./dist/index.js"},"scripts":{"test":"bun test --coverage","build":"tsc --project tsconfig.build.json","prepublish":"rm -rf dist; pnpm run build"},"_npmUser":{"name":"externdefs","email":"hi@mary.my.id"},"_resolved":"/tmp/96ee542bbc98cf241869a44832ed489e/atcute-identity-resolver-1.0.0.tgz","_integrity":"sha512-7+B20UYyyo5m1QWbpgzdXt4E+sww6X9fkK+zFDZQ80DLVx5VIReita0pMD1RlGhu5COyXk9RGOcVSEwHcZSwIQ==","repository":{"url":"git+https://github.com/mary-ext/atcute.git","directory":"packages/identity/identity-resolver"},"_npmVersion":"11.3.0","description":"atproto handle and DID document resolution","directories":{},"sideEffects":false,"_nodeVersion":"24.0.1","dependencies":{"@badrap/valita":"^0.4.4","@atcute/lexicons":"^1.0.0","@atcute/util-fetch":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.13","@atcute/identity":"^1.0.0"},"peerDependencies":{"@atcute/identity":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/identity-resolver_1.0.0_1747186960887_0.4111651429318637","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@atcute/identity-resolver","version":"1.0.1","keywords":["atproto","did"],"license":"MIT","_id":"@atcute/identity-resolver@1.0.1","maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"homepage":"https://github.com/mary-ext/atcute#readme","bugs":{"url":"https://github.com/mary-ext/atcute/issues"},"dist":{"shasum":"be4bfffa4ed75615ba3692585b4449ae911c279e","tarball":"https://registry.npmjs.org/@atcute/identity-resolver/-/identity-resolver-1.0.1.tgz","fileCount":47,"integrity":"sha512-f8DDij3XXYV6Jp/t8xfuGZZmVNLgTvY1mexIG4nyYZKnKk166KsbtXenmpfKRl0fYgTwX+J/nxhYKlf3ebkmCw==","signatures":[{"sig":"MEUCIEHjNZQ2pT9GsIVHwf6vPubvwiEzNhrzLHku1R2jFtBdAiEAvT+4LJRKcTCKrNmS4eLNFHK91T8ur2egWrEB0cQSjAo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62569},"type":"module","_from":"file:atcute-identity-resolver-1.0.1.tgz","exports":{".":"./dist/index.js"},"scripts":{"test":"bun test --coverage","build":"tsc --project tsconfig.build.json","prepublish":"rm -rf dist; pnpm run build"},"_npmUser":{"name":"externdefs","email":"hi@mary.my.id"},"_resolved":"/tmp/14c1f719e8a462747acc6b1d989fca48/atcute-identity-resolver-1.0.1.tgz","_integrity":"sha512-f8DDij3XXYV6Jp/t8xfuGZZmVNLgTvY1mexIG4nyYZKnKk166KsbtXenmpfKRl0fYgTwX+J/nxhYKlf3ebkmCw==","repository":{"url":"git+https://github.com/mary-ext/atcute.git","directory":"packages/identity/identity-resolver"},"_npmVersion":"11.3.0","description":"atproto handle and DID document resolution","directories":{},"sideEffects":false,"_nodeVersion":"24.0.1","dependencies":{"@badrap/valita":"^0.4.4","@atcute/lexicons":"^1.0.1","@atcute/util-fetch":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.13","@atcute/identity":"^1.0.1"},"peerDependencies":{"@atcute/identity":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/identity-resolver_1.0.1_1747444096295_0.8530846633752873","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@atcute/identity-resolver","version":"1.0.2","keywords":["atproto","did"],"license":"MIT","_id":"@atcute/identity-resolver@1.0.2","maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"homepage":"https://github.com/mary-ext/atcute#readme","bugs":{"url":"https://github.com/mary-ext/atcute/issues"},"dist":{"shasum":"a177da7fce367313968f2c97f8ca9f4ee4da6623","tarball":"https://registry.npmjs.org/@atcute/identity-resolver/-/identity-resolver-1.0.2.tgz","fileCount":47,"integrity":"sha512-ZN+AqKuFfqWNR81LarJp0Sby8DxzeZJepdXFGeeleWgnncblaUR57RAVDr+quHM97cNPYZIwIN7YJodjLGr4sw==","signatures":[{"sig":"MEUCIQDD1D7nGSgWqCuxR8enfwTaCZ9LPw8hhYfPlB9d730TBgIgAITQE3GbEiCXyClkh0tL6V/8WjczRniliO7c3Ua6ikA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62569},"type":"module","_from":"file:atcute-identity-resolver-1.0.2.tgz","exports":{".":"./dist/index.js"},"scripts":{"test":"bun test --coverage","build":"tsc --project tsconfig.build.json","prepublish":"rm -rf dist; pnpm run build"},"_npmUser":{"name":"externdefs","email":"hi@mary.my.id"},"_resolved":"/tmp/fb7f32977da3f170190f2e6e1c0f63d0/atcute-identity-resolver-1.0.2.tgz","_integrity":"sha512-ZN+AqKuFfqWNR81LarJp0Sby8DxzeZJepdXFGeeleWgnncblaUR57RAVDr+quHM97cNPYZIwIN7YJodjLGr4sw==","repository":{"url":"git+https://github.com/mary-ext/atcute.git","directory":"packages/identity/identity-resolver"},"_npmVersion":"11.3.0","description":"atproto handle and DID document resolution","directories":{},"sideEffects":false,"_nodeVersion":"24.0.1","dependencies":{"@badrap/valita":"^0.4.4","@atcute/lexicons":"^1.0.2","@atcute/util-fetch":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.13","@atcute/identity":"^1.0.2"},"peerDependencies":{"@atcute/identity":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/identity-resolver_1.0.2_1747714992974_0.03086281094969312","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@atcute/identity-resolver","version":"1.1.0","keywords":["atproto","did"],"license":"MIT","_id":"@atcute/identity-resolver@1.1.0","maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"homepage":"https://github.com/mary-ext/atcute#readme","bugs":{"url":"https://github.com/mary-ext/atcute/issues"},"dist":{"shasum":"c78ad71c47256f43e1502bf6d6d51c324887deae","tarball":"https://registry.npmjs.org/@atcute/identity-resolver/-/identity-resolver-1.1.0.tgz","fileCount":51,"integrity":"sha512-Ak41aYsQwW1xPan7BXM6TfQ18AkQg8RVH2s7Ppcg3b7YJUo8v24KJXaYoha3t+Tcr0T1xx56j/vZPIfwUG+b4g==","signatures":[{"sig":"MEQCIGbNij5SPhRAWfnJqJ7SR6Gsgj9IxURSVUUlCcKpWz13AiAMosIZ3lEFL0Y0ent3pjAeGZFBH3iDdbckLa7EuSel2Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":68104},"type":"module","_from":"file:atcute-identity-resolver-1.1.0.tgz","exports":{".":"./dist/index.js"},"scripts":{"test":"bun test --coverage","build":"tsc --project tsconfig.build.json","prepublish":"rm -rf dist; pnpm run build"},"_npmUser":{"name":"externdefs","email":"hi@mary.my.id"},"_resolved":"/tmp/d39c44c562728b0fbe5f920f1f85a9be/atcute-identity-resolver-1.1.0.tgz","_integrity":"sha512-Ak41aYsQwW1xPan7BXM6TfQ18AkQg8RVH2s7Ppcg3b7YJUo8v24KJXaYoha3t+Tcr0T1xx56j/vZPIfwUG+b4g==","repository":{"url":"git+https://github.com/mary-ext/atcute.git","directory":"packages/identity/identity-resolver"},"_npmVersion":"11.3.0","description":"atproto handle and DID document resolution","directories":{},"sideEffects":false,"_nodeVersion":"24.0.2","dependencies":{"@badrap/valita":"^0.4.4","@atcute/lexicons":"^1.0.3","@atcute/util-fetch":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.13","@atcute/identity":"^1.0.2"},"peerDependencies":{"@atcute/identity":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/identity-resolver_1.1.0_1747974786420_0.4119287293987224","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@atcute/identity-resolver","version":"1.1.1","keywords":["atproto","did"],"license":"MIT","_id":"@atcute/identity-resolver@1.1.1","maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"homepage":"https://github.com/mary-ext/atcute#readme","bugs":{"url":"https://github.com/mary-ext/atcute/issues"},"dist":{"shasum":"b742d93788707af3b05a5ea083b14f54a225fb20","tarball":"https://registry.npmjs.org/@atcute/identity-resolver/-/identity-resolver-1.1.1.tgz","fileCount":51,"integrity":"sha512-FyJ4OyKFJmoOv5e+fIuCsD/ckqskN3ZTZ5TFuJm4G1u16uMJLQ7cY4MOrMYLn6OAO/tAIDkjGPkeXvPJDvvANA==","signatures":[{"sig":"MEYCIQDsCRjm47imZ5sHTJfXIGCYiU6dgd+zHLuW+77PXhDaYQIhAK+f1x/4QRFXvfnkl0mbdxfSfoSzh+ubFGhK8A8T1XuB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":68122},"type":"module","_from":"file:atcute-identity-resolver-1.1.1.tgz","exports":{".":"./dist/index.js"},"scripts":{"test":"bun test --coverage","build":"tsc --project tsconfig.build.json","prepublish":"rm -rf dist; pnpm run build"},"_npmUser":{"name":"externdefs","email":"hi@mary.my.id"},"_resolved":"/tmp/448abf12dbdca0681dae1eaf106c429c/atcute-identity-resolver-1.1.1.tgz","_integrity":"sha512-FyJ4OyKFJmoOv5e+fIuCsD/ckqskN3ZTZ5TFuJm4G1u16uMJLQ7cY4MOrMYLn6OAO/tAIDkjGPkeXvPJDvvANA==","repository":{"url":"git+https://github.com/mary-ext/atcute.git","directory":"packages/identity/identity-resolver"},"_npmVersion":"10.9.2","description":"atproto handle and DID document resolution","directories":{},"sideEffects":false,"_nodeVersion":"22.16.0","dependencies":{"@badrap/valita":"^0.4.4","@atcute/lexicons":"^1.0.4","@atcute/util-fetch":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.13","@atcute/identity":"^1.0.2"},"peerDependencies":{"@atcute/identity":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/identity-resolver_1.1.1_1748441526870_0.6509397761260471","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@atcute/identity-resolver","version":"1.1.2","keywords":["atproto","did"],"license":"MIT","_id":"@atcute/identity-resolver@1.1.2","maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"homepage":"https://github.com/mary-ext/atcute#readme","bugs":{"url":"https://github.com/mary-ext/atcute/issues"},"dist":{"shasum":"f2726156366e069bfb1ef555113c25406d0c5c7a","tarball":"https://registry.npmjs.org/@atcute/identity-resolver/-/identity-resolver-1.1.2.tgz","fileCount":51,"integrity":"sha512-fxqnt1NEvbbar1bU+yKkYKDd8vXTKJYHK4OhpffqfzBPLZjtnVHx328waM8UZZk1IEwdyoi60biq7yzDMT5kgg==","signatures":[{"sig":"MEYCIQCF+k04wqve/VyKyT4J7H8lwpcuYjPzLOfOvnwDrHaGsgIhAPvDN6+J7r9R69dKOvJDY3w7Rm5lIUwfgA2InuwJxKMK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":68122},"type":"module","_from":"file:atcute-identity-resolver-1.1.2.tgz","exports":{".":"./dist/index.js"},"scripts":{"test":"bun test --coverage","build":"tsc --project tsconfig.build.json","prepublish":"rm -rf dist; pnpm run build"},"_npmUser":{"name":"externdefs","email":"hi@mary.my.id"},"_resolved":"/tmp/7e99acb157aba8b841a27d507563bdc0/atcute-identity-resolver-1.1.2.tgz","_integrity":"sha512-fxqnt1NEvbbar1bU+yKkYKDd8vXTKJYHK4OhpffqfzBPLZjtnVHx328waM8UZZk1IEwdyoi60biq7yzDMT5kgg==","repository":{"url":"git+https://github.com/mary-ext/atcute.git","directory":"packages/identity/identity-resolver"},"_npmVersion":"10.9.2","description":"atproto handle and DID document resolution","directories":{},"sideEffects":false,"_nodeVersion":"22.16.0","dependencies":{"@badrap/valita":"^0.4.4","@atcute/lexicons":"^1.0.4","@atcute/util-fetch":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.13","@atcute/identity":"^1.0.2"},"peerDependencies":{"@atcute/identity":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/identity-resolver_1.1.2_1748512456012_0.059707531752589915","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@atcute/identity-resolver","version":"1.1.3","keywords":["atproto","did"],"license":"MIT","_id":"@atcute/identity-resolver@1.1.3","maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"homepage":"https://github.com/mary-ext/atcute#readme","bugs":{"url":"https://github.com/mary-ext/atcute/issues"},"dist":{"shasum":"c4c36273008b66f35c0a478b8e0a454836aa45b2","tarball":"https://registry.npmjs.org/@atcute/identity-resolver/-/identity-resolver-1.1.3.tgz","fileCount":51,"integrity":"sha512-KZgGgg99CWaV7Df3+h3X/WMrDzTPQVfsaoIVbTNLx2B56BvCL2EmaxPSVw/7BFUJMZHlVU4rtoEB4lyvNyMswA==","signatures":[{"sig":"MEQCIAkT6wd3tQOWrRS2LSciEj+jrG41MDDC734WrGVRDOFFAiBskem5xUbWsJgBfMitJ8TaUy6ur6jXI5yhxUW5GVSE3g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69662},"type":"module","_from":"file:atcute-identity-resolver-1.1.3.tgz","exports":{".":"./dist/index.js"},"scripts":{"test":"bun test --coverage","build":"tsc --project tsconfig.build.json","prepublish":"rm -rf dist; pnpm run build"},"_npmUser":{"name":"externdefs","email":"hi@mary.my.id"},"_resolved":"/tmp/33d9a087cf6b98f43c69fed8e1e06606/atcute-identity-resolver-1.1.3.tgz","_integrity":"sha512-KZgGgg99CWaV7Df3+h3X/WMrDzTPQVfsaoIVbTNLx2B56BvCL2EmaxPSVw/7BFUJMZHlVU4rtoEB4lyvNyMswA==","repository":{"url":"git+https://github.com/mary-ext/atcute.git","directory":"packages/identity/identity-resolver"},"_npmVersion":"10.9.2","description":"atproto handle and DID document resolution","directories":{},"sideEffects":false,"_nodeVersion":"22.16.0","dependencies":{"@badrap/valita":"^0.4.4","@atcute/lexicons":"^1.0.4","@atcute/util-fetch":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.13","@atcute/identity":"^1.0.2"},"peerDependencies":{"@atcute/identity":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/identity-resolver_1.1.3_1748513407417_0.7254964231855039","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"@atcute/identity-resolver","version":"1.1.4","keywords":["atproto","did"],"license":"0BSD","_id":"@atcute/identity-resolver@1.1.4","maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"homepage":"https://github.com/mary-ext/atcute#readme","bugs":{"url":"https://github.com/mary-ext/atcute/issues"},"dist":{"shasum":"97e0d894a6bbd2eaf71dda40ab2c9ab14f5defed","tarball":"https://registry.npmjs.org/@atcute/identity-resolver/-/identity-resolver-1.1.4.tgz","fileCount":63,"integrity":"sha512-/SVh8vf2cXFJenmBnGeYF2aY3WGQm3cJeew5NWTlkqoy3LvJ5wkvKq9PWu4Tv653VF40rPOp6LOdVr9Fa+q5rA==","signatures":[{"sig":"MEQCICcHncz6VB5k38L7X4B/6BXUdpcuwjojANJL2y75sWlSAiB2m+p3feuiY5yRBnLaXWEzCYNrO9adrSQHvHsl/0CH5Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":76734},"type":"module","_from":"file:atcute-identity-resolver-1.1.4.tgz","exports":{".":"./dist/index.js"},"scripts":{"test":"bun test --coverage","build":"tsc --project tsconfig.build.json","prepublish":"rm -rf dist; pnpm run build"},"_npmUser":{"name":"externdefs","email":"hi@mary.my.id"},"_resolved":"/tmp/a93103c95680f8f75f4e8b066e5ef06f/atcute-identity-resolver-1.1.4.tgz","_integrity":"sha512-/SVh8vf2cXFJenmBnGeYF2aY3WGQm3cJeew5NWTlkqoy3LvJ5wkvKq9PWu4Tv653VF40rPOp6LOdVr9Fa+q5rA==","repository":{"url":"git+https://github.com/mary-ext/atcute.git","directory":"packages/identity/identity-resolver"},"_npmVersion":"10.9.2","description":"atproto handle and DID document resolution","directories":{},"sideEffects":false,"_nodeVersion":"22.17.1","dependencies":{"@badrap/valita":"^0.4.6","@atcute/lexicons":"^1.2.2","@atcute/util-fetch":"^1.0.3"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.21","@atcute/identity":"^1.1.1"},"peerDependencies":{"@atcute/identity":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/identity-resolver_1.1.4_1760012847283_0.5559578747240144","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@atcute/identity-resolver","version":"1.2.0","keywords":["atproto","did"],"license":"0BSD","_id":"@atcute/identity-resolver@1.2.0","maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"homepage":"https://github.com/mary-ext/atcute#readme","bugs":{"url":"https://github.com/mary-ext/atcute/issues"},"dist":{"shasum":"8efb5a29b4a8f606d3c13e8eca1e6a86798c3a40","tarball":"https://registry.npmjs.org/@atcute/identity-resolver/-/identity-resolver-1.2.0.tgz","fileCount":68,"integrity":"sha512-5UbSJfdV3JIkF8ksXz7g4nKBWasf2wROvzM66cfvTIWydWFO6/oS1KZd+zo9Eokje5Scf5+jsY9ZfgVARLepXg==","signatures":[{"sig":"MEQCIBPXqeWFVVVoshZMFNOQLQzATxcGUHxs1ZpttwWBSiNZAiB7j3jxmMnPx8dhCKJegdXyR5SJmwQlofmVY/D5m04N9Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85509},"type":"module","_from":"file:atcute-identity-resolver-1.2.0.tgz","exports":{".":"./dist/index.js"},"scripts":{"test":"vitest run --coverage","build":"tsgo --project tsconfig.build.json","prepublish":"rm -rf dist; pnpm run build"},"_npmUser":{"name":"externdefs","email":"hi@mary.my.id"},"_resolved":"/tmp/1a9338f90ca3fb792de0ac5515a3a150/atcute-identity-resolver-1.2.0.tgz","_integrity":"sha512-5UbSJfdV3JIkF8ksXz7g4nKBWasf2wROvzM66cfvTIWydWFO6/oS1KZd+zo9Eokje5Scf5+jsY9ZfgVARLepXg==","repository":{"url":"git+https://github.com/mary-ext/atcute.git","directory":"packages/identity/identity-resolver"},"_npmVersion":"10.9.4","description":"atproto handle and DID document resolution","directories":{},"sideEffects":false,"_nodeVersion":"22.21.1","dependencies":{"@badrap/valita":"^0.4.6","@atcute/lexicons":"^1.2.5","@atcute/util-fetch":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.14","@atcute/identity":"^1.1.3","@vitest/coverage-v8":"^4.0.14"},"peerDependencies":{"@atcute/identity":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/identity-resolver_1.2.0_1764990359825_0.453298433136875","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@atcute/identity-resolver","version":"1.2.1","keywords":["atproto","did"],"license":"0BSD","_id":"@atcute/identity-resolver@1.2.1","maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"homepage":"https://github.com/mary-ext/atcute#readme","bugs":{"url":"https://github.com/mary-ext/atcute/issues"},"dist":{"shasum":"bbebecf3bf3113ab8936c66e9b16ecaa17ab9f3d","tarball":"https://registry.npmjs.org/@atcute/identity-resolver/-/identity-resolver-1.2.1.tgz","fileCount":68,"integrity":"sha512-LqWFFf8D8bqW8l0zUV9oZxcXYZ8+uQTZfjURoxH1TLmtmZFSXredtQHsY70k/iSMNDPxWHJXebdlKxJm5ioNIg==","signatures":[{"sig":"MEQCIFRByIwRI2YWkI7qXUfQD9yDJQeX0brczvlEvYRY0oqWAiAi0QkYwBRr6KRcHhOpswKU0oL/6rCrTjEdJbG1HRHSsQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91277},"type":"module","_from":"file:atcute-identity-resolver-1.2.1.tgz","exports":{".":"./dist/index.js"},"scripts":{"test":"vitest run --coverage","build":"tsgo --project tsconfig.build.json","prepublish":"rm -rf dist; pnpm run build"},"_npmUser":{"name":"externdefs","email":"hi@mary.my.id"},"_resolved":"/tmp/c0f1a770fcc37d0cfa5a68ae5e566983/atcute-identity-resolver-1.2.1.tgz","_integrity":"sha512-LqWFFf8D8bqW8l0zUV9oZxcXYZ8+uQTZfjURoxH1TLmtmZFSXredtQHsY70k/iSMNDPxWHJXebdlKxJm5ioNIg==","repository":{"url":"git+https://github.com/mary-ext/atcute.git","directory":"packages/identity/identity-resolver"},"_npmVersion":"10.9.4","description":"atproto handle and DID document resolution","directories":{},"sideEffects":false,"_nodeVersion":"22.21.1","dependencies":{"@badrap/valita":"^0.4.6","@atcute/lexicons":"^1.2.5","@atcute/util-fetch":"^1.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.16","@atcute/identity":"^1.1.3","@vitest/coverage-v8":"^4.0.16"},"peerDependencies":{"@atcute/identity":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/identity-resolver_1.2.1_1766377415325_0.8434612670762054","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"@atcute/identity-resolver","version":"1.2.2","keywords":["atproto","did"],"license":"0BSD","_id":"@atcute/identity-resolver@1.2.2","maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"homepage":"https://github.com/mary-ext/atcute#readme","bugs":{"url":"https://github.com/mary-ext/atcute/issues"},"dist":{"shasum":"e148f3bfeabf28cd315c39804d3cf3b70acbce57","tarball":"https://registry.npmjs.org/@atcute/identity-resolver/-/identity-resolver-1.2.2.tgz","fileCount":68,"integrity":"sha512-eUh/UH4bFvuXS0X7epYCeJC/kj4rbBXfSRumLEH4smMVwNOgTo7cL/0Srty+P/qVPoZEyXdfEbS0PHJyzoXmHw==","signatures":[{"sig":"MEYCIQCN+vI0N7SoNg+sTe72OWBpB2TDUweyS+2o0MReHNWjrQIhALezl8s/J2pDUiwvEAHZG/O4ly/LMday6xigLZuNQeZM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86367},"type":"module","_from":"file:atcute-identity-resolver-1.2.2.tgz","exports":{".":"./dist/index.js"},"scripts":{"test":"vitest run --coverage","build":"tsgo --project tsconfig.build.json","prepublish":"rm -rf dist; pnpm run build"},"_npmUser":{"name":"externdefs","email":"hi@mary.my.id"},"_resolved":"/tmp/364077acac59ea4c6c4b895f79c0ebaa/atcute-identity-resolver-1.2.2.tgz","_integrity":"sha512-eUh/UH4bFvuXS0X7epYCeJC/kj4rbBXfSRumLEH4smMVwNOgTo7cL/0Srty+P/qVPoZEyXdfEbS0PHJyzoXmHw==","repository":{"url":"git+https://github.com/mary-ext/atcute.git","directory":"packages/identity/identity-resolver"},"_npmVersion":"10.9.4","description":"atproto handle and DID document resolution","directories":{},"sideEffects":false,"_nodeVersion":"22.21.1","dependencies":{"@badrap/valita":"^0.4.6","@atcute/lexicons":"^1.2.6","@atcute/util-fetch":"^1.0.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.16","@atcute/identity":"^1.1.3","@vitest/coverage-v8":"^4.0.16"},"peerDependencies":{"@atcute/identity":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/identity-resolver_1.2.2_1767403074165_0.037338996555773774","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"@atcute/identity-resolver","version":"1.2.3","keywords":["atproto","did"],"license":"0BSD","_id":"@atcute/identity-resolver@1.2.3","maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"dist":{"shasum":"550b267e729fbedef5e230ecfc2d1ad289b20035","tarball":"https://registry.npmjs.org/@atcute/identity-resolver/-/identity-resolver-1.2.3.tgz","fileCount":68,"integrity":"sha512-q891zLUMtgoD60y5Pv2YmTg4wIf4ipFuIhZlIuQTTB7qM9sGxmBbe2quzTRCTl3pnsLEmTz7l+3Dszgoutsp5w==","signatures":[{"sig":"MEUCIQD9R9qzwtmPQ6Ksv1xN83KaVzsi4nJ/W4ZMH8w9G/bxhQIgBj0L52kSsi95eLoMafudqO6nZn5ynIk4FgIwivRw1Pk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86683},"type":"module","exports":{".":"./dist/index.js"},"scripts":{"test":"vitest run --coverage","build":"tsgo","prepublish":"rm -rf dist; pnpm run build"},"_npmUser":{"name":"externdefs","email":"hi@mary.my.id"},"repository":{"url":"https://github.com/mary-ext/atcute","directory":"packages/identity/identity-resolver"},"description":"atproto handle and DID document resolution","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"@badrap/valita":"^0.4.6","@atcute/lexicons":"^1.3.1","@atcute/util-fetch":"^1.0.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.5","@atcute/identity":"^1.1.5","@vitest/coverage-v8":"^4.1.5"},"peerDependencies":{"@atcute/identity":"^1.0.0","@atcute/lexicons":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/identity-resolver_1.2.3_1778205574564_0.6115688748306709","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@atcute/identity-resolver","version":"2.0.0","keywords":["atproto","did"],"license":"0BSD","_id":"@atcute/identity-resolver@2.0.0","maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"dist":{"shasum":"691e984dbd47ec5534b0f33119f5083f35497ca0","tarball":"https://registry.npmjs.org/@atcute/identity-resolver/-/identity-resolver-2.0.0.tgz","fileCount":68,"integrity":"sha512-IKg1BDQAF2bIdN10DL6KAXmTjK+3enTU2IRbuani9TsFahBwGZ7O5FiVmTiL6QlGfauGNW5S0xNCOxWXWMoR2Q==","signatures":[{"sig":"MEQCIFQswI0N4cKKx30kgYsTrPWvYSFxiVk3Aa+vM5rQ5belAiA7ytanQncM6S9E5h78uRt9JNrWRhwTlgT/a6hVdSzaFg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":87475},"type":"module","exports":{".":"./dist/index.js"},"scripts":{"test":"vitest run --coverage","build":"tsgo","prepublish":"rm -rf dist; pnpm run build"},"_npmUser":{"name":"externdefs","email":"hi@mary.my.id"},"repository":{"url":"https://github.com/mary-ext/atcute","directory":"packages/identity/identity-resolver"},"description":"atproto handle and DID document resolution","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"valibot":"^1.4.0","@atcute/lexicons":"^2.0.0","@atcute/util-fetch":"^2.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.5","@atcute/identity":"^2.0.0","@vitest/coverage-v8":"^4.1.5"},"peerDependencies":{"@atcute/identity":"^2.0.0","@atcute/lexicons":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/identity-resolver_2.0.0_1778312764985_0.22109843630085635","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@atcute/identity-resolver","version":"2.0.1","keywords":["atproto","did"],"license":"0BSD","_id":"@atcute/identity-resolver@2.0.1","maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"dist":{"shasum":"b79a7559a121f10d9c0a17984f3ff87cb7896e62","tarball":"https://registry.npmjs.org/@atcute/identity-resolver/-/identity-resolver-2.0.1.tgz","fileCount":29,"integrity":"sha512-0enA9w7XnbbqsZ5Rcl6jXLf7ZZuwFQ9dBmxFq3qOxPHLaCETsqsrQflXDPqiM27TnZwYq8sqCV5D1mFOksggDQ==","signatures":[{"sig":"MEQCIA4KNce6EcXN/KjKH4rAnjCEH4EAkscfK0KS7SQ6G1HEAiA4fTuTTkm6R5sO6HAKcFNEU2edM3pGesLaeAxsw3OqxQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37641},"type":"module","exports":{".":"./dist/index.js"},"scripts":{"test":"vitest run --coverage","build":"tsgo","prepublish":"rm -rf dist; pnpm run build"},"_npmUser":{"name":"externdefs","email":"hi@mary.my.id"},"repository":{"url":"https://github.com/mary-ext/atcute","directory":"packages/identity/identity-resolver"},"description":"atproto handle and DID document resolution","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"valibot":"^1.4.1","@atcute/lexicons":"^2.0.2","@atcute/util-fetch":"^2.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.9","@atcute/identity":"^2.0.1","@vitest/coverage-v8":"^4.1.9"},"peerDependencies":{"@atcute/identity":"^2.0.0","@atcute/lexicons":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/identity-resolver_2.0.1_1782736421778_0.29741416854511193","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"_id":"@atcute/identity-resolver@2.0.2","dist":{"shasum":"9f536f3ed6346d35e570892aa19cd7640ae9c914","tarball":"https://registry.npmjs.org/@atcute/identity-resolver/-/identity-resolver-2.0.2.tgz","fileCount":29,"integrity":"sha512-NPavjKNRfunkMD99HjjKhEtyG76873V/N9IwwC1n+ePUW8wqTHSXstPLtGCelGBE1pA0T6RITzvbfDnMfOaCrw==","signatures":[{"sig":"MEYCIQDcYKtNcpq8yXkjhTNOkAJL6adlFPDqgItvn1Qg6VhN7AIhAOOklH4QpeBIJ52/aF4y5z6X0y3XH3LzzTtx4Uj/bZcE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAwkokYqINlCyYB0Poxe/p82HrW6BaQEe7ACcYNuXiUvAiAk182WknPv36D8IhOdRQ7HOpNNMHoikKtCZErp/JzvEQ=="}],"unpackedSize":37733},"name":"@atcute/identity-resolver","type":"module","exports":{".":"./dist/index.js"},"license":"0BSD","scripts":{"test":"vitest --coverage","build":"tsc","prepublish":"rm -rf dist; pnpm run build"},"version":"2.0.2","_npmUser":{"name":"externdefs","email":"hi@mary.my.id"},"keywords":["atproto","did"],"repository":{"url":"https://tangled.org/did:plc:pljn5qch4tgadongtc7i6qij","directory":"packages/identity/identity-resolver"},"description":"atproto handle and DID document resolution","directories":{},"maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"sideEffects":false,"dependencies":{"valibot":"^1.5.0","@atcute/lexicons":"^2.1.0","@atcute/util-fetch":"^2.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^5.0.0","@atcute/identity":"^2.0.2","@vitest/coverage-v8":"^5.0.0"},"peerDependencies":{"@atcute/identity":"^2.0.0","@atcute/lexicons":"^2.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/identity-resolver_2.0.2_1789196065821_0.931639824792152"}}},"time":{"created":"2025-03-13T09:36:25.841Z","modified":"2026-09-12T06:54:26.105Z","0.1.0":"2025-03-13T09:36:26.117Z","0.1.1":"2025-03-13T15:13:42.786Z","0.1.2":"2025-03-14T07:47:51.108Z","1.0.0":"2025-05-14T01:42:41.096Z","1.0.1":"2025-05-17T01:08:16.473Z","1.0.2":"2025-05-20T04:23:13.160Z","1.1.0":"2025-05-23T04:33:06.640Z","1.1.1":"2025-05-28T14:12:07.029Z","1.1.2":"2025-05-29T09:54:16.176Z","1.1.3":"2025-05-29T10:10:07.619Z","1.1.4":"2025-10-09T12:27:27.482Z","1.2.0":"2025-12-06T03:06:00.003Z","1.2.1":"2025-12-22T04:23:35.471Z","1.2.2":"2026-01-03T01:17:54.333Z","1.2.3":"2026-05-08T01:59:34.923Z","2.0.0":"2026-05-09T07:46:05.127Z","2.0.1":"2026-06-29T12:33:41.921Z","2.0.2":"2026-09-12T06:54:25.905Z"},"license":"0BSD","keywords":["atproto","did"],"repository":{"url":"https://tangled.org/did:plc:pljn5qch4tgadongtc7i6qij","directory":"packages/identity/identity-resolver"},"description":"atproto handle and DID document resolution","maintainers":[{"name":"externdefs","email":"hi@mary.my.id"}],"readme":"# @atcute/identity-resolver\n\nhandle and DID document resolution for AT Protocol.\n\n```sh\nnpm install @atcute/identity-resolver\n```\n\nin AT Protocol, handles (like `alice.bsky.social`) need to be resolved to DIDs, and DIDs need to be\nresolved to DID documents (which contain the user's PDS location and keys). this package provides\nresolvers for both.\n\n## usage\n\n### resolving handles\n\nhandles can be resolved via DNS TXT records or HTTP well-known endpoints. use the composite resolver\nto try both:\n\n```ts\nimport {\n\tCompositeHandleResolver,\n\tDohJsonHandleResolver,\n\tWellKnownHandleResolver,\n} from '@atcute/identity-resolver';\n\nconst handleResolver = new CompositeHandleResolver({\n\tmethods: {\n\t\tdns: new DohJsonHandleResolver({ dohUrl: 'https://mozilla.cloudflare-dns.com/dns-query' }),\n\t\thttp: new WellKnownHandleResolver(),\n\t},\n});\n\nconst did = await handleResolver.resolve('bsky.app');\n// -> \"did:plc:z72i7hdynmk6r22z27h6tvur\"\n```\n\n### resolution strategies\n\nthe composite resolver supports different strategies for combining DNS and HTTP resolution:\n\n```ts\nconst handleResolver = new CompositeHandleResolver({\n\tstrategy: 'race', // default - first successful response wins\n\tmethods: { dns: dnsResolver, http: httpResolver },\n});\n```\n\navailable strategies:\n\n- `race` - returns whichever method succeeds first (default)\n- `dns-first` - try DNS first, fall back to HTTP if it fails\n- `http-first` - try HTTP first, fall back to DNS if it fails\n- `both` - require both methods to agree (throws `AmbiguousHandleError` if they differ)\n\n### resolving DID documents\n\nDID documents can be resolved for did:plc and did:web methods:\n\n```ts\nimport {\n\tCompositeDidDocumentResolver,\n\tPlcDidDocumentResolver,\n\tWebDidDocumentResolver,\n} from '@atcute/identity-resolver';\n\nconst didResolver = new CompositeDidDocumentResolver({\n\tmethods: {\n\t\tplc: new PlcDidDocumentResolver(),\n\t\tweb: new WebDidDocumentResolver(),\n\t},\n});\n\nconst doc = await didResolver.resolve('did:plc:z72i7hdynmk6r22z27h6tvur');\n// -> { '@context': [...], id: 'did:plc:...', service: [...], ... }\n```\n\n### resolving actors\n\nthe `ActorResolver` interface provides a way to resolve an actor identifier (handle or DID) to the\nessential info needed to interact with them: their DID, verified handle, and PDS endpoint.\n\n`LocalActorResolver` implements this by combining handle and DID document resolution locally:\n\n```ts\nimport { LocalActorResolver } from '@atcute/identity-resolver';\n\nconst actorResolver = new LocalActorResolver({\n\thandleResolver,\n\tdidDocumentResolver: didResolver,\n});\n\n// resolve from handle\nconst actor = await actorResolver.resolve('bsky.app');\n// -> { did: \"did:plc:...\", handle: \"bsky.app\", pds: \"https://...\" }\n\n// resolve from DID\nconst actor2 = await actorResolver.resolve('did:plc:z72i7hdynmk6r22z27h6tvur');\n// -> { did: \"did:plc:...\", handle: \"bsky.app\", pds: \"https://...\" }\n```\n\nthe local resolver performs bidirectional verification: it checks that the handle in the DID\ndocument resolves back to the same DID.\n\nother implementations of `ActorResolver` can get this info from dedicated identity services (like\nSlingshot) without needing to fetch and parse full DID documents.\n\n### handling errors\n\neach resolver throws specific error types for different failure cases:\n\n```ts\nimport {\n\tDidNotFoundError,\n\tInvalidResolvedHandleError,\n\tAmbiguousHandleError,\n\tFailedHandleResolutionError,\n\tHandleResolutionError,\n} from '@atcute/identity-resolver';\n\ntry {\n\tconst did = await handleResolver.resolve('nonexistent.invalid');\n} catch (err) {\n\tif (err instanceof DidNotFoundError) {\n\t\t// handle has no DID record\n\t\tconsole.log('handle not found');\n\t} else if (err instanceof InvalidResolvedHandleError) {\n\t\t// handle returned an invalid DID format\n\t\tconsole.log('invalid DID:', err.did);\n\t} else if (err instanceof AmbiguousHandleError) {\n\t\t// multiple different DIDs found (with 'both' strategy)\n\t\tconsole.log('ambiguous handle');\n\t} else if (err instanceof FailedHandleResolutionError) {\n\t\t// network or other unexpected error\n\t\tconsole.log('resolution failed:', err.cause);\n\t} else if (err instanceof HandleResolutionError) {\n\t\t// catch-all for any handle resolution error\n\t}\n}\n```\n\nDID document resolution errors:\n\n```ts\nimport {\n\tDocumentNotFoundError,\n\tUnsupportedDidMethodError,\n\tImproperDidError,\n\tFailedDocumentResolutionError,\n\tDidDocumentResolutionError,\n} from '@atcute/identity-resolver';\n\ntry {\n\tconst doc = await didResolver.resolve('did:example:123');\n} catch (err) {\n\tif (err instanceof DocumentNotFoundError) {\n\t\t// DID document doesn't exist\n\t} else if (err instanceof UnsupportedDidMethodError) {\n\t\t// resolver doesn't support this DID method\n\t} else if (err instanceof ImproperDidError) {\n\t\t// DID format is invalid for this method\n\t} else if (err instanceof FailedDocumentResolutionError) {\n\t\t// network or other unexpected error\n\t} else if (err instanceof DidDocumentResolutionError) {\n\t\t// catch-all for any DID resolution error\n\t}\n}\n```\n\n### caching and abort signals\n\nall resolvers accept options for cache control and cancellation:\n\n```ts\n// skip cache\nconst did = await handleResolver.resolve('bsky.app', { noCache: true });\n\n// with abort signal\nconst controller = new AbortController();\nconst did = await handleResolver.resolve('bsky.app', { signal: controller.signal });\n\n// cancel the request\ncontroller.abort();\n```\n\n### custom fetch function\n\nall resolvers accept a custom fetch implementation:\n\n```ts\nconst dnsResolver = new DohJsonHandleResolver({\n\tdohUrl: 'https://mozilla.cloudflare-dns.com/dns-query',\n\tfetch: customFetch,\n});\n\nconst httpResolver = new WellKnownHandleResolver({\n\tfetch: customFetch,\n});\n\nconst plcResolver = new PlcDidDocumentResolver({\n\tfetch: customFetch,\n});\n```\n\n### custom PLC directory\n\nby default, did:plc resolution uses `https://plc.directory`. you can specify a different directory:\n\n```ts\nconst plcResolver = new PlcDidDocumentResolver({\n\tapiUrl: 'https://plc.wtf', // mirror of plc.directory\n});\n```\n\n## resolver classes\n\n### handle resolvers\n\n| class                     | description                                                     |\n| ------------------------- | --------------------------------------------------------------- |\n| `DohJsonHandleResolver`   | resolves via DNS-over-HTTPS (TXT record at `_atproto.{handle}`) |\n| `WellKnownHandleResolver` | resolves via HTTP (`https://{handle}/.well-known/atproto-did`)  |\n| `XrpcHandleResolver`      | resolves via XRPC (`com.atproto.identity.resolveHandle`)        |\n| `CompositeHandleResolver` | combines DNS and HTTP resolvers                                 |\n\n### DID document resolvers\n\n| class                          | description                                           |\n| ------------------------------ | ----------------------------------------------------- |\n| `PlcDidDocumentResolver`       | resolves did:plc from PLC directory                   |\n| `WebDidDocumentResolver`       | resolves did:web from domain                          |\n| `XrpcDidDocumentResolver`      | resolves via XRPC (`com.atproto.identity.resolveDid`) |\n| `CompositeDidDocumentResolver` | routes to resolver by DID method                      |\n\n### actor resolvers\n\n| class                | description                                                        |\n| -------------------- | ------------------------------------------------------------------ |\n| `LocalActorResolver` | combines handle and DID resolution with bidirectional verification |\n","readmeFilename":""}