Client side atproto account migrator in your web browser, along with services for backups and adversarial migrations. pdsmoover.com
pds atproto migrations moo cow

upped versions

authored by baileytownsend.dev and committed by tangled.org 515c34ff ab778ec0

+191 -4
+1 -1
justfile
··· 27 27 docker buildx build \ 28 28 --platform linux/arm64,linux/amd64 \ 29 29 --tag fatfingers23/moover_ui:latest \ 30 - --tag fatfingers23/moover_ui:0.0.6 \ 30 + --tag fatfingers23/moover_ui:0.0.7 \ 31 31 --file Dockerfiles/web-ui.Dockerfile \ 32 32 --builder desktop-linux \ 33 33 --push .
+1 -1
web-ui/package.json
··· 17 17 "@atcute/client": "^4.0.5", 18 18 "@atcute/lexicons": "^1.2.2", 19 19 "@pds-moover/lexicons": "^1.0.1", 20 - "@pds-moover/moover": "link:../packages/moover" 20 + "@pds-moover/moover": "^1.0.6" 21 21 }, 22 22 "devDependencies": { 23 23 "@eslint/compat": "^1.4.0",
+189 -2
web-ui/pnpm-lock.yaml
··· 21 21 specifier: ^1.0.1 22 22 version: 1.0.1 23 23 '@pds-moover/moover': 24 - specifier: link:../packages/moover 25 - version: link:../packages/moover 24 + specifier: ^1.0.6 25 + version: 1.0.6(@atcute/identity@1.1.1)(vite@7.1.12(@types/node@22.19.0)) 26 26 devDependencies: 27 27 '@eslint/compat': 28 28 specifier: ^1.4.0 ··· 79 79 '@atcute/atproto@3.1.9': 80 80 resolution: {integrity: sha512-DyWwHCTdR4hY2BPNbLXgVmm7lI+fceOwWbE4LXbGvbvVtSn+ejSVFaAv01Ra3kWDha0whsOmbJL8JP0QPpf1+w==} 81 81 82 + '@atcute/cbor@2.3.2': 83 + resolution: {integrity: sha512-xP2SORSau/VVI00x2V4BjwIkHr6EQ7l/MXEOPaa4LGYtePFc4gnD4L1yN10dT5NEuUnvGEuCh6arLB7gz1smVQ==} 84 + 85 + '@atcute/cid@2.4.1': 86 + resolution: {integrity: sha512-bwhna69RCv7yetXudtj+2qrMPYvhhIQqvJz6YUpUS98v7OdF3X2dnye9Nig2NDrklZcuyOsu7sQo7GOykJXRLQ==} 87 + 82 88 '@atcute/client@4.0.5': 83 89 resolution: {integrity: sha512-R8Qen8goGmEkynYGg2m6XFlVmz0GTDvQ+9w+4QqOob+XMk8/WDpF4aImev7WKEde/rV2gjcqW7zM8E6W9NShDA==} 84 90 91 + '@atcute/crypto@2.3.0': 92 + resolution: {integrity: sha512-w5pkJKCjbNMQu+F4JRHbR3ROQyhi1wbn+GSC6WDQamcYHkZmEZk1/eoI354bIQOOfkEM6aFLv718iskrkon4GQ==} 93 + 94 + '@atcute/did-plc@0.1.7': 95 + resolution: {integrity: sha512-a7yOQNqViae3rB5/xa3U0EPJbFD9l8zOHXx6XASZ5F8+Vy2uTgXK3omurpNZ5UxRpy1ni1AMhSohXr61cqWbkg==} 96 + 97 + '@atcute/identity-resolver@1.2.2': 98 + resolution: {integrity: sha512-eUh/UH4bFvuXS0X7epYCeJC/kj4rbBXfSRumLEH4smMVwNOgTo7cL/0Srty+P/qVPoZEyXdfEbS0PHJyzoXmHw==} 99 + peerDependencies: 100 + '@atcute/identity': ^1.0.0 101 + 85 102 '@atcute/identity@1.1.1': 86 103 resolution: {integrity: sha512-zax42n693VEhnC+5tndvO2KLDTMkHOz8UExwmklvJv7R9VujfEwiSWhcv6Jgwb3ellaG8wjiQ1lMOIjLLvwh0Q==} 87 104 88 105 '@atcute/lexicons@1.2.2': 89 106 resolution: {integrity: sha512-bgEhJq5Z70/0TbK5sx+tAkrR8FsCODNiL2gUEvS5PuJfPxmFmRYNWaMGehxSPaXWpU2+Oa9ckceHiYbrItDTkA==} 90 107 108 + '@atcute/lexicons@1.2.9': 109 + resolution: {integrity: sha512-/RRHm2Cw9o8Mcsrq0eo8fjS9okKYLGfuFwrQ0YoP/6sdSDsXshaTLJsvLlcUcaDaSJ1YFOuHIo3zr2Om2F/16g==} 110 + 111 + '@atcute/multibase@1.1.8': 112 + resolution: {integrity: sha512-pJgtImMZKCjqwRbu+2GzB+4xQjKBXDwdZOzeqe0u97zYKRGftpGYGvYv3+pMe2xXe+msDyu7Nv8iJp+U14otTA==} 113 + 114 + '@atcute/uint8array@1.1.1': 115 + resolution: {integrity: sha512-3LsC8XB8TKe9q/5hOA5sFuzGaIFdJZJNewC5OKa3o/eU6+K7JR6see9Zy2JbQERNVnRl11EzbNov1efgLMAs4g==} 116 + 117 + '@atcute/util-fetch@1.0.5': 118 + resolution: {integrity: sha512-qjHj01BGxjSjIFdPiAjSARnodJIIyKxnCMMEcXMESo9TAyND6XZQqrie5fia+LlYWVXdpsTds8uFQwc9jdKTig==} 119 + 120 + '@atcute/util-text@1.1.1': 121 + resolution: {integrity: sha512-JH0SxzUQJAmbOBTYyhxQbkkI6M33YpjlVLEcbP5GYt43xgFArzV0FJVmEpvIj0kjsmphHB45b6IitdvxPdec9w==} 122 + 123 + '@atproto/api@0.16.11': 124 + resolution: {integrity: sha512-1dhfQNHiclb102RW+Ea8Nft5olfqU0Ev/vlQaSX6mWNo1aP5zT+sPODJ8+BTUOYk3vcuvL7QMkqA/rLYy2PMyw==} 125 + 91 126 '@atproto/common-web@0.4.3': 92 127 resolution: {integrity: sha512-nRDINmSe4VycJzPo6fP/hEltBcULFxt9Kw7fQk6405FyAWZiTluYHlXOnU7GkQfeUK44OENG1qFTBcmCJ7e8pg==} 93 128 ··· 339 374 '@jridgewell/trace-mapping@0.3.31': 340 375 resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} 341 376 377 + '@noble/secp256k1@3.0.0': 378 + resolution: {integrity: sha512-NJBaR352KyIvj3t6sgT/+7xrNyF9Xk9QlLSIqUGVUYlsnDTAUqY8LOmwpcgEx4AMJXRITQ5XEVHD+mMaPfr3mg==} 379 + 342 380 '@nodelib/fs.scandir@2.1.5': 343 381 resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 344 382 engines: {node: '>= 8'} ··· 353 391 354 392 '@pds-moover/lexicons@1.0.1': 355 393 resolution: {integrity: sha512-fv5b/DtHM7FEo/JklyF9gdK0ainlb6mWjWrBe6cmSAeg9G/4O2jBlQUOqfOAICY9gOcrCpkOrk9PHgGw//JQ2A==} 394 + 395 + '@pds-moover/moover@1.0.6': 396 + resolution: {integrity: sha512-Zy+wcrZwoyne7NhuG+5MDFoJ+lpteCpfS6w2pmma9F2IKrVTj2G3Pca7ZVDaibGmCMTJMo21XYaPg+9nLXFD4Q==} 356 397 357 398 '@polka/url@1.0.0-next.29': 358 399 resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} ··· 505 546 506 547 '@standard-schema/spec@1.0.0': 507 548 resolution: {integrity: sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==} 549 + 550 + '@standard-schema/spec@1.1.0': 551 + resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} 508 552 509 553 '@sveltejs/acorn-typescript@1.0.6': 510 554 resolution: {integrity: sha512-4awhxtMh4cx9blePWl10HRHj8Iivtqj+2QdDCSMDzxG+XKa9+VCNupQuCuvzEhYPzZSrX+0gC+0lHA/0fFKKQQ==} ··· 623 667 resolution: {integrity: sha512-uk574k8IU0rOF/AjniX8qbLSGURJVUCeM5e4MIMKBFFi8weeiLrG1fyQejyLXQpRZbU/1BuQasleV/RfHC3hHg==} 624 668 engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 625 669 670 + '@vue/reactivity@3.1.5': 671 + resolution: {integrity: sha512-1tdfLmNjWG6t/CsPldh+foumYFo3cpyCHgBYQ34ylaMsJ+SNHQ1kApMIa8jN+i593zQuaw3AdWH0nJTARzCFhg==} 672 + 673 + '@vue/shared@3.1.5': 674 + resolution: {integrity: sha512-oJ4F3TnvpXaQwZJNF3ZK+kLPHKarDmJjJ6jyzVNDKH9md1dptjC7lWR//jrGuLdek/U6iltWxqAnYOu8gCiOvA==} 675 + 626 676 acorn-jsx@5.3.2: 627 677 resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 628 678 peerDependencies: ··· 636 686 ajv@6.12.6: 637 687 resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 638 688 689 + alpinejs@3.15.8: 690 + resolution: {integrity: sha512-zxIfCRTBGvF1CCLIOMQOxAyBuqibxSEwS6Jm1a3HGA9rgrJVcjEWlwLcQTVGAWGS8YhAsTRLVrtQ5a5QT9bSSQ==} 691 + 639 692 ansi-styles@4.3.0: 640 693 resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 641 694 engines: {node: '>=8'} ··· 646 699 aria-query@5.3.2: 647 700 resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} 648 701 engines: {node: '>= 0.4'} 702 + 703 + await-lock@2.2.2: 704 + resolution: {integrity: sha512-aDczADvlvTGajTDjcjpJMqRkOF6Qdz3YbPZm/PyW6tKPkx2hlYBzxMhEywM/tU72HrVZjgl5VCdRuMlA7pZ8Gw==} 649 705 650 706 axobject-query@4.1.0: 651 707 resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} ··· 1173 1229 resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} 1174 1230 engines: {node: '>=12.0.0'} 1175 1231 1232 + tlds@1.261.0: 1233 + resolution: {integrity: sha512-QXqwfEl9ddlGBaRFXIvNKK6OhipSiLXuRuLJX5DErz0o0Q0rYxulWLdFryTkV5PkdZct5iMInwYEGe/eR++1AA==} 1234 + hasBin: true 1235 + 1176 1236 to-regex-range@5.0.1: 1177 1237 resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 1178 1238 engines: {node: '>=8.0'} ··· 1209 1269 undici-types@6.21.0: 1210 1270 resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} 1211 1271 1272 + unicode-segmenter@0.14.5: 1273 + resolution: {integrity: sha512-jHGmj2LUuqDcX3hqY12Ql+uhUTn8huuxNZGq7GvtF6bSybzH3aFgedYu/KTzQStEgt1Ra2F3HxadNXsNjb3m3g==} 1274 + 1212 1275 uri-js@4.4.1: 1213 1276 resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 1214 1277 1215 1278 util-deprecate@1.0.2: 1216 1279 resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 1280 + 1281 + vite-plugin-full-reload@1.2.0: 1282 + resolution: {integrity: sha512-kz18NW79x0IHbxRSHm0jttP4zoO9P9gXh+n6UTwlNKnviTTEpOlum6oS9SmecrTtSr+muHEn5TUuC75UovQzcA==} 1283 + 1284 + vite-rs-plugin@1.0.1: 1285 + resolution: {integrity: sha512-YhgflKQIRzuS5x66J3yICoVLH25D2fNU+jThK8tpYl/jGrXeIKT4w5VH1lkLPRC0SjK2ZCm9S6K9Z2ZFVDHjPQ==} 1286 + hasBin: true 1287 + peerDependencies: 1288 + vite: ^5.0.0 1217 1289 1218 1290 vite@7.1.12: 1219 1291 resolution: {integrity: sha512-ZWyE8YXEXqJrrSLvYgrRP7p62OziLW7xI5HYGWFzOvupfAlrLvURSzv/FyGyy0eidogEM3ujU+kUG1zuHgb6Ug==} ··· 1292 1364 dependencies: 1293 1365 '@atcute/lexicons': 1.2.2 1294 1366 1367 + '@atcute/cbor@2.3.2': 1368 + dependencies: 1369 + '@atcute/cid': 2.4.1 1370 + '@atcute/multibase': 1.1.8 1371 + '@atcute/uint8array': 1.1.1 1372 + 1373 + '@atcute/cid@2.4.1': 1374 + dependencies: 1375 + '@atcute/multibase': 1.1.8 1376 + '@atcute/uint8array': 1.1.1 1377 + 1295 1378 '@atcute/client@4.0.5': 1296 1379 dependencies: 1297 1380 '@atcute/identity': 1.1.1 1298 1381 '@atcute/lexicons': 1.2.2 1299 1382 1383 + '@atcute/crypto@2.3.0': 1384 + dependencies: 1385 + '@atcute/multibase': 1.1.8 1386 + '@atcute/uint8array': 1.1.1 1387 + '@noble/secp256k1': 3.0.0 1388 + 1389 + '@atcute/did-plc@0.1.7': 1390 + dependencies: 1391 + '@atcute/cbor': 2.3.2 1392 + '@atcute/cid': 2.4.1 1393 + '@atcute/crypto': 2.3.0 1394 + '@atcute/identity': 1.1.1 1395 + '@atcute/lexicons': 1.2.2 1396 + '@atcute/multibase': 1.1.8 1397 + '@atcute/uint8array': 1.1.1 1398 + '@badrap/valita': 0.4.6 1399 + 1400 + '@atcute/identity-resolver@1.2.2(@atcute/identity@1.1.1)': 1401 + dependencies: 1402 + '@atcute/identity': 1.1.1 1403 + '@atcute/lexicons': 1.2.9 1404 + '@atcute/util-fetch': 1.0.5 1405 + '@badrap/valita': 0.4.6 1406 + 1300 1407 '@atcute/identity@1.1.1': 1301 1408 dependencies: 1302 1409 '@atcute/lexicons': 1.2.2 ··· 1306 1413 dependencies: 1307 1414 '@standard-schema/spec': 1.0.0 1308 1415 esm-env: 1.2.2 1416 + 1417 + '@atcute/lexicons@1.2.9': 1418 + dependencies: 1419 + '@atcute/uint8array': 1.1.1 1420 + '@atcute/util-text': 1.1.1 1421 + '@standard-schema/spec': 1.1.0 1422 + esm-env: 1.2.2 1423 + 1424 + '@atcute/multibase@1.1.8': 1425 + dependencies: 1426 + '@atcute/uint8array': 1.1.1 1427 + 1428 + '@atcute/uint8array@1.1.1': {} 1429 + 1430 + '@atcute/util-fetch@1.0.5': 1431 + dependencies: 1432 + '@badrap/valita': 0.4.6 1433 + 1434 + '@atcute/util-text@1.1.1': 1435 + dependencies: 1436 + unicode-segmenter: 0.14.5 1437 + 1438 + '@atproto/api@0.16.11': 1439 + dependencies: 1440 + '@atproto/common-web': 0.4.3 1441 + '@atproto/lexicon': 0.5.1 1442 + '@atproto/syntax': 0.4.1 1443 + '@atproto/xrpc': 0.7.5 1444 + await-lock: 2.2.2 1445 + multiformats: 9.9.0 1446 + tlds: 1.261.0 1447 + zod: 3.25.76 1309 1448 1310 1449 '@atproto/common-web@0.4.3': 1311 1450 dependencies: ··· 1491 1630 '@jridgewell/resolve-uri': 3.1.2 1492 1631 '@jridgewell/sourcemap-codec': 1.5.5 1493 1632 1633 + '@noble/secp256k1@3.0.0': {} 1634 + 1494 1635 '@nodelib/fs.scandir@2.1.5': 1495 1636 dependencies: 1496 1637 '@nodelib/fs.stat': 2.0.5 ··· 1508 1649 '@atproto/lexicon': 0.5.1 1509 1650 '@atproto/xrpc': 0.7.5 1510 1651 1652 + '@pds-moover/moover@1.0.6(@atcute/identity@1.1.1)(vite@7.1.12(@types/node@22.19.0))': 1653 + dependencies: 1654 + '@atcute/cbor': 2.3.2 1655 + '@atcute/client': 4.0.5 1656 + '@atcute/crypto': 2.3.0 1657 + '@atcute/did-plc': 0.1.7 1658 + '@atcute/identity-resolver': 1.2.2(@atcute/identity@1.1.1) 1659 + '@atcute/lexicons': 1.2.2 1660 + '@atcute/multibase': 1.1.8 1661 + '@atproto/api': 0.16.11 1662 + '@pds-moover/lexicons': 1.0.1 1663 + alpinejs: 3.15.8 1664 + vite-plugin-full-reload: 1.2.0 1665 + vite-rs-plugin: 1.0.1(vite@7.1.12(@types/node@22.19.0)) 1666 + transitivePeerDependencies: 1667 + - '@atcute/identity' 1668 + - vite 1669 + 1511 1670 '@polka/url@1.0.0-next.29': {} 1512 1671 1513 1672 '@rollup/plugin-commonjs@28.0.9(rollup@4.52.5)': ··· 1613 1772 optional: true 1614 1773 1615 1774 '@standard-schema/spec@1.0.0': {} 1775 + 1776 + '@standard-schema/spec@1.1.0': {} 1616 1777 1617 1778 '@sveltejs/acorn-typescript@1.0.6(acorn@8.15.0)': 1618 1779 dependencies: ··· 1775 1936 '@typescript-eslint/types': 8.46.3 1776 1937 eslint-visitor-keys: 4.2.1 1777 1938 1939 + '@vue/reactivity@3.1.5': 1940 + dependencies: 1941 + '@vue/shared': 3.1.5 1942 + 1943 + '@vue/shared@3.1.5': {} 1944 + 1778 1945 acorn-jsx@5.3.2(acorn@8.15.0): 1779 1946 dependencies: 1780 1947 acorn: 8.15.0 ··· 1788 1955 json-schema-traverse: 0.4.1 1789 1956 uri-js: 4.4.1 1790 1957 1958 + alpinejs@3.15.8: 1959 + dependencies: 1960 + '@vue/reactivity': 3.1.5 1961 + 1791 1962 ansi-styles@4.3.0: 1792 1963 dependencies: 1793 1964 color-convert: 2.0.1 ··· 1795 1966 argparse@2.0.1: {} 1796 1967 1797 1968 aria-query@5.3.2: {} 1969 + 1970 + await-lock@2.2.2: {} 1798 1971 1799 1972 axobject-query@4.1.0: {} 1800 1973 ··· 2331 2504 fdir: 6.5.0(picomatch@4.0.3) 2332 2505 picomatch: 4.0.3 2333 2506 2507 + tlds@1.261.0: {} 2508 + 2334 2509 to-regex-range@5.0.1: 2335 2510 dependencies: 2336 2511 is-number: 7.0.0 ··· 2364 2539 2365 2540 undici-types@6.21.0: {} 2366 2541 2542 + unicode-segmenter@0.14.5: {} 2543 + 2367 2544 uri-js@4.4.1: 2368 2545 dependencies: 2369 2546 punycode: 2.3.1 2370 2547 2371 2548 util-deprecate@1.0.2: {} 2549 + 2550 + vite-plugin-full-reload@1.2.0: 2551 + dependencies: 2552 + picocolors: 1.1.1 2553 + picomatch: 2.3.1 2554 + 2555 + vite-rs-plugin@1.0.1(vite@7.1.12(@types/node@22.19.0)): 2556 + dependencies: 2557 + vite: 7.1.12(@types/node@22.19.0) 2558 + vite-plugin-full-reload: 1.2.0 2372 2559 2373 2560 vite@7.1.12(@types/node@22.19.0): 2374 2561 dependencies: