CLI tool for migrating PDS

Basic implementation of the create account stage

+2477 -2
+2250
Cargo.lock
··· 3 3 version = 4 4 4 5 5 [[package]] 6 + name = "addr2line" 7 + version = "0.24.2" 8 + source = "registry+https://github.com/rust-lang/crates.io-index" 9 + checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" 10 + dependencies = [ 11 + "gimli", 12 + ] 13 + 14 + [[package]] 15 + name = "adler2" 16 + version = "2.0.0" 17 + source = "registry+https://github.com/rust-lang/crates.io-index" 18 + checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" 19 + 20 + [[package]] 21 + name = "aho-corasick" 22 + version = "1.1.3" 23 + source = "registry+https://github.com/rust-lang/crates.io-index" 24 + checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" 25 + dependencies = [ 26 + "memchr", 27 + ] 28 + 29 + [[package]] 30 + name = "allocator-api2" 31 + version = "0.2.21" 32 + source = "registry+https://github.com/rust-lang/crates.io-index" 33 + checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" 34 + 35 + [[package]] 36 + name = "android-tzdata" 37 + version = "0.1.1" 38 + source = "registry+https://github.com/rust-lang/crates.io-index" 39 + checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" 40 + 41 + [[package]] 42 + name = "android_system_properties" 43 + version = "0.1.5" 44 + source = "registry+https://github.com/rust-lang/crates.io-index" 45 + checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" 46 + dependencies = [ 47 + "libc", 48 + ] 49 + 50 + [[package]] 51 + name = "async-compression" 52 + version = "0.4.20" 53 + source = "registry+https://github.com/rust-lang/crates.io-index" 54 + checksum = "310c9bcae737a48ef5cdee3174184e6d548b292739ede61a1f955ef76a738861" 55 + dependencies = [ 56 + "flate2", 57 + "futures-core", 58 + "memchr", 59 + "pin-project-lite", 60 + "tokio", 61 + ] 62 + 63 + [[package]] 64 + name = "async-lock" 65 + version = "3.4.0" 66 + source = "registry+https://github.com/rust-lang/crates.io-index" 67 + checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" 68 + dependencies = [ 69 + "event-listener", 70 + "event-listener-strategy", 71 + "pin-project-lite", 72 + ] 73 + 74 + [[package]] 75 + name = "atrium-api" 76 + version = "0.25.0" 77 + source = "registry+https://github.com/rust-lang/crates.io-index" 78 + checksum = "ea3ea578c768ec91082e424a8d139517b2cb5c75149bf3cec04371a1e74f00f2" 79 + dependencies = [ 80 + "atrium-common", 81 + "atrium-xrpc", 82 + "chrono", 83 + "http", 84 + "ipld-core", 85 + "langtag", 86 + "regex", 87 + "serde", 88 + "serde_bytes", 89 + "serde_json", 90 + "thiserror", 91 + "tokio", 92 + "trait-variant", 93 + ] 94 + 95 + [[package]] 96 + name = "atrium-common" 97 + version = "0.1.0" 98 + source = "registry+https://github.com/rust-lang/crates.io-index" 99 + checksum = "168e558408847bfed69df1033a32fd051f7a037ebc90ea46e588ccb2bfbd7233" 100 + dependencies = [ 101 + "dashmap", 102 + "lru", 103 + "moka", 104 + "thiserror", 105 + "tokio", 106 + "trait-variant", 107 + "web-time", 108 + ] 109 + 110 + [[package]] 111 + name = "atrium-xrpc" 112 + version = "0.12.1" 113 + source = "registry+https://github.com/rust-lang/crates.io-index" 114 + checksum = "6b4956d94147cfbb669c68f654eb4fd6a1d00648c810cec79d04ec5425b8f378" 115 + dependencies = [ 116 + "http", 117 + "serde", 118 + "serde_html_form", 119 + "serde_json", 120 + "thiserror", 121 + "trait-variant", 122 + ] 123 + 124 + [[package]] 125 + name = "atrium-xrpc-client" 126 + version = "0.5.11" 127 + source = "registry+https://github.com/rust-lang/crates.io-index" 128 + checksum = "9bab4287ccef501b3892e1325280e61ae79a96eb9ee63dceabc0ed3bea35f2eb" 129 + dependencies = [ 130 + "atrium-xrpc", 131 + "reqwest", 132 + ] 133 + 134 + [[package]] 135 + name = "autocfg" 136 + version = "1.4.0" 137 + source = "registry+https://github.com/rust-lang/crates.io-index" 138 + checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" 139 + 140 + [[package]] 141 + name = "backtrace" 142 + version = "0.3.74" 143 + source = "registry+https://github.com/rust-lang/crates.io-index" 144 + checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" 145 + dependencies = [ 146 + "addr2line", 147 + "cfg-if", 148 + "libc", 149 + "miniz_oxide", 150 + "object", 151 + "rustc-demangle", 152 + "windows-targets 0.52.6", 153 + ] 154 + 155 + [[package]] 156 + name = "base-x" 157 + version = "0.2.11" 158 + source = "registry+https://github.com/rust-lang/crates.io-index" 159 + checksum = "4cbbc9d0964165b47557570cce6c952866c2678457aca742aafc9fb771d30270" 160 + 161 + [[package]] 162 + name = "base64" 163 + version = "0.22.1" 164 + source = "registry+https://github.com/rust-lang/crates.io-index" 165 + checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" 166 + 167 + [[package]] 168 + name = "bitflags" 169 + version = "2.9.0" 170 + source = "registry+https://github.com/rust-lang/crates.io-index" 171 + checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd" 172 + 173 + [[package]] 174 + name = "bumpalo" 175 + version = "3.17.0" 176 + source = "registry+https://github.com/rust-lang/crates.io-index" 177 + checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" 178 + 179 + [[package]] 180 + name = "bytes" 181 + version = "1.10.1" 182 + source = "registry+https://github.com/rust-lang/crates.io-index" 183 + checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" 184 + 185 + [[package]] 186 + name = "cc" 187 + version = "1.2.16" 188 + source = "registry+https://github.com/rust-lang/crates.io-index" 189 + checksum = "be714c154be609ec7f5dad223a33bf1482fff90472de28f7362806e6d4832b8c" 190 + dependencies = [ 191 + "shlex", 192 + ] 193 + 194 + [[package]] 195 + name = "cfg-if" 196 + version = "1.0.0" 197 + source = "registry+https://github.com/rust-lang/crates.io-index" 198 + checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" 199 + 200 + [[package]] 201 + name = "chrono" 202 + version = "0.4.40" 203 + source = "registry+https://github.com/rust-lang/crates.io-index" 204 + checksum = "1a7964611d71df112cb1730f2ee67324fcf4d0fc6606acbbe9bfe06df124637c" 205 + dependencies = [ 206 + "android-tzdata", 207 + "iana-time-zone", 208 + "js-sys", 209 + "num-traits", 210 + "serde", 211 + "wasm-bindgen", 212 + "windows-link", 213 + ] 214 + 215 + [[package]] 216 + name = "cid" 217 + version = "0.11.1" 218 + source = "registry+https://github.com/rust-lang/crates.io-index" 219 + checksum = "3147d8272e8fa0ccd29ce51194dd98f79ddfb8191ba9e3409884e751798acf3a" 220 + dependencies = [ 221 + "core2", 222 + "multibase", 223 + "multihash", 224 + "serde", 225 + "serde_bytes", 226 + "unsigned-varint", 227 + ] 228 + 229 + [[package]] 230 + name = "concurrent-queue" 231 + version = "2.5.0" 232 + source = "registry+https://github.com/rust-lang/crates.io-index" 233 + checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" 234 + dependencies = [ 235 + "crossbeam-utils", 236 + ] 237 + 238 + [[package]] 239 + name = "core-foundation" 240 + version = "0.9.4" 241 + source = "registry+https://github.com/rust-lang/crates.io-index" 242 + checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" 243 + dependencies = [ 244 + "core-foundation-sys", 245 + "libc", 246 + ] 247 + 248 + [[package]] 249 + name = "core-foundation-sys" 250 + version = "0.8.7" 251 + source = "registry+https://github.com/rust-lang/crates.io-index" 252 + checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" 253 + 254 + [[package]] 255 + name = "core2" 256 + version = "0.4.0" 257 + source = "registry+https://github.com/rust-lang/crates.io-index" 258 + checksum = "b49ba7ef1ad6107f8824dbe97de947cbaac53c44e7f9756a1fba0d37c1eec505" 259 + dependencies = [ 260 + "memchr", 261 + ] 262 + 263 + [[package]] 264 + name = "crc32fast" 265 + version = "1.4.2" 266 + source = "registry+https://github.com/rust-lang/crates.io-index" 267 + checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" 268 + dependencies = [ 269 + "cfg-if", 270 + ] 271 + 272 + [[package]] 273 + name = "crossbeam-channel" 274 + version = "0.5.14" 275 + source = "registry+https://github.com/rust-lang/crates.io-index" 276 + checksum = "06ba6d68e24814cb8de6bb986db8222d3a027d15872cabc0d18817bc3c0e4471" 277 + dependencies = [ 278 + "crossbeam-utils", 279 + ] 280 + 281 + [[package]] 282 + name = "crossbeam-epoch" 283 + version = "0.9.18" 284 + source = "registry+https://github.com/rust-lang/crates.io-index" 285 + checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" 286 + dependencies = [ 287 + "crossbeam-utils", 288 + ] 289 + 290 + [[package]] 291 + name = "crossbeam-utils" 292 + version = "0.8.21" 293 + source = "registry+https://github.com/rust-lang/crates.io-index" 294 + checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" 295 + 296 + [[package]] 297 + name = "dashmap" 298 + version = "6.1.0" 299 + source = "registry+https://github.com/rust-lang/crates.io-index" 300 + checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf" 301 + dependencies = [ 302 + "cfg-if", 303 + "crossbeam-utils", 304 + "hashbrown 0.14.5", 305 + "lock_api", 306 + "once_cell", 307 + "parking_lot_core", 308 + ] 309 + 310 + [[package]] 311 + name = "data-encoding" 312 + version = "2.8.0" 313 + source = "registry+https://github.com/rust-lang/crates.io-index" 314 + checksum = "575f75dfd25738df5b91b8e43e14d44bda14637a58fae779fd2b064f8bf3e010" 315 + 316 + [[package]] 317 + name = "data-encoding-macro" 318 + version = "0.1.17" 319 + source = "registry+https://github.com/rust-lang/crates.io-index" 320 + checksum = "9f9724adfcf41f45bf652b3995837669d73c4d49a1b5ac1ff82905ac7d9b5558" 321 + dependencies = [ 322 + "data-encoding", 323 + "data-encoding-macro-internal", 324 + ] 325 + 326 + [[package]] 327 + name = "data-encoding-macro-internal" 328 + version = "0.1.15" 329 + source = "registry+https://github.com/rust-lang/crates.io-index" 330 + checksum = "18e4fdb82bd54a12e42fb58a800dcae6b9e13982238ce2296dc3570b92148e1f" 331 + dependencies = [ 332 + "data-encoding", 333 + "syn", 334 + ] 335 + 336 + [[package]] 337 + name = "displaydoc" 338 + version = "0.2.5" 339 + source = "registry+https://github.com/rust-lang/crates.io-index" 340 + checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" 341 + dependencies = [ 342 + "proc-macro2", 343 + "quote", 344 + "syn", 345 + ] 346 + 347 + [[package]] 348 + name = "equivalent" 349 + version = "1.0.2" 350 + source = "registry+https://github.com/rust-lang/crates.io-index" 351 + checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" 352 + 353 + [[package]] 354 + name = "errno" 355 + version = "0.3.10" 356 + source = "registry+https://github.com/rust-lang/crates.io-index" 357 + checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" 358 + dependencies = [ 359 + "libc", 360 + "windows-sys 0.59.0", 361 + ] 362 + 363 + [[package]] 364 + name = "event-listener" 365 + version = "5.4.0" 366 + source = "registry+https://github.com/rust-lang/crates.io-index" 367 + checksum = "3492acde4c3fc54c845eaab3eed8bd00c7a7d881f78bfc801e43a93dec1331ae" 368 + dependencies = [ 369 + "concurrent-queue", 370 + "parking", 371 + "pin-project-lite", 372 + ] 373 + 374 + [[package]] 375 + name = "event-listener-strategy" 376 + version = "0.5.3" 377 + source = "registry+https://github.com/rust-lang/crates.io-index" 378 + checksum = "3c3e4e0dd3673c1139bf041f3008816d9cf2946bbfac2945c09e523b8d7b05b2" 379 + dependencies = [ 380 + "event-listener", 381 + "pin-project-lite", 382 + ] 383 + 384 + [[package]] 385 + name = "fastrand" 386 + version = "2.3.0" 387 + source = "registry+https://github.com/rust-lang/crates.io-index" 388 + checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" 389 + 390 + [[package]] 391 + name = "flate2" 392 + version = "1.1.0" 393 + source = "registry+https://github.com/rust-lang/crates.io-index" 394 + checksum = "11faaf5a5236997af9848be0bef4db95824b1d534ebc64d0f0c6cf3e67bd38dc" 395 + dependencies = [ 396 + "crc32fast", 397 + "miniz_oxide", 398 + ] 399 + 400 + [[package]] 401 + name = "fnv" 402 + version = "1.0.7" 403 + source = "registry+https://github.com/rust-lang/crates.io-index" 404 + checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" 405 + 406 + [[package]] 407 + name = "foldhash" 408 + version = "0.1.4" 409 + source = "registry+https://github.com/rust-lang/crates.io-index" 410 + checksum = "a0d2fde1f7b3d48b8395d5f2de76c18a528bd6a9cdde438df747bfcba3e05d6f" 411 + 412 + [[package]] 413 + name = "foreign-types" 414 + version = "0.3.2" 415 + source = "registry+https://github.com/rust-lang/crates.io-index" 416 + checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" 417 + dependencies = [ 418 + "foreign-types-shared", 419 + ] 420 + 421 + [[package]] 422 + name = "foreign-types-shared" 423 + version = "0.1.1" 424 + source = "registry+https://github.com/rust-lang/crates.io-index" 425 + checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" 426 + 427 + [[package]] 428 + name = "form_urlencoded" 429 + version = "1.2.1" 430 + source = "registry+https://github.com/rust-lang/crates.io-index" 431 + checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" 432 + dependencies = [ 433 + "percent-encoding", 434 + ] 435 + 436 + [[package]] 437 + name = "futures-channel" 438 + version = "0.3.31" 439 + source = "registry+https://github.com/rust-lang/crates.io-index" 440 + checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" 441 + dependencies = [ 442 + "futures-core", 443 + ] 444 + 445 + [[package]] 446 + name = "futures-core" 447 + version = "0.3.31" 448 + source = "registry+https://github.com/rust-lang/crates.io-index" 449 + checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" 450 + 451 + [[package]] 452 + name = "futures-macro" 453 + version = "0.3.31" 454 + source = "registry+https://github.com/rust-lang/crates.io-index" 455 + checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" 456 + dependencies = [ 457 + "proc-macro2", 458 + "quote", 459 + "syn", 460 + ] 461 + 462 + [[package]] 463 + name = "futures-sink" 464 + version = "0.3.31" 465 + source = "registry+https://github.com/rust-lang/crates.io-index" 466 + checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" 467 + 468 + [[package]] 469 + name = "futures-task" 470 + version = "0.3.31" 471 + source = "registry+https://github.com/rust-lang/crates.io-index" 472 + checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" 473 + 474 + [[package]] 475 + name = "futures-util" 476 + version = "0.3.31" 477 + source = "registry+https://github.com/rust-lang/crates.io-index" 478 + checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" 479 + dependencies = [ 480 + "futures-core", 481 + "futures-macro", 482 + "futures-task", 483 + "pin-project-lite", 484 + "pin-utils", 485 + "slab", 486 + ] 487 + 488 + [[package]] 489 + name = "generator" 490 + version = "0.8.4" 491 + source = "registry+https://github.com/rust-lang/crates.io-index" 492 + checksum = "cc6bd114ceda131d3b1d665eba35788690ad37f5916457286b32ab6fd3c438dd" 493 + dependencies = [ 494 + "cfg-if", 495 + "libc", 496 + "log", 497 + "rustversion", 498 + "windows", 499 + ] 500 + 501 + [[package]] 502 + name = "getrandom" 503 + version = "0.3.1" 504 + source = "registry+https://github.com/rust-lang/crates.io-index" 505 + checksum = "43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8" 506 + dependencies = [ 507 + "cfg-if", 508 + "libc", 509 + "wasi 0.13.3+wasi-0.2.2", 510 + "windows-targets 0.52.6", 511 + ] 512 + 513 + [[package]] 514 + name = "gimli" 515 + version = "0.31.1" 516 + source = "registry+https://github.com/rust-lang/crates.io-index" 517 + checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" 518 + 519 + [[package]] 520 + name = "hashbrown" 521 + version = "0.14.5" 522 + source = "registry+https://github.com/rust-lang/crates.io-index" 523 + checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" 524 + 525 + [[package]] 526 + name = "hashbrown" 527 + version = "0.15.2" 528 + source = "registry+https://github.com/rust-lang/crates.io-index" 529 + checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" 530 + dependencies = [ 531 + "allocator-api2", 532 + "equivalent", 533 + "foldhash", 534 + ] 535 + 536 + [[package]] 537 + name = "http" 538 + version = "1.3.1" 539 + source = "registry+https://github.com/rust-lang/crates.io-index" 540 + checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" 541 + dependencies = [ 542 + "bytes", 543 + "fnv", 544 + "itoa", 545 + ] 546 + 547 + [[package]] 548 + name = "http-body" 549 + version = "1.0.1" 550 + source = "registry+https://github.com/rust-lang/crates.io-index" 551 + checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" 552 + dependencies = [ 553 + "bytes", 554 + "http", 555 + ] 556 + 557 + [[package]] 558 + name = "http-body-util" 559 + version = "0.1.3" 560 + source = "registry+https://github.com/rust-lang/crates.io-index" 561 + checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" 562 + dependencies = [ 563 + "bytes", 564 + "futures-core", 565 + "http", 566 + "http-body", 567 + "pin-project-lite", 568 + ] 569 + 570 + [[package]] 571 + name = "httparse" 572 + version = "1.10.1" 573 + source = "registry+https://github.com/rust-lang/crates.io-index" 574 + checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" 575 + 576 + [[package]] 577 + name = "hyper" 578 + version = "1.6.0" 579 + source = "registry+https://github.com/rust-lang/crates.io-index" 580 + checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" 581 + dependencies = [ 582 + "bytes", 583 + "futures-channel", 584 + "futures-util", 585 + "http", 586 + "http-body", 587 + "httparse", 588 + "itoa", 589 + "pin-project-lite", 590 + "smallvec", 591 + "tokio", 592 + "want", 593 + ] 594 + 595 + [[package]] 596 + name = "hyper-tls" 597 + version = "0.6.0" 598 + source = "registry+https://github.com/rust-lang/crates.io-index" 599 + checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" 600 + dependencies = [ 601 + "bytes", 602 + "http-body-util", 603 + "hyper", 604 + "hyper-util", 605 + "native-tls", 606 + "tokio", 607 + "tokio-native-tls", 608 + "tower-service", 609 + ] 610 + 611 + [[package]] 612 + name = "hyper-util" 613 + version = "0.1.10" 614 + source = "registry+https://github.com/rust-lang/crates.io-index" 615 + checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4" 616 + dependencies = [ 617 + "bytes", 618 + "futures-channel", 619 + "futures-util", 620 + "http", 621 + "http-body", 622 + "hyper", 623 + "pin-project-lite", 624 + "socket2", 625 + "tokio", 626 + "tower-service", 627 + "tracing", 628 + ] 629 + 630 + [[package]] 631 + name = "iana-time-zone" 632 + version = "0.1.61" 633 + source = "registry+https://github.com/rust-lang/crates.io-index" 634 + checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" 635 + dependencies = [ 636 + "android_system_properties", 637 + "core-foundation-sys", 638 + "iana-time-zone-haiku", 639 + "js-sys", 640 + "wasm-bindgen", 641 + "windows-core 0.52.0", 642 + ] 643 + 644 + [[package]] 645 + name = "iana-time-zone-haiku" 646 + version = "0.1.2" 647 + source = "registry+https://github.com/rust-lang/crates.io-index" 648 + checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" 649 + dependencies = [ 650 + "cc", 651 + ] 652 + 653 + [[package]] 654 + name = "icu_collections" 655 + version = "1.5.0" 656 + source = "registry+https://github.com/rust-lang/crates.io-index" 657 + checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" 658 + dependencies = [ 659 + "displaydoc", 660 + "yoke", 661 + "zerofrom", 662 + "zerovec", 663 + ] 664 + 665 + [[package]] 666 + name = "icu_locid" 667 + version = "1.5.0" 668 + source = "registry+https://github.com/rust-lang/crates.io-index" 669 + checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" 670 + dependencies = [ 671 + "displaydoc", 672 + "litemap", 673 + "tinystr", 674 + "writeable", 675 + "zerovec", 676 + ] 677 + 678 + [[package]] 679 + name = "icu_locid_transform" 680 + version = "1.5.0" 681 + source = "registry+https://github.com/rust-lang/crates.io-index" 682 + checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" 683 + dependencies = [ 684 + "displaydoc", 685 + "icu_locid", 686 + "icu_locid_transform_data", 687 + "icu_provider", 688 + "tinystr", 689 + "zerovec", 690 + ] 691 + 692 + [[package]] 693 + name = "icu_locid_transform_data" 694 + version = "1.5.0" 695 + source = "registry+https://github.com/rust-lang/crates.io-index" 696 + checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" 697 + 698 + [[package]] 699 + name = "icu_normalizer" 700 + version = "1.5.0" 701 + source = "registry+https://github.com/rust-lang/crates.io-index" 702 + checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" 703 + dependencies = [ 704 + "displaydoc", 705 + "icu_collections", 706 + "icu_normalizer_data", 707 + "icu_properties", 708 + "icu_provider", 709 + "smallvec", 710 + "utf16_iter", 711 + "utf8_iter", 712 + "write16", 713 + "zerovec", 714 + ] 715 + 716 + [[package]] 717 + name = "icu_normalizer_data" 718 + version = "1.5.0" 719 + source = "registry+https://github.com/rust-lang/crates.io-index" 720 + checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" 721 + 722 + [[package]] 723 + name = "icu_properties" 724 + version = "1.5.1" 725 + source = "registry+https://github.com/rust-lang/crates.io-index" 726 + checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" 727 + dependencies = [ 728 + "displaydoc", 729 + "icu_collections", 730 + "icu_locid_transform", 731 + "icu_properties_data", 732 + "icu_provider", 733 + "tinystr", 734 + "zerovec", 735 + ] 736 + 737 + [[package]] 738 + name = "icu_properties_data" 739 + version = "1.5.0" 740 + source = "registry+https://github.com/rust-lang/crates.io-index" 741 + checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" 742 + 743 + [[package]] 744 + name = "icu_provider" 745 + version = "1.5.0" 746 + source = "registry+https://github.com/rust-lang/crates.io-index" 747 + checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" 748 + dependencies = [ 749 + "displaydoc", 750 + "icu_locid", 751 + "icu_provider_macros", 752 + "stable_deref_trait", 753 + "tinystr", 754 + "writeable", 755 + "yoke", 756 + "zerofrom", 757 + "zerovec", 758 + ] 759 + 760 + [[package]] 761 + name = "icu_provider_macros" 762 + version = "1.5.0" 763 + source = "registry+https://github.com/rust-lang/crates.io-index" 764 + checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" 765 + dependencies = [ 766 + "proc-macro2", 767 + "quote", 768 + "syn", 769 + ] 770 + 771 + [[package]] 772 + name = "idna" 773 + version = "1.0.3" 774 + source = "registry+https://github.com/rust-lang/crates.io-index" 775 + checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" 776 + dependencies = [ 777 + "idna_adapter", 778 + "smallvec", 779 + "utf8_iter", 780 + ] 781 + 782 + [[package]] 783 + name = "idna_adapter" 784 + version = "1.2.0" 785 + source = "registry+https://github.com/rust-lang/crates.io-index" 786 + checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" 787 + dependencies = [ 788 + "icu_normalizer", 789 + "icu_properties", 790 + ] 791 + 792 + [[package]] 793 + name = "indexmap" 794 + version = "2.8.0" 795 + source = "registry+https://github.com/rust-lang/crates.io-index" 796 + checksum = "3954d50fe15b02142bf25d3b8bdadb634ec3948f103d04ffe3031bc8fe9d7058" 797 + dependencies = [ 798 + "equivalent", 799 + "hashbrown 0.15.2", 800 + ] 801 + 802 + [[package]] 803 + name = "ipld-core" 804 + version = "0.4.2" 805 + source = "registry+https://github.com/rust-lang/crates.io-index" 806 + checksum = "104718b1cc124d92a6d01ca9c9258a7df311405debb3408c445a36452f9bf8db" 807 + dependencies = [ 808 + "cid", 809 + "serde", 810 + "serde_bytes", 811 + ] 812 + 813 + [[package]] 814 + name = "ipnet" 815 + version = "2.11.0" 816 + source = "registry+https://github.com/rust-lang/crates.io-index" 817 + checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" 818 + 819 + [[package]] 820 + name = "itoa" 821 + version = "1.0.15" 822 + source = "registry+https://github.com/rust-lang/crates.io-index" 823 + checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" 824 + 825 + [[package]] 826 + name = "js-sys" 827 + version = "0.3.77" 828 + source = "registry+https://github.com/rust-lang/crates.io-index" 829 + checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" 830 + dependencies = [ 831 + "once_cell", 832 + "wasm-bindgen", 833 + ] 834 + 835 + [[package]] 836 + name = "langtag" 837 + version = "0.3.4" 838 + source = "registry+https://github.com/rust-lang/crates.io-index" 839 + checksum = "ed60c85f254d6ae8450cec15eedd921efbc4d1bdf6fcf6202b9a58b403f6f805" 840 + dependencies = [ 841 + "serde", 842 + ] 843 + 844 + [[package]] 845 + name = "lazy_static" 846 + version = "1.5.0" 847 + source = "registry+https://github.com/rust-lang/crates.io-index" 848 + checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" 849 + 850 + [[package]] 851 + name = "libc" 852 + version = "0.2.171" 853 + source = "registry+https://github.com/rust-lang/crates.io-index" 854 + checksum = "c19937216e9d3aa9956d9bb8dfc0b0c8beb6058fc4f7a4dc4d850edf86a237d6" 855 + 856 + [[package]] 857 + name = "linux-raw-sys" 858 + version = "0.9.2" 859 + source = "registry+https://github.com/rust-lang/crates.io-index" 860 + checksum = "6db9c683daf087dc577b7506e9695b3d556a9f3849903fa28186283afd6809e9" 861 + 862 + [[package]] 863 + name = "litemap" 864 + version = "0.7.5" 865 + source = "registry+https://github.com/rust-lang/crates.io-index" 866 + checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856" 867 + 868 + [[package]] 869 + name = "lock_api" 870 + version = "0.4.12" 871 + source = "registry+https://github.com/rust-lang/crates.io-index" 872 + checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" 873 + dependencies = [ 874 + "autocfg", 875 + "scopeguard", 876 + ] 877 + 878 + [[package]] 879 + name = "log" 880 + version = "0.4.26" 881 + source = "registry+https://github.com/rust-lang/crates.io-index" 882 + checksum = "30bde2b3dc3671ae49d8e2e9f044c7c005836e7a023ee57cffa25ab82764bb9e" 883 + 884 + [[package]] 885 + name = "loom" 886 + version = "0.7.2" 887 + source = "registry+https://github.com/rust-lang/crates.io-index" 888 + checksum = "419e0dc8046cb947daa77eb95ae174acfbddb7673b4151f56d1eed8e93fbfaca" 889 + dependencies = [ 890 + "cfg-if", 891 + "generator", 892 + "scoped-tls", 893 + "tracing", 894 + "tracing-subscriber", 895 + ] 896 + 897 + [[package]] 898 + name = "lru" 899 + version = "0.12.5" 900 + source = "registry+https://github.com/rust-lang/crates.io-index" 901 + checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" 902 + dependencies = [ 903 + "hashbrown 0.15.2", 904 + ] 905 + 906 + [[package]] 907 + name = "matchers" 908 + version = "0.1.0" 909 + source = "registry+https://github.com/rust-lang/crates.io-index" 910 + checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" 911 + dependencies = [ 912 + "regex-automata 0.1.10", 913 + ] 914 + 915 + [[package]] 916 + name = "memchr" 917 + version = "2.7.4" 918 + source = "registry+https://github.com/rust-lang/crates.io-index" 919 + checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" 920 + 921 + [[package]] 922 + name = "mime" 923 + version = "0.3.17" 924 + source = "registry+https://github.com/rust-lang/crates.io-index" 925 + checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" 926 + 927 + [[package]] 928 + name = "miniz_oxide" 929 + version = "0.8.5" 930 + source = "registry+https://github.com/rust-lang/crates.io-index" 931 + checksum = "8e3e04debbb59698c15bacbb6d93584a8c0ca9cc3213cb423d31f760d8843ce5" 932 + dependencies = [ 933 + "adler2", 934 + ] 935 + 936 + [[package]] 937 + name = "mio" 938 + version = "1.0.3" 939 + source = "registry+https://github.com/rust-lang/crates.io-index" 940 + checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" 941 + dependencies = [ 942 + "libc", 943 + "wasi 0.11.0+wasi-snapshot-preview1", 944 + "windows-sys 0.52.0", 945 + ] 946 + 947 + [[package]] 948 + name = "moka" 949 + version = "0.12.10" 950 + source = "registry+https://github.com/rust-lang/crates.io-index" 951 + checksum = "a9321642ca94a4282428e6ea4af8cc2ca4eac48ac7a6a4ea8f33f76d0ce70926" 952 + dependencies = [ 953 + "async-lock", 954 + "crossbeam-channel", 955 + "crossbeam-epoch", 956 + "crossbeam-utils", 957 + "event-listener", 958 + "futures-util", 959 + "loom", 960 + "parking_lot", 961 + "portable-atomic", 962 + "rustc_version", 963 + "smallvec", 964 + "tagptr", 965 + "thiserror", 966 + "uuid", 967 + ] 968 + 969 + [[package]] 970 + name = "multibase" 971 + version = "0.9.1" 972 + source = "registry+https://github.com/rust-lang/crates.io-index" 973 + checksum = "9b3539ec3c1f04ac9748a260728e855f261b4977f5c3406612c884564f329404" 974 + dependencies = [ 975 + "base-x", 976 + "data-encoding", 977 + "data-encoding-macro", 978 + ] 979 + 980 + [[package]] 981 + name = "multihash" 982 + version = "0.19.3" 983 + source = "registry+https://github.com/rust-lang/crates.io-index" 984 + checksum = "6b430e7953c29dd6a09afc29ff0bb69c6e306329ee6794700aee27b76a1aea8d" 985 + dependencies = [ 986 + "core2", 987 + "serde", 988 + "unsigned-varint", 989 + ] 990 + 991 + [[package]] 992 + name = "native-tls" 993 + version = "0.2.14" 994 + source = "registry+https://github.com/rust-lang/crates.io-index" 995 + checksum = "87de3442987e9dbec73158d5c715e7ad9072fda936bb03d19d7fa10e00520f0e" 996 + dependencies = [ 997 + "libc", 998 + "log", 999 + "openssl", 1000 + "openssl-probe", 1001 + "openssl-sys", 1002 + "schannel", 1003 + "security-framework", 1004 + "security-framework-sys", 1005 + "tempfile", 1006 + ] 1007 + 1008 + [[package]] 1009 + name = "nu-ansi-term" 1010 + version = "0.46.0" 1011 + source = "registry+https://github.com/rust-lang/crates.io-index" 1012 + checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" 1013 + dependencies = [ 1014 + "overload", 1015 + "winapi", 1016 + ] 1017 + 1018 + [[package]] 1019 + name = "num-traits" 1020 + version = "0.2.19" 1021 + source = "registry+https://github.com/rust-lang/crates.io-index" 1022 + checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" 1023 + dependencies = [ 1024 + "autocfg", 1025 + ] 1026 + 1027 + [[package]] 1028 + name = "object" 1029 + version = "0.36.7" 1030 + source = "registry+https://github.com/rust-lang/crates.io-index" 1031 + checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" 1032 + dependencies = [ 1033 + "memchr", 1034 + ] 1035 + 1036 + [[package]] 1037 + name = "once_cell" 1038 + version = "1.21.0" 1039 + source = "registry+https://github.com/rust-lang/crates.io-index" 1040 + checksum = "cde51589ab56b20a6f686b2c68f7a0bd6add753d697abf720d63f8db3ab7b1ad" 1041 + 1042 + [[package]] 1043 + name = "openssl" 1044 + version = "0.10.71" 1045 + source = "registry+https://github.com/rust-lang/crates.io-index" 1046 + checksum = "5e14130c6a98cd258fdcb0fb6d744152343ff729cbfcb28c656a9d12b999fbcd" 1047 + dependencies = [ 1048 + "bitflags", 1049 + "cfg-if", 1050 + "foreign-types", 1051 + "libc", 1052 + "once_cell", 1053 + "openssl-macros", 1054 + "openssl-sys", 1055 + ] 1056 + 1057 + [[package]] 1058 + name = "openssl-macros" 1059 + version = "0.1.1" 1060 + source = "registry+https://github.com/rust-lang/crates.io-index" 1061 + checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" 1062 + dependencies = [ 1063 + "proc-macro2", 1064 + "quote", 1065 + "syn", 1066 + ] 1067 + 1068 + [[package]] 1069 + name = "openssl-probe" 1070 + version = "0.1.6" 1071 + source = "registry+https://github.com/rust-lang/crates.io-index" 1072 + checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" 1073 + 1074 + [[package]] 1075 + name = "openssl-sys" 1076 + version = "0.9.106" 1077 + source = "registry+https://github.com/rust-lang/crates.io-index" 1078 + checksum = "8bb61ea9811cc39e3c2069f40b8b8e2e70d8569b361f879786cc7ed48b777cdd" 1079 + dependencies = [ 1080 + "cc", 1081 + "libc", 1082 + "pkg-config", 1083 + "vcpkg", 1084 + ] 1085 + 1086 + [[package]] 1087 + name = "overload" 1088 + version = "0.1.1" 1089 + source = "registry+https://github.com/rust-lang/crates.io-index" 1090 + checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" 1091 + 1092 + [[package]] 1093 + name = "parking" 1094 + version = "2.2.1" 1095 + source = "registry+https://github.com/rust-lang/crates.io-index" 1096 + checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" 1097 + 1098 + [[package]] 1099 + name = "parking_lot" 1100 + version = "0.12.3" 1101 + source = "registry+https://github.com/rust-lang/crates.io-index" 1102 + checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" 1103 + dependencies = [ 1104 + "lock_api", 1105 + "parking_lot_core", 1106 + ] 1107 + 1108 + [[package]] 1109 + name = "parking_lot_core" 1110 + version = "0.9.10" 1111 + source = "registry+https://github.com/rust-lang/crates.io-index" 1112 + checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" 1113 + dependencies = [ 1114 + "cfg-if", 1115 + "libc", 1116 + "redox_syscall", 1117 + "smallvec", 1118 + "windows-targets 0.52.6", 1119 + ] 1120 + 1121 + [[package]] 6 1122 name = "pds-migrate" 7 1123 version = "0.1.0" 1124 + dependencies = [ 1125 + "atrium-api", 1126 + "atrium-xrpc-client", 1127 + "tokio", 1128 + ] 1129 + 1130 + [[package]] 1131 + name = "percent-encoding" 1132 + version = "2.3.1" 1133 + source = "registry+https://github.com/rust-lang/crates.io-index" 1134 + checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" 1135 + 1136 + [[package]] 1137 + name = "pin-project-lite" 1138 + version = "0.2.16" 1139 + source = "registry+https://github.com/rust-lang/crates.io-index" 1140 + checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" 1141 + 1142 + [[package]] 1143 + name = "pin-utils" 1144 + version = "0.1.0" 1145 + source = "registry+https://github.com/rust-lang/crates.io-index" 1146 + checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" 1147 + 1148 + [[package]] 1149 + name = "pkg-config" 1150 + version = "0.3.32" 1151 + source = "registry+https://github.com/rust-lang/crates.io-index" 1152 + checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" 1153 + 1154 + [[package]] 1155 + name = "portable-atomic" 1156 + version = "1.11.0" 1157 + source = "registry+https://github.com/rust-lang/crates.io-index" 1158 + checksum = "350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e" 1159 + 1160 + [[package]] 1161 + name = "proc-macro2" 1162 + version = "1.0.94" 1163 + source = "registry+https://github.com/rust-lang/crates.io-index" 1164 + checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84" 1165 + dependencies = [ 1166 + "unicode-ident", 1167 + ] 1168 + 1169 + [[package]] 1170 + name = "quote" 1171 + version = "1.0.40" 1172 + source = "registry+https://github.com/rust-lang/crates.io-index" 1173 + checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" 1174 + dependencies = [ 1175 + "proc-macro2", 1176 + ] 1177 + 1178 + [[package]] 1179 + name = "redox_syscall" 1180 + version = "0.5.10" 1181 + source = "registry+https://github.com/rust-lang/crates.io-index" 1182 + checksum = "0b8c0c260b63a8219631167be35e6a988e9554dbd323f8bd08439c8ed1302bd1" 1183 + dependencies = [ 1184 + "bitflags", 1185 + ] 1186 + 1187 + [[package]] 1188 + name = "regex" 1189 + version = "1.11.1" 1190 + source = "registry+https://github.com/rust-lang/crates.io-index" 1191 + checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" 1192 + dependencies = [ 1193 + "aho-corasick", 1194 + "memchr", 1195 + "regex-automata 0.4.9", 1196 + "regex-syntax 0.8.5", 1197 + ] 1198 + 1199 + [[package]] 1200 + name = "regex-automata" 1201 + version = "0.1.10" 1202 + source = "registry+https://github.com/rust-lang/crates.io-index" 1203 + checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" 1204 + dependencies = [ 1205 + "regex-syntax 0.6.29", 1206 + ] 1207 + 1208 + [[package]] 1209 + name = "regex-automata" 1210 + version = "0.4.9" 1211 + source = "registry+https://github.com/rust-lang/crates.io-index" 1212 + checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" 1213 + dependencies = [ 1214 + "aho-corasick", 1215 + "memchr", 1216 + "regex-syntax 0.8.5", 1217 + ] 1218 + 1219 + [[package]] 1220 + name = "regex-syntax" 1221 + version = "0.6.29" 1222 + source = "registry+https://github.com/rust-lang/crates.io-index" 1223 + checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" 1224 + 1225 + [[package]] 1226 + name = "regex-syntax" 1227 + version = "0.8.5" 1228 + source = "registry+https://github.com/rust-lang/crates.io-index" 1229 + checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" 1230 + 1231 + [[package]] 1232 + name = "reqwest" 1233 + version = "0.12.14" 1234 + source = "registry+https://github.com/rust-lang/crates.io-index" 1235 + checksum = "989e327e510263980e231de548a33e63d34962d29ae61b467389a1a09627a254" 1236 + dependencies = [ 1237 + "async-compression", 1238 + "base64", 1239 + "bytes", 1240 + "futures-core", 1241 + "futures-util", 1242 + "http", 1243 + "http-body", 1244 + "http-body-util", 1245 + "hyper", 1246 + "hyper-tls", 1247 + "hyper-util", 1248 + "ipnet", 1249 + "js-sys", 1250 + "log", 1251 + "mime", 1252 + "native-tls", 1253 + "once_cell", 1254 + "percent-encoding", 1255 + "pin-project-lite", 1256 + "rustls-pemfile", 1257 + "serde", 1258 + "serde_json", 1259 + "serde_urlencoded", 1260 + "sync_wrapper", 1261 + "tokio", 1262 + "tokio-native-tls", 1263 + "tokio-util", 1264 + "tower", 1265 + "tower-service", 1266 + "url", 1267 + "wasm-bindgen", 1268 + "wasm-bindgen-futures", 1269 + "web-sys", 1270 + "windows-registry", 1271 + ] 1272 + 1273 + [[package]] 1274 + name = "rustc-demangle" 1275 + version = "0.1.24" 1276 + source = "registry+https://github.com/rust-lang/crates.io-index" 1277 + checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" 1278 + 1279 + [[package]] 1280 + name = "rustc_version" 1281 + version = "0.4.1" 1282 + source = "registry+https://github.com/rust-lang/crates.io-index" 1283 + checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" 1284 + dependencies = [ 1285 + "semver", 1286 + ] 1287 + 1288 + [[package]] 1289 + name = "rustix" 1290 + version = "1.0.2" 1291 + source = "registry+https://github.com/rust-lang/crates.io-index" 1292 + checksum = "f7178faa4b75a30e269c71e61c353ce2748cf3d76f0c44c393f4e60abf49b825" 1293 + dependencies = [ 1294 + "bitflags", 1295 + "errno", 1296 + "libc", 1297 + "linux-raw-sys", 1298 + "windows-sys 0.59.0", 1299 + ] 1300 + 1301 + [[package]] 1302 + name = "rustls-pemfile" 1303 + version = "2.2.0" 1304 + source = "registry+https://github.com/rust-lang/crates.io-index" 1305 + checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" 1306 + dependencies = [ 1307 + "rustls-pki-types", 1308 + ] 1309 + 1310 + [[package]] 1311 + name = "rustls-pki-types" 1312 + version = "1.11.0" 1313 + source = "registry+https://github.com/rust-lang/crates.io-index" 1314 + checksum = "917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c" 1315 + 1316 + [[package]] 1317 + name = "rustversion" 1318 + version = "1.0.20" 1319 + source = "registry+https://github.com/rust-lang/crates.io-index" 1320 + checksum = "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2" 1321 + 1322 + [[package]] 1323 + name = "ryu" 1324 + version = "1.0.20" 1325 + source = "registry+https://github.com/rust-lang/crates.io-index" 1326 + checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" 1327 + 1328 + [[package]] 1329 + name = "schannel" 1330 + version = "0.1.27" 1331 + source = "registry+https://github.com/rust-lang/crates.io-index" 1332 + checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" 1333 + dependencies = [ 1334 + "windows-sys 0.59.0", 1335 + ] 1336 + 1337 + [[package]] 1338 + name = "scoped-tls" 1339 + version = "1.0.1" 1340 + source = "registry+https://github.com/rust-lang/crates.io-index" 1341 + checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" 1342 + 1343 + [[package]] 1344 + name = "scopeguard" 1345 + version = "1.2.0" 1346 + source = "registry+https://github.com/rust-lang/crates.io-index" 1347 + checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" 1348 + 1349 + [[package]] 1350 + name = "security-framework" 1351 + version = "2.11.1" 1352 + source = "registry+https://github.com/rust-lang/crates.io-index" 1353 + checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" 1354 + dependencies = [ 1355 + "bitflags", 1356 + "core-foundation", 1357 + "core-foundation-sys", 1358 + "libc", 1359 + "security-framework-sys", 1360 + ] 1361 + 1362 + [[package]] 1363 + name = "security-framework-sys" 1364 + version = "2.14.0" 1365 + source = "registry+https://github.com/rust-lang/crates.io-index" 1366 + checksum = "49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32" 1367 + dependencies = [ 1368 + "core-foundation-sys", 1369 + "libc", 1370 + ] 1371 + 1372 + [[package]] 1373 + name = "semver" 1374 + version = "1.0.26" 1375 + source = "registry+https://github.com/rust-lang/crates.io-index" 1376 + checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" 1377 + 1378 + [[package]] 1379 + name = "serde" 1380 + version = "1.0.219" 1381 + source = "registry+https://github.com/rust-lang/crates.io-index" 1382 + checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" 1383 + dependencies = [ 1384 + "serde_derive", 1385 + ] 1386 + 1387 + [[package]] 1388 + name = "serde_bytes" 1389 + version = "0.11.17" 1390 + source = "registry+https://github.com/rust-lang/crates.io-index" 1391 + checksum = "8437fd221bde2d4ca316d61b90e337e9e702b3820b87d63caa9ba6c02bd06d96" 1392 + dependencies = [ 1393 + "serde", 1394 + ] 1395 + 1396 + [[package]] 1397 + name = "serde_derive" 1398 + version = "1.0.219" 1399 + source = "registry+https://github.com/rust-lang/crates.io-index" 1400 + checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" 1401 + dependencies = [ 1402 + "proc-macro2", 1403 + "quote", 1404 + "syn", 1405 + ] 1406 + 1407 + [[package]] 1408 + name = "serde_html_form" 1409 + version = "0.2.7" 1410 + source = "registry+https://github.com/rust-lang/crates.io-index" 1411 + checksum = "9d2de91cf02bbc07cde38891769ccd5d4f073d22a40683aa4bc7a95781aaa2c4" 1412 + dependencies = [ 1413 + "form_urlencoded", 1414 + "indexmap", 1415 + "itoa", 1416 + "ryu", 1417 + "serde", 1418 + ] 1419 + 1420 + [[package]] 1421 + name = "serde_json" 1422 + version = "1.0.140" 1423 + source = "registry+https://github.com/rust-lang/crates.io-index" 1424 + checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" 1425 + dependencies = [ 1426 + "itoa", 1427 + "memchr", 1428 + "ryu", 1429 + "serde", 1430 + ] 1431 + 1432 + [[package]] 1433 + name = "serde_urlencoded" 1434 + version = "0.7.1" 1435 + source = "registry+https://github.com/rust-lang/crates.io-index" 1436 + checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" 1437 + dependencies = [ 1438 + "form_urlencoded", 1439 + "itoa", 1440 + "ryu", 1441 + "serde", 1442 + ] 1443 + 1444 + [[package]] 1445 + name = "sharded-slab" 1446 + version = "0.1.7" 1447 + source = "registry+https://github.com/rust-lang/crates.io-index" 1448 + checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" 1449 + dependencies = [ 1450 + "lazy_static", 1451 + ] 1452 + 1453 + [[package]] 1454 + name = "shlex" 1455 + version = "1.3.0" 1456 + source = "registry+https://github.com/rust-lang/crates.io-index" 1457 + checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" 1458 + 1459 + [[package]] 1460 + name = "slab" 1461 + version = "0.4.9" 1462 + source = "registry+https://github.com/rust-lang/crates.io-index" 1463 + checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" 1464 + dependencies = [ 1465 + "autocfg", 1466 + ] 1467 + 1468 + [[package]] 1469 + name = "smallvec" 1470 + version = "1.14.0" 1471 + source = "registry+https://github.com/rust-lang/crates.io-index" 1472 + checksum = "7fcf8323ef1faaee30a44a340193b1ac6814fd9b7b4e88e9d4519a3e4abe1cfd" 1473 + 1474 + [[package]] 1475 + name = "socket2" 1476 + version = "0.5.8" 1477 + source = "registry+https://github.com/rust-lang/crates.io-index" 1478 + checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" 1479 + dependencies = [ 1480 + "libc", 1481 + "windows-sys 0.52.0", 1482 + ] 1483 + 1484 + [[package]] 1485 + name = "stable_deref_trait" 1486 + version = "1.2.0" 1487 + source = "registry+https://github.com/rust-lang/crates.io-index" 1488 + checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" 1489 + 1490 + [[package]] 1491 + name = "syn" 1492 + version = "2.0.100" 1493 + source = "registry+https://github.com/rust-lang/crates.io-index" 1494 + checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0" 1495 + dependencies = [ 1496 + "proc-macro2", 1497 + "quote", 1498 + "unicode-ident", 1499 + ] 1500 + 1501 + [[package]] 1502 + name = "sync_wrapper" 1503 + version = "1.0.2" 1504 + source = "registry+https://github.com/rust-lang/crates.io-index" 1505 + checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" 1506 + dependencies = [ 1507 + "futures-core", 1508 + ] 1509 + 1510 + [[package]] 1511 + name = "synstructure" 1512 + version = "0.13.1" 1513 + source = "registry+https://github.com/rust-lang/crates.io-index" 1514 + checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" 1515 + dependencies = [ 1516 + "proc-macro2", 1517 + "quote", 1518 + "syn", 1519 + ] 1520 + 1521 + [[package]] 1522 + name = "tagptr" 1523 + version = "0.2.0" 1524 + source = "registry+https://github.com/rust-lang/crates.io-index" 1525 + checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417" 1526 + 1527 + [[package]] 1528 + name = "tempfile" 1529 + version = "3.18.0" 1530 + source = "registry+https://github.com/rust-lang/crates.io-index" 1531 + checksum = "2c317e0a526ee6120d8dabad239c8dadca62b24b6f168914bbbc8e2fb1f0e567" 1532 + dependencies = [ 1533 + "cfg-if", 1534 + "fastrand", 1535 + "getrandom", 1536 + "once_cell", 1537 + "rustix", 1538 + "windows-sys 0.59.0", 1539 + ] 1540 + 1541 + [[package]] 1542 + name = "thiserror" 1543 + version = "1.0.69" 1544 + source = "registry+https://github.com/rust-lang/crates.io-index" 1545 + checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" 1546 + dependencies = [ 1547 + "thiserror-impl", 1548 + ] 1549 + 1550 + [[package]] 1551 + name = "thiserror-impl" 1552 + version = "1.0.69" 1553 + source = "registry+https://github.com/rust-lang/crates.io-index" 1554 + checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" 1555 + dependencies = [ 1556 + "proc-macro2", 1557 + "quote", 1558 + "syn", 1559 + ] 1560 + 1561 + [[package]] 1562 + name = "thread_local" 1563 + version = "1.1.8" 1564 + source = "registry+https://github.com/rust-lang/crates.io-index" 1565 + checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" 1566 + dependencies = [ 1567 + "cfg-if", 1568 + "once_cell", 1569 + ] 1570 + 1571 + [[package]] 1572 + name = "tinystr" 1573 + version = "0.7.6" 1574 + source = "registry+https://github.com/rust-lang/crates.io-index" 1575 + checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" 1576 + dependencies = [ 1577 + "displaydoc", 1578 + "zerovec", 1579 + ] 1580 + 1581 + [[package]] 1582 + name = "tokio" 1583 + version = "1.44.0" 1584 + source = "registry+https://github.com/rust-lang/crates.io-index" 1585 + checksum = "9975ea0f48b5aa3972bf2d888c238182458437cc2a19374b81b25cdf1023fb3a" 1586 + dependencies = [ 1587 + "backtrace", 1588 + "bytes", 1589 + "libc", 1590 + "mio", 1591 + "pin-project-lite", 1592 + "socket2", 1593 + "tokio-macros", 1594 + "windows-sys 0.52.0", 1595 + ] 1596 + 1597 + [[package]] 1598 + name = "tokio-macros" 1599 + version = "2.5.0" 1600 + source = "registry+https://github.com/rust-lang/crates.io-index" 1601 + checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" 1602 + dependencies = [ 1603 + "proc-macro2", 1604 + "quote", 1605 + "syn", 1606 + ] 1607 + 1608 + [[package]] 1609 + name = "tokio-native-tls" 1610 + version = "0.3.1" 1611 + source = "registry+https://github.com/rust-lang/crates.io-index" 1612 + checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" 1613 + dependencies = [ 1614 + "native-tls", 1615 + "tokio", 1616 + ] 1617 + 1618 + [[package]] 1619 + name = "tokio-util" 1620 + version = "0.7.13" 1621 + source = "registry+https://github.com/rust-lang/crates.io-index" 1622 + checksum = "d7fcaa8d55a2bdd6b83ace262b016eca0d79ee02818c5c1bcdf0305114081078" 1623 + dependencies = [ 1624 + "bytes", 1625 + "futures-core", 1626 + "futures-sink", 1627 + "pin-project-lite", 1628 + "tokio", 1629 + ] 1630 + 1631 + [[package]] 1632 + name = "tower" 1633 + version = "0.5.2" 1634 + source = "registry+https://github.com/rust-lang/crates.io-index" 1635 + checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" 1636 + dependencies = [ 1637 + "futures-core", 1638 + "futures-util", 1639 + "pin-project-lite", 1640 + "sync_wrapper", 1641 + "tokio", 1642 + "tower-layer", 1643 + "tower-service", 1644 + ] 1645 + 1646 + [[package]] 1647 + name = "tower-layer" 1648 + version = "0.3.3" 1649 + source = "registry+https://github.com/rust-lang/crates.io-index" 1650 + checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" 1651 + 1652 + [[package]] 1653 + name = "tower-service" 1654 + version = "0.3.3" 1655 + source = "registry+https://github.com/rust-lang/crates.io-index" 1656 + checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" 1657 + 1658 + [[package]] 1659 + name = "tracing" 1660 + version = "0.1.41" 1661 + source = "registry+https://github.com/rust-lang/crates.io-index" 1662 + checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" 1663 + dependencies = [ 1664 + "pin-project-lite", 1665 + "tracing-core", 1666 + ] 1667 + 1668 + [[package]] 1669 + name = "tracing-core" 1670 + version = "0.1.33" 1671 + source = "registry+https://github.com/rust-lang/crates.io-index" 1672 + checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" 1673 + dependencies = [ 1674 + "once_cell", 1675 + "valuable", 1676 + ] 1677 + 1678 + [[package]] 1679 + name = "tracing-log" 1680 + version = "0.2.0" 1681 + source = "registry+https://github.com/rust-lang/crates.io-index" 1682 + checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" 1683 + dependencies = [ 1684 + "log", 1685 + "once_cell", 1686 + "tracing-core", 1687 + ] 1688 + 1689 + [[package]] 1690 + name = "tracing-subscriber" 1691 + version = "0.3.19" 1692 + source = "registry+https://github.com/rust-lang/crates.io-index" 1693 + checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008" 1694 + dependencies = [ 1695 + "matchers", 1696 + "nu-ansi-term", 1697 + "once_cell", 1698 + "regex", 1699 + "sharded-slab", 1700 + "smallvec", 1701 + "thread_local", 1702 + "tracing", 1703 + "tracing-core", 1704 + "tracing-log", 1705 + ] 1706 + 1707 + [[package]] 1708 + name = "trait-variant" 1709 + version = "0.1.2" 1710 + source = "registry+https://github.com/rust-lang/crates.io-index" 1711 + checksum = "70977707304198400eb4835a78f6a9f928bf41bba420deb8fdb175cd965d77a7" 1712 + dependencies = [ 1713 + "proc-macro2", 1714 + "quote", 1715 + "syn", 1716 + ] 1717 + 1718 + [[package]] 1719 + name = "try-lock" 1720 + version = "0.2.5" 1721 + source = "registry+https://github.com/rust-lang/crates.io-index" 1722 + checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" 1723 + 1724 + [[package]] 1725 + name = "unicode-ident" 1726 + version = "1.0.18" 1727 + source = "registry+https://github.com/rust-lang/crates.io-index" 1728 + checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" 1729 + 1730 + [[package]] 1731 + name = "unsigned-varint" 1732 + version = "0.8.0" 1733 + source = "registry+https://github.com/rust-lang/crates.io-index" 1734 + checksum = "eb066959b24b5196ae73cb057f45598450d2c5f71460e98c49b738086eff9c06" 1735 + 1736 + [[package]] 1737 + name = "url" 1738 + version = "2.5.4" 1739 + source = "registry+https://github.com/rust-lang/crates.io-index" 1740 + checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" 1741 + dependencies = [ 1742 + "form_urlencoded", 1743 + "idna", 1744 + "percent-encoding", 1745 + ] 1746 + 1747 + [[package]] 1748 + name = "utf16_iter" 1749 + version = "1.0.5" 1750 + source = "registry+https://github.com/rust-lang/crates.io-index" 1751 + checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" 1752 + 1753 + [[package]] 1754 + name = "utf8_iter" 1755 + version = "1.0.4" 1756 + source = "registry+https://github.com/rust-lang/crates.io-index" 1757 + checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" 1758 + 1759 + [[package]] 1760 + name = "uuid" 1761 + version = "1.15.1" 1762 + source = "registry+https://github.com/rust-lang/crates.io-index" 1763 + checksum = "e0f540e3240398cce6128b64ba83fdbdd86129c16a3aa1a3a252efd66eb3d587" 1764 + dependencies = [ 1765 + "getrandom", 1766 + ] 1767 + 1768 + [[package]] 1769 + name = "valuable" 1770 + version = "0.1.1" 1771 + source = "registry+https://github.com/rust-lang/crates.io-index" 1772 + checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" 1773 + 1774 + [[package]] 1775 + name = "vcpkg" 1776 + version = "0.2.15" 1777 + source = "registry+https://github.com/rust-lang/crates.io-index" 1778 + checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" 1779 + 1780 + [[package]] 1781 + name = "want" 1782 + version = "0.3.1" 1783 + source = "registry+https://github.com/rust-lang/crates.io-index" 1784 + checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" 1785 + dependencies = [ 1786 + "try-lock", 1787 + ] 1788 + 1789 + [[package]] 1790 + name = "wasi" 1791 + version = "0.11.0+wasi-snapshot-preview1" 1792 + source = "registry+https://github.com/rust-lang/crates.io-index" 1793 + checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" 1794 + 1795 + [[package]] 1796 + name = "wasi" 1797 + version = "0.13.3+wasi-0.2.2" 1798 + source = "registry+https://github.com/rust-lang/crates.io-index" 1799 + checksum = "26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2" 1800 + dependencies = [ 1801 + "wit-bindgen-rt", 1802 + ] 1803 + 1804 + [[package]] 1805 + name = "wasm-bindgen" 1806 + version = "0.2.100" 1807 + source = "registry+https://github.com/rust-lang/crates.io-index" 1808 + checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" 1809 + dependencies = [ 1810 + "cfg-if", 1811 + "once_cell", 1812 + "rustversion", 1813 + "wasm-bindgen-macro", 1814 + ] 1815 + 1816 + [[package]] 1817 + name = "wasm-bindgen-backend" 1818 + version = "0.2.100" 1819 + source = "registry+https://github.com/rust-lang/crates.io-index" 1820 + checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" 1821 + dependencies = [ 1822 + "bumpalo", 1823 + "log", 1824 + "proc-macro2", 1825 + "quote", 1826 + "syn", 1827 + "wasm-bindgen-shared", 1828 + ] 1829 + 1830 + [[package]] 1831 + name = "wasm-bindgen-futures" 1832 + version = "0.4.50" 1833 + source = "registry+https://github.com/rust-lang/crates.io-index" 1834 + checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" 1835 + dependencies = [ 1836 + "cfg-if", 1837 + "js-sys", 1838 + "once_cell", 1839 + "wasm-bindgen", 1840 + "web-sys", 1841 + ] 1842 + 1843 + [[package]] 1844 + name = "wasm-bindgen-macro" 1845 + version = "0.2.100" 1846 + source = "registry+https://github.com/rust-lang/crates.io-index" 1847 + checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" 1848 + dependencies = [ 1849 + "quote", 1850 + "wasm-bindgen-macro-support", 1851 + ] 1852 + 1853 + [[package]] 1854 + name = "wasm-bindgen-macro-support" 1855 + version = "0.2.100" 1856 + source = "registry+https://github.com/rust-lang/crates.io-index" 1857 + checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" 1858 + dependencies = [ 1859 + "proc-macro2", 1860 + "quote", 1861 + "syn", 1862 + "wasm-bindgen-backend", 1863 + "wasm-bindgen-shared", 1864 + ] 1865 + 1866 + [[package]] 1867 + name = "wasm-bindgen-shared" 1868 + version = "0.2.100" 1869 + source = "registry+https://github.com/rust-lang/crates.io-index" 1870 + checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" 1871 + dependencies = [ 1872 + "unicode-ident", 1873 + ] 1874 + 1875 + [[package]] 1876 + name = "web-sys" 1877 + version = "0.3.77" 1878 + source = "registry+https://github.com/rust-lang/crates.io-index" 1879 + checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" 1880 + dependencies = [ 1881 + "js-sys", 1882 + "wasm-bindgen", 1883 + ] 1884 + 1885 + [[package]] 1886 + name = "web-time" 1887 + version = "1.1.0" 1888 + source = "registry+https://github.com/rust-lang/crates.io-index" 1889 + checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" 1890 + dependencies = [ 1891 + "js-sys", 1892 + "wasm-bindgen", 1893 + ] 1894 + 1895 + [[package]] 1896 + name = "winapi" 1897 + version = "0.3.9" 1898 + source = "registry+https://github.com/rust-lang/crates.io-index" 1899 + checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" 1900 + dependencies = [ 1901 + "winapi-i686-pc-windows-gnu", 1902 + "winapi-x86_64-pc-windows-gnu", 1903 + ] 1904 + 1905 + [[package]] 1906 + name = "winapi-i686-pc-windows-gnu" 1907 + version = "0.4.0" 1908 + source = "registry+https://github.com/rust-lang/crates.io-index" 1909 + checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" 1910 + 1911 + [[package]] 1912 + name = "winapi-x86_64-pc-windows-gnu" 1913 + version = "0.4.0" 1914 + source = "registry+https://github.com/rust-lang/crates.io-index" 1915 + checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" 1916 + 1917 + [[package]] 1918 + name = "windows" 1919 + version = "0.58.0" 1920 + source = "registry+https://github.com/rust-lang/crates.io-index" 1921 + checksum = "dd04d41d93c4992d421894c18c8b43496aa748dd4c081bac0dc93eb0489272b6" 1922 + dependencies = [ 1923 + "windows-core 0.58.0", 1924 + "windows-targets 0.52.6", 1925 + ] 1926 + 1927 + [[package]] 1928 + name = "windows-core" 1929 + version = "0.52.0" 1930 + source = "registry+https://github.com/rust-lang/crates.io-index" 1931 + checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" 1932 + dependencies = [ 1933 + "windows-targets 0.52.6", 1934 + ] 1935 + 1936 + [[package]] 1937 + name = "windows-core" 1938 + version = "0.58.0" 1939 + source = "registry+https://github.com/rust-lang/crates.io-index" 1940 + checksum = "6ba6d44ec8c2591c134257ce647b7ea6b20335bf6379a27dac5f1641fcf59f99" 1941 + dependencies = [ 1942 + "windows-implement", 1943 + "windows-interface", 1944 + "windows-result 0.2.0", 1945 + "windows-strings 0.1.0", 1946 + "windows-targets 0.52.6", 1947 + ] 1948 + 1949 + [[package]] 1950 + name = "windows-implement" 1951 + version = "0.58.0" 1952 + source = "registry+https://github.com/rust-lang/crates.io-index" 1953 + checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" 1954 + dependencies = [ 1955 + "proc-macro2", 1956 + "quote", 1957 + "syn", 1958 + ] 1959 + 1960 + [[package]] 1961 + name = "windows-interface" 1962 + version = "0.58.0" 1963 + source = "registry+https://github.com/rust-lang/crates.io-index" 1964 + checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" 1965 + dependencies = [ 1966 + "proc-macro2", 1967 + "quote", 1968 + "syn", 1969 + ] 1970 + 1971 + [[package]] 1972 + name = "windows-link" 1973 + version = "0.1.0" 1974 + source = "registry+https://github.com/rust-lang/crates.io-index" 1975 + checksum = "6dccfd733ce2b1753b03b6d3c65edf020262ea35e20ccdf3e288043e6dd620e3" 1976 + 1977 + [[package]] 1978 + name = "windows-registry" 1979 + version = "0.4.0" 1980 + source = "registry+https://github.com/rust-lang/crates.io-index" 1981 + checksum = "4286ad90ddb45071efd1a66dfa43eb02dd0dfbae1545ad6cc3c51cf34d7e8ba3" 1982 + dependencies = [ 1983 + "windows-result 0.3.1", 1984 + "windows-strings 0.3.1", 1985 + "windows-targets 0.53.0", 1986 + ] 1987 + 1988 + [[package]] 1989 + name = "windows-result" 1990 + version = "0.2.0" 1991 + source = "registry+https://github.com/rust-lang/crates.io-index" 1992 + checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" 1993 + dependencies = [ 1994 + "windows-targets 0.52.6", 1995 + ] 1996 + 1997 + [[package]] 1998 + name = "windows-result" 1999 + version = "0.3.1" 2000 + source = "registry+https://github.com/rust-lang/crates.io-index" 2001 + checksum = "06374efe858fab7e4f881500e6e86ec8bc28f9462c47e5a9941a0142ad86b189" 2002 + dependencies = [ 2003 + "windows-link", 2004 + ] 2005 + 2006 + [[package]] 2007 + name = "windows-strings" 2008 + version = "0.1.0" 2009 + source = "registry+https://github.com/rust-lang/crates.io-index" 2010 + checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" 2011 + dependencies = [ 2012 + "windows-result 0.2.0", 2013 + "windows-targets 0.52.6", 2014 + ] 2015 + 2016 + [[package]] 2017 + name = "windows-strings" 2018 + version = "0.3.1" 2019 + source = "registry+https://github.com/rust-lang/crates.io-index" 2020 + checksum = "87fa48cc5d406560701792be122a10132491cff9d0aeb23583cc2dcafc847319" 2021 + dependencies = [ 2022 + "windows-link", 2023 + ] 2024 + 2025 + [[package]] 2026 + name = "windows-sys" 2027 + version = "0.52.0" 2028 + source = "registry+https://github.com/rust-lang/crates.io-index" 2029 + checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" 2030 + dependencies = [ 2031 + "windows-targets 0.52.6", 2032 + ] 2033 + 2034 + [[package]] 2035 + name = "windows-sys" 2036 + version = "0.59.0" 2037 + source = "registry+https://github.com/rust-lang/crates.io-index" 2038 + checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" 2039 + dependencies = [ 2040 + "windows-targets 0.52.6", 2041 + ] 2042 + 2043 + [[package]] 2044 + name = "windows-targets" 2045 + version = "0.52.6" 2046 + source = "registry+https://github.com/rust-lang/crates.io-index" 2047 + checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" 2048 + dependencies = [ 2049 + "windows_aarch64_gnullvm 0.52.6", 2050 + "windows_aarch64_msvc 0.52.6", 2051 + "windows_i686_gnu 0.52.6", 2052 + "windows_i686_gnullvm 0.52.6", 2053 + "windows_i686_msvc 0.52.6", 2054 + "windows_x86_64_gnu 0.52.6", 2055 + "windows_x86_64_gnullvm 0.52.6", 2056 + "windows_x86_64_msvc 0.52.6", 2057 + ] 2058 + 2059 + [[package]] 2060 + name = "windows-targets" 2061 + version = "0.53.0" 2062 + source = "registry+https://github.com/rust-lang/crates.io-index" 2063 + checksum = "b1e4c7e8ceaaf9cb7d7507c974735728ab453b67ef8f18febdd7c11fe59dca8b" 2064 + dependencies = [ 2065 + "windows_aarch64_gnullvm 0.53.0", 2066 + "windows_aarch64_msvc 0.53.0", 2067 + "windows_i686_gnu 0.53.0", 2068 + "windows_i686_gnullvm 0.53.0", 2069 + "windows_i686_msvc 0.53.0", 2070 + "windows_x86_64_gnu 0.53.0", 2071 + "windows_x86_64_gnullvm 0.53.0", 2072 + "windows_x86_64_msvc 0.53.0", 2073 + ] 2074 + 2075 + [[package]] 2076 + name = "windows_aarch64_gnullvm" 2077 + version = "0.52.6" 2078 + source = "registry+https://github.com/rust-lang/crates.io-index" 2079 + checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" 2080 + 2081 + [[package]] 2082 + name = "windows_aarch64_gnullvm" 2083 + version = "0.53.0" 2084 + source = "registry+https://github.com/rust-lang/crates.io-index" 2085 + checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" 2086 + 2087 + [[package]] 2088 + name = "windows_aarch64_msvc" 2089 + version = "0.52.6" 2090 + source = "registry+https://github.com/rust-lang/crates.io-index" 2091 + checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" 2092 + 2093 + [[package]] 2094 + name = "windows_aarch64_msvc" 2095 + version = "0.53.0" 2096 + source = "registry+https://github.com/rust-lang/crates.io-index" 2097 + checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" 2098 + 2099 + [[package]] 2100 + name = "windows_i686_gnu" 2101 + version = "0.52.6" 2102 + source = "registry+https://github.com/rust-lang/crates.io-index" 2103 + checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" 2104 + 2105 + [[package]] 2106 + name = "windows_i686_gnu" 2107 + version = "0.53.0" 2108 + source = "registry+https://github.com/rust-lang/crates.io-index" 2109 + checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" 2110 + 2111 + [[package]] 2112 + name = "windows_i686_gnullvm" 2113 + version = "0.52.6" 2114 + source = "registry+https://github.com/rust-lang/crates.io-index" 2115 + checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" 2116 + 2117 + [[package]] 2118 + name = "windows_i686_gnullvm" 2119 + version = "0.53.0" 2120 + source = "registry+https://github.com/rust-lang/crates.io-index" 2121 + checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" 2122 + 2123 + [[package]] 2124 + name = "windows_i686_msvc" 2125 + version = "0.52.6" 2126 + source = "registry+https://github.com/rust-lang/crates.io-index" 2127 + checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" 2128 + 2129 + [[package]] 2130 + name = "windows_i686_msvc" 2131 + version = "0.53.0" 2132 + source = "registry+https://github.com/rust-lang/crates.io-index" 2133 + checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" 2134 + 2135 + [[package]] 2136 + name = "windows_x86_64_gnu" 2137 + version = "0.52.6" 2138 + source = "registry+https://github.com/rust-lang/crates.io-index" 2139 + checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" 2140 + 2141 + [[package]] 2142 + name = "windows_x86_64_gnu" 2143 + version = "0.53.0" 2144 + source = "registry+https://github.com/rust-lang/crates.io-index" 2145 + checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" 2146 + 2147 + [[package]] 2148 + name = "windows_x86_64_gnullvm" 2149 + version = "0.52.6" 2150 + source = "registry+https://github.com/rust-lang/crates.io-index" 2151 + checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" 2152 + 2153 + [[package]] 2154 + name = "windows_x86_64_gnullvm" 2155 + version = "0.53.0" 2156 + source = "registry+https://github.com/rust-lang/crates.io-index" 2157 + checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" 2158 + 2159 + [[package]] 2160 + name = "windows_x86_64_msvc" 2161 + version = "0.52.6" 2162 + source = "registry+https://github.com/rust-lang/crates.io-index" 2163 + checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" 2164 + 2165 + [[package]] 2166 + name = "windows_x86_64_msvc" 2167 + version = "0.53.0" 2168 + source = "registry+https://github.com/rust-lang/crates.io-index" 2169 + checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" 2170 + 2171 + [[package]] 2172 + name = "wit-bindgen-rt" 2173 + version = "0.33.0" 2174 + source = "registry+https://github.com/rust-lang/crates.io-index" 2175 + checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c" 2176 + dependencies = [ 2177 + "bitflags", 2178 + ] 2179 + 2180 + [[package]] 2181 + name = "write16" 2182 + version = "1.0.0" 2183 + source = "registry+https://github.com/rust-lang/crates.io-index" 2184 + checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" 2185 + 2186 + [[package]] 2187 + name = "writeable" 2188 + version = "0.5.5" 2189 + source = "registry+https://github.com/rust-lang/crates.io-index" 2190 + checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" 2191 + 2192 + [[package]] 2193 + name = "yoke" 2194 + version = "0.7.5" 2195 + source = "registry+https://github.com/rust-lang/crates.io-index" 2196 + checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" 2197 + dependencies = [ 2198 + "serde", 2199 + "stable_deref_trait", 2200 + "yoke-derive", 2201 + "zerofrom", 2202 + ] 2203 + 2204 + [[package]] 2205 + name = "yoke-derive" 2206 + version = "0.7.5" 2207 + source = "registry+https://github.com/rust-lang/crates.io-index" 2208 + checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" 2209 + dependencies = [ 2210 + "proc-macro2", 2211 + "quote", 2212 + "syn", 2213 + "synstructure", 2214 + ] 2215 + 2216 + [[package]] 2217 + name = "zerofrom" 2218 + version = "0.1.6" 2219 + source = "registry+https://github.com/rust-lang/crates.io-index" 2220 + checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" 2221 + dependencies = [ 2222 + "zerofrom-derive", 2223 + ] 2224 + 2225 + [[package]] 2226 + name = "zerofrom-derive" 2227 + version = "0.1.6" 2228 + source = "registry+https://github.com/rust-lang/crates.io-index" 2229 + checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" 2230 + dependencies = [ 2231 + "proc-macro2", 2232 + "quote", 2233 + "syn", 2234 + "synstructure", 2235 + ] 2236 + 2237 + [[package]] 2238 + name = "zerovec" 2239 + version = "0.10.4" 2240 + source = "registry+https://github.com/rust-lang/crates.io-index" 2241 + checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" 2242 + dependencies = [ 2243 + "yoke", 2244 + "zerofrom", 2245 + "zerovec-derive", 2246 + ] 2247 + 2248 + [[package]] 2249 + name = "zerovec-derive" 2250 + version = "0.10.3" 2251 + source = "registry+https://github.com/rust-lang/crates.io-index" 2252 + checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" 2253 + dependencies = [ 2254 + "proc-macro2", 2255 + "quote", 2256 + "syn", 2257 + ]
+3
Cargo.toml
··· 4 4 edition = "2021" 5 5 6 6 [dependencies] 7 + atrium-api = { version = "0.25.0", default-features = false, features = ["agent"] } 8 + atrium-xrpc-client = "0.5.11" 9 + tokio = { version = "1.44.0", features = ["macros", "rt-multi-thread"]}
+39
src/jwt.rs
··· 1 + use atrium_api::xrpc::{ 2 + http::{Request, Response}, 3 + types::AuthorizationToken, 4 + HttpClient, XrpcClient, 5 + }; 6 + use atrium_xrpc_client::reqwest::ReqwestClient; 7 + 8 + pub struct JwtAuthedClient { 9 + token: String, 10 + inner: ReqwestClient, 11 + } 12 + 13 + impl JwtAuthedClient { 14 + pub fn new(base_uri: impl AsRef<str>, token: String) -> Self { 15 + Self { 16 + token, 17 + inner: ReqwestClient::new(base_uri), 18 + } 19 + } 20 + } 21 + 22 + impl HttpClient for JwtAuthedClient { 23 + async fn send_http( 24 + &self, 25 + request: Request<Vec<u8>>, 26 + ) -> Result<Response<Vec<u8>>, Box<dyn std::error::Error + Send + Sync + 'static>> { 27 + self.inner.send_http(request).await 28 + } 29 + } 30 + 31 + impl XrpcClient for JwtAuthedClient { 32 + fn base_uri(&self) -> String { 33 + self.inner.base_uri() 34 + } 35 + 36 + async fn authorization_token(&self, _: bool) -> Option<AuthorizationToken> { 37 + Some(AuthorizationToken::Bearer(self.token.clone())) 38 + } 39 + }
+185 -2
src/main.rs
··· 1 - fn main() { 2 - println!("Hello, world!"); 1 + use atrium_api::{ 2 + agent::atp_agent::{store::MemorySessionStore, AtpAgent}, 3 + com::atproto::server::{create_account, get_service_auth}, 4 + types::string::{Handle, Nsid}, 5 + }; 6 + use atrium_xrpc_client::reqwest::ReqwestClient; 7 + use std::{ 8 + io::{self, Write}, 9 + sync::Arc, 10 + }; 11 + 12 + mod jwt; 13 + 14 + fn readln(message: Option<impl Into<String>>) -> std::io::Result<Arc<str>> { 15 + if let Some(message) = message { 16 + print!("{}", message.into()); 17 + io::stdout().flush()?; 18 + } 19 + let mut buffer = String::new(); 20 + io::stdin().read_line(&mut buffer)?; 21 + Ok(buffer.trim().into()) 22 + } 23 + 24 + #[tokio::main] 25 + async fn main() { 26 + println!("Please log in to your current PDS. Authenticated access is needed throughout the migration process"); 27 + let old_pds_url = match readln(Some("The URL of your current PDS: ")) { 28 + Ok(string) => string, 29 + Err(err) => { 30 + println!("Could not read the URL of your current PDS due to error: {err}"); 31 + return; 32 + } 33 + }; 34 + let identity = match readln(Some("Identifier (handle, did or email): ")) { 35 + Ok(string) => string.trim().to_string(), 36 + Err(err) => { 37 + println!("Could not read username due to error: {err}"); 38 + return; 39 + } 40 + }; 41 + let password = match readln(Some("Password: ")) { 42 + Ok(string) => string.trim().to_string(), 43 + Err(err) => { 44 + println!("Could not read password due to error: {err}"); 45 + return; 46 + } 47 + }; 48 + println!("Authenticating with your PDS"); 49 + let old_agent = AtpAgent::new( 50 + ReqwestClient::new(&old_pds_url), 51 + MemorySessionStore::default(), 52 + ); 53 + if let Err(err) = old_agent.login(identity, password).await { 54 + println!("Failed to log in to your account on your current PDS due to error: {err}"); 55 + return; 56 + }; 57 + println!("Log in successful!"); 58 + println!(); 59 + 60 + // Create new account 61 + println!("First migration step is registering an account with your new PDS"); 62 + let new_pds_url = match readln(Some( 63 + "Please type in the URL of the PDS you want to migrate to: ", 64 + )) { 65 + Ok(string) => string, 66 + Err(err) => { 67 + println!("Could not read the URL of your new PDS due to error: {err}"); 68 + return; 69 + } 70 + }; 71 + let new_agent = AtpAgent::new( 72 + ReqwestClient::new(&new_pds_url), 73 + MemorySessionStore::default(), 74 + ); 75 + println!("Now the details you want for your new account"); 76 + let email = match readln(Some("Email address: ")) { 77 + Ok(string) => string, 78 + Err(err) => { 79 + println!("Could not read your email due to error: {err}"); 80 + return; 81 + } 82 + }; 83 + let handle = match Handle::new( 84 + match readln(Some("Handle: ")) { 85 + Ok(string) => string, 86 + Err(err) => { 87 + println!("Could not read your handle due to error: {err}"); 88 + return; 89 + } 90 + } 91 + .to_string(), 92 + ) { 93 + Ok(handle) => handle, 94 + Err(err) => { 95 + println!("Handle wasn't accepted because: {err}"); 96 + return; 97 + } 98 + }; 99 + let password = match readln(Some( 100 + "Please type in the password you want to use on your new PDS", 101 + )) { 102 + Ok(string) => string, 103 + Err(err) => { 104 + println!("Could not read your password due to error: {err}"); 105 + return; 106 + } 107 + }; 108 + let invite_code = match readln(Some( 109 + "Invite code (leave empty if your new PDS doesn't require one): ", 110 + )) { 111 + Ok(string) => { 112 + if string.is_empty() { 113 + None 114 + } else { 115 + Some(string.to_string()) 116 + } 117 + } 118 + Err(err) => { 119 + println!("Could not read your invite code due to error: {err}"); 120 + return; 121 + } 122 + }; 123 + 124 + let password = password.clone(); 125 + let describe_res = match new_agent.api.com.atproto.server.describe_server().await { 126 + Ok(response) => response, 127 + Err(err) => { 128 + println!("com.atproto.server.describeServer at new PDS failed due to error: {err}"); 129 + return; 130 + } 131 + }; 132 + let new_pds_did = &describe_res.did; 133 + let service_jwt_res = match old_agent 134 + .api 135 + .com 136 + .atproto 137 + .server 138 + .get_service_auth( 139 + get_service_auth::ParametersData { 140 + aud: new_pds_did.clone(), 141 + lxm: Some(Nsid::new(create_account::NSID.to_string()).unwrap()), 142 + exp: None, 143 + } 144 + .into(), 145 + ) 146 + .await 147 + { 148 + Ok(response) => response, 149 + Err(err) => { 150 + println!("com.atproto.server.getServiceAuth at current PDS failed due to error: {err}"); 151 + return; 152 + } 153 + }; 154 + 155 + let new_agent = AtpAgent::new( 156 + jwt::JwtAuthedClient::new(&new_pds_url, service_jwt_res.token.clone()), 157 + MemorySessionStore::default(), 158 + ); 159 + match new_agent 160 + .api 161 + .com 162 + .atproto 163 + .server 164 + .create_account( 165 + create_account::InputData { 166 + did: old_agent.did().await, 167 + email: Some(email.to_string()), 168 + handle, 169 + invite_code, 170 + password: Some(password.to_string()), 171 + plc_op: None, 172 + recovery_key: None, 173 + verification_code: None, 174 + verification_phone: None, 175 + } 176 + .into(), 177 + ) 178 + .await 179 + { 180 + Ok(response) => response, 181 + Err(err) => { 182 + println!("com.atproto.server.createAccount at new PDS failed due to error: {err}"); 183 + return; 184 + } 185 + }; 3 186 }