├── .gitignore ├── Cargo.lock ├── Cargo.toml ├── LICENSE-APACHE ├── LICENSE-MIT ├── README.md ├── auto ├── Cargo.toml └── src │ ├── api.rs │ ├── cache.rs │ ├── data.rs │ ├── generator.rs │ └── lib.rs ├── examples └── server │ ├── Cargo.toml │ └── src │ └── main.rs └── public └── auto_rust_example.png /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | .vscode 3 | .env 4 | .DS_Store 5 | .auto -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | version = 3 4 | 5 | [[package]] 6 | name = "addr2line" 7 | version = "0.22.0" 8 | source = "registry+https://github.com/rust-lang/crates.io-index" 9 | checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" 10 | dependencies = [ 11 | "gimli", 12 | ] 13 | 14 | [[package]] 15 | name = "adler" 16 | version = "1.0.2" 17 | source = "registry+https://github.com/rust-lang/crates.io-index" 18 | checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" 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 = "ansi_term" 31 | version = "0.12.1" 32 | source = "registry+https://github.com/rust-lang/crates.io-index" 33 | checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" 34 | dependencies = [ 35 | "winapi", 36 | ] 37 | 38 | [[package]] 39 | name = "atomic-waker" 40 | version = "1.1.2" 41 | source = "registry+https://github.com/rust-lang/crates.io-index" 42 | checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" 43 | 44 | [[package]] 45 | name = "atty" 46 | version = "0.2.14" 47 | source = "registry+https://github.com/rust-lang/crates.io-index" 48 | checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" 49 | dependencies = [ 50 | "hermit-abi 0.1.19", 51 | "libc", 52 | "winapi", 53 | ] 54 | 55 | [[package]] 56 | name = "auto-rust" 57 | version = "0.1.5" 58 | dependencies = [ 59 | "dotenv", 60 | "hyperpolyglot", 61 | "ignore", 62 | "md5", 63 | "reqwest", 64 | "serde", 65 | "serde_derive", 66 | "serde_json", 67 | "syn", 68 | "tinytemplate", 69 | ] 70 | 71 | [[package]] 72 | name = "autocfg" 73 | version = "1.3.0" 74 | source = "registry+https://github.com/rust-lang/crates.io-index" 75 | checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" 76 | 77 | [[package]] 78 | name = "backtrace" 79 | version = "0.3.72" 80 | source = "registry+https://github.com/rust-lang/crates.io-index" 81 | checksum = "17c6a35df3749d2e8bb1b7b21a976d82b15548788d2735b9d82f329268f71a11" 82 | dependencies = [ 83 | "addr2line", 84 | "cc", 85 | "cfg-if", 86 | "libc", 87 | "miniz_oxide", 88 | "object", 89 | "rustc-demangle", 90 | ] 91 | 92 | [[package]] 93 | name = "base64" 94 | version = "0.21.7" 95 | source = "registry+https://github.com/rust-lang/crates.io-index" 96 | checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" 97 | 98 | [[package]] 99 | name = "base64" 100 | version = "0.22.1" 101 | source = "registry+https://github.com/rust-lang/crates.io-index" 102 | checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" 103 | 104 | [[package]] 105 | name = "bitflags" 106 | version = "1.3.2" 107 | source = "registry+https://github.com/rust-lang/crates.io-index" 108 | checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" 109 | 110 | [[package]] 111 | name = "bitflags" 112 | version = "2.5.0" 113 | source = "registry+https://github.com/rust-lang/crates.io-index" 114 | checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" 115 | 116 | [[package]] 117 | name = "block-buffer" 118 | version = "0.10.4" 119 | source = "registry+https://github.com/rust-lang/crates.io-index" 120 | checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" 121 | dependencies = [ 122 | "generic-array", 123 | ] 124 | 125 | [[package]] 126 | name = "bstr" 127 | version = "1.9.1" 128 | source = "registry+https://github.com/rust-lang/crates.io-index" 129 | checksum = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706" 130 | dependencies = [ 131 | "memchr", 132 | "serde", 133 | ] 134 | 135 | [[package]] 136 | name = "bumpalo" 137 | version = "3.16.0" 138 | source = "registry+https://github.com/rust-lang/crates.io-index" 139 | checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" 140 | 141 | [[package]] 142 | name = "bytes" 143 | version = "1.6.0" 144 | source = "registry+https://github.com/rust-lang/crates.io-index" 145 | checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" 146 | 147 | [[package]] 148 | name = "cc" 149 | version = "1.0.99" 150 | source = "registry+https://github.com/rust-lang/crates.io-index" 151 | checksum = "96c51067fd44124faa7f870b4b1c969379ad32b2ba805aa959430ceaa384f695" 152 | dependencies = [ 153 | "jobserver", 154 | "libc", 155 | "once_cell", 156 | ] 157 | 158 | [[package]] 159 | name = "cfg-if" 160 | version = "1.0.0" 161 | source = "registry+https://github.com/rust-lang/crates.io-index" 162 | checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" 163 | 164 | [[package]] 165 | name = "cfg_aliases" 166 | version = "0.1.1" 167 | source = "registry+https://github.com/rust-lang/crates.io-index" 168 | checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" 169 | 170 | [[package]] 171 | name = "clap" 172 | version = "2.34.0" 173 | source = "registry+https://github.com/rust-lang/crates.io-index" 174 | checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" 175 | dependencies = [ 176 | "ansi_term", 177 | "atty", 178 | "bitflags 1.3.2", 179 | "strsim", 180 | "textwrap", 181 | "unicode-width", 182 | "vec_map", 183 | ] 184 | 185 | [[package]] 186 | name = "core-foundation" 187 | version = "0.9.4" 188 | source = "registry+https://github.com/rust-lang/crates.io-index" 189 | checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" 190 | dependencies = [ 191 | "core-foundation-sys", 192 | "libc", 193 | ] 194 | 195 | [[package]] 196 | name = "core-foundation-sys" 197 | version = "0.8.6" 198 | source = "registry+https://github.com/rust-lang/crates.io-index" 199 | checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" 200 | 201 | [[package]] 202 | name = "cpufeatures" 203 | version = "0.2.12" 204 | source = "registry+https://github.com/rust-lang/crates.io-index" 205 | checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" 206 | dependencies = [ 207 | "libc", 208 | ] 209 | 210 | [[package]] 211 | name = "crossbeam-deque" 212 | version = "0.8.5" 213 | source = "registry+https://github.com/rust-lang/crates.io-index" 214 | checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" 215 | dependencies = [ 216 | "crossbeam-epoch", 217 | "crossbeam-utils", 218 | ] 219 | 220 | [[package]] 221 | name = "crossbeam-epoch" 222 | version = "0.9.18" 223 | source = "registry+https://github.com/rust-lang/crates.io-index" 224 | checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" 225 | dependencies = [ 226 | "crossbeam-utils", 227 | ] 228 | 229 | [[package]] 230 | name = "crossbeam-utils" 231 | version = "0.8.20" 232 | source = "registry+https://github.com/rust-lang/crates.io-index" 233 | checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" 234 | 235 | [[package]] 236 | name = "crypto-common" 237 | version = "0.1.6" 238 | source = "registry+https://github.com/rust-lang/crates.io-index" 239 | checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" 240 | dependencies = [ 241 | "generic-array", 242 | "typenum", 243 | ] 244 | 245 | [[package]] 246 | name = "digest" 247 | version = "0.10.7" 248 | source = "registry+https://github.com/rust-lang/crates.io-index" 249 | checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" 250 | dependencies = [ 251 | "block-buffer", 252 | "crypto-common", 253 | ] 254 | 255 | [[package]] 256 | name = "displaydoc" 257 | version = "0.2.4" 258 | source = "registry+https://github.com/rust-lang/crates.io-index" 259 | checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" 260 | dependencies = [ 261 | "proc-macro2", 262 | "quote", 263 | "syn", 264 | ] 265 | 266 | [[package]] 267 | name = "dotenv" 268 | version = "0.15.0" 269 | source = "registry+https://github.com/rust-lang/crates.io-index" 270 | checksum = "77c90badedccf4105eca100756a0b1289e191f6fcbdadd3cee1d2f614f97da8f" 271 | 272 | [[package]] 273 | name = "encoding_rs" 274 | version = "0.8.34" 275 | source = "registry+https://github.com/rust-lang/crates.io-index" 276 | checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" 277 | dependencies = [ 278 | "cfg-if", 279 | ] 280 | 281 | [[package]] 282 | name = "equivalent" 283 | version = "1.0.1" 284 | source = "registry+https://github.com/rust-lang/crates.io-index" 285 | checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" 286 | 287 | [[package]] 288 | name = "errno" 289 | version = "0.3.9" 290 | source = "registry+https://github.com/rust-lang/crates.io-index" 291 | checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" 292 | dependencies = [ 293 | "libc", 294 | "windows-sys 0.52.0", 295 | ] 296 | 297 | [[package]] 298 | name = "fastrand" 299 | version = "2.1.0" 300 | source = "registry+https://github.com/rust-lang/crates.io-index" 301 | checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" 302 | 303 | [[package]] 304 | name = "fnv" 305 | version = "1.0.7" 306 | source = "registry+https://github.com/rust-lang/crates.io-index" 307 | checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" 308 | 309 | [[package]] 310 | name = "foreign-types" 311 | version = "0.3.2" 312 | source = "registry+https://github.com/rust-lang/crates.io-index" 313 | checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" 314 | dependencies = [ 315 | "foreign-types-shared", 316 | ] 317 | 318 | [[package]] 319 | name = "foreign-types-shared" 320 | version = "0.1.1" 321 | source = "registry+https://github.com/rust-lang/crates.io-index" 322 | checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" 323 | 324 | [[package]] 325 | name = "form_urlencoded" 326 | version = "1.2.1" 327 | source = "registry+https://github.com/rust-lang/crates.io-index" 328 | checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" 329 | dependencies = [ 330 | "percent-encoding", 331 | ] 332 | 333 | [[package]] 334 | name = "futures-channel" 335 | version = "0.3.30" 336 | source = "registry+https://github.com/rust-lang/crates.io-index" 337 | checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" 338 | dependencies = [ 339 | "futures-core", 340 | "futures-sink", 341 | ] 342 | 343 | [[package]] 344 | name = "futures-core" 345 | version = "0.3.30" 346 | source = "registry+https://github.com/rust-lang/crates.io-index" 347 | checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" 348 | 349 | [[package]] 350 | name = "futures-io" 351 | version = "0.3.30" 352 | source = "registry+https://github.com/rust-lang/crates.io-index" 353 | checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" 354 | 355 | [[package]] 356 | name = "futures-macro" 357 | version = "0.3.30" 358 | source = "registry+https://github.com/rust-lang/crates.io-index" 359 | checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" 360 | dependencies = [ 361 | "proc-macro2", 362 | "quote", 363 | "syn", 364 | ] 365 | 366 | [[package]] 367 | name = "futures-sink" 368 | version = "0.3.30" 369 | source = "registry+https://github.com/rust-lang/crates.io-index" 370 | checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" 371 | 372 | [[package]] 373 | name = "futures-task" 374 | version = "0.3.30" 375 | source = "registry+https://github.com/rust-lang/crates.io-index" 376 | checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" 377 | 378 | [[package]] 379 | name = "futures-util" 380 | version = "0.3.30" 381 | source = "registry+https://github.com/rust-lang/crates.io-index" 382 | checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" 383 | dependencies = [ 384 | "futures-core", 385 | "futures-io", 386 | "futures-macro", 387 | "futures-sink", 388 | "futures-task", 389 | "memchr", 390 | "pin-project-lite", 391 | "pin-utils", 392 | "slab", 393 | ] 394 | 395 | [[package]] 396 | name = "generic-array" 397 | version = "0.14.7" 398 | source = "registry+https://github.com/rust-lang/crates.io-index" 399 | checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" 400 | dependencies = [ 401 | "typenum", 402 | "version_check", 403 | ] 404 | 405 | [[package]] 406 | name = "getrandom" 407 | version = "0.1.16" 408 | source = "registry+https://github.com/rust-lang/crates.io-index" 409 | checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" 410 | dependencies = [ 411 | "cfg-if", 412 | "libc", 413 | "wasi 0.9.0+wasi-snapshot-preview1", 414 | ] 415 | 416 | [[package]] 417 | name = "gimli" 418 | version = "0.29.0" 419 | source = "registry+https://github.com/rust-lang/crates.io-index" 420 | checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" 421 | 422 | [[package]] 423 | name = "globset" 424 | version = "0.4.14" 425 | source = "registry+https://github.com/rust-lang/crates.io-index" 426 | checksum = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1" 427 | dependencies = [ 428 | "aho-corasick", 429 | "bstr", 430 | "log", 431 | "regex-automata", 432 | "regex-syntax", 433 | ] 434 | 435 | [[package]] 436 | name = "h2" 437 | version = "0.4.5" 438 | source = "registry+https://github.com/rust-lang/crates.io-index" 439 | checksum = "fa82e28a107a8cc405f0839610bdc9b15f1e25ec7d696aa5cf173edbcb1486ab" 440 | dependencies = [ 441 | "atomic-waker", 442 | "bytes", 443 | "fnv", 444 | "futures-core", 445 | "futures-sink", 446 | "http", 447 | "indexmap 2.2.6", 448 | "slab", 449 | "tokio", 450 | "tokio-util", 451 | "tracing", 452 | ] 453 | 454 | [[package]] 455 | name = "hashbrown" 456 | version = "0.12.3" 457 | source = "registry+https://github.com/rust-lang/crates.io-index" 458 | checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" 459 | 460 | [[package]] 461 | name = "hashbrown" 462 | version = "0.14.5" 463 | source = "registry+https://github.com/rust-lang/crates.io-index" 464 | checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" 465 | 466 | [[package]] 467 | name = "headers" 468 | version = "0.4.0" 469 | source = "registry+https://github.com/rust-lang/crates.io-index" 470 | checksum = "322106e6bd0cba2d5ead589ddb8150a13d7c4217cf80d7c4f682ca994ccc6aa9" 471 | dependencies = [ 472 | "base64 0.21.7", 473 | "bytes", 474 | "headers-core", 475 | "http", 476 | "httpdate", 477 | "mime", 478 | "sha1", 479 | ] 480 | 481 | [[package]] 482 | name = "headers-core" 483 | version = "0.3.0" 484 | source = "registry+https://github.com/rust-lang/crates.io-index" 485 | checksum = "54b4a22553d4242c49fddb9ba998a99962b5cc6f22cb5a3482bec22522403ce4" 486 | dependencies = [ 487 | "http", 488 | ] 489 | 490 | [[package]] 491 | name = "hermit-abi" 492 | version = "0.1.19" 493 | source = "registry+https://github.com/rust-lang/crates.io-index" 494 | checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" 495 | dependencies = [ 496 | "libc", 497 | ] 498 | 499 | [[package]] 500 | name = "hermit-abi" 501 | version = "0.3.9" 502 | source = "registry+https://github.com/rust-lang/crates.io-index" 503 | checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" 504 | 505 | [[package]] 506 | name = "http" 507 | version = "1.1.0" 508 | source = "registry+https://github.com/rust-lang/crates.io-index" 509 | checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" 510 | dependencies = [ 511 | "bytes", 512 | "fnv", 513 | "itoa", 514 | ] 515 | 516 | [[package]] 517 | name = "http-body" 518 | version = "1.0.0" 519 | source = "registry+https://github.com/rust-lang/crates.io-index" 520 | checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643" 521 | dependencies = [ 522 | "bytes", 523 | "http", 524 | ] 525 | 526 | [[package]] 527 | name = "http-body-util" 528 | version = "0.1.2" 529 | source = "registry+https://github.com/rust-lang/crates.io-index" 530 | checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" 531 | dependencies = [ 532 | "bytes", 533 | "futures-util", 534 | "http", 535 | "http-body", 536 | "pin-project-lite", 537 | ] 538 | 539 | [[package]] 540 | name = "httparse" 541 | version = "1.9.2" 542 | source = "registry+https://github.com/rust-lang/crates.io-index" 543 | checksum = "9f3935c160d00ac752e09787e6e6bfc26494c2183cc922f1bc678a60d4733bc2" 544 | 545 | [[package]] 546 | name = "httpdate" 547 | version = "1.0.3" 548 | source = "registry+https://github.com/rust-lang/crates.io-index" 549 | checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" 550 | 551 | [[package]] 552 | name = "hyper" 553 | version = "1.3.1" 554 | source = "registry+https://github.com/rust-lang/crates.io-index" 555 | checksum = "fe575dd17d0862a9a33781c8c4696a55c320909004a67a00fb286ba8b1bc496d" 556 | dependencies = [ 557 | "bytes", 558 | "futures-channel", 559 | "futures-util", 560 | "h2", 561 | "http", 562 | "http-body", 563 | "httparse", 564 | "httpdate", 565 | "itoa", 566 | "pin-project-lite", 567 | "smallvec", 568 | "tokio", 569 | "want", 570 | ] 571 | 572 | [[package]] 573 | name = "hyper-tls" 574 | version = "0.6.0" 575 | source = "registry+https://github.com/rust-lang/crates.io-index" 576 | checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" 577 | dependencies = [ 578 | "bytes", 579 | "http-body-util", 580 | "hyper", 581 | "hyper-util", 582 | "native-tls", 583 | "tokio", 584 | "tokio-native-tls", 585 | "tower-service", 586 | ] 587 | 588 | [[package]] 589 | name = "hyper-util" 590 | version = "0.1.5" 591 | source = "registry+https://github.com/rust-lang/crates.io-index" 592 | checksum = "7b875924a60b96e5d7b9ae7b066540b1dd1cbd90d1828f54c92e02a283351c56" 593 | dependencies = [ 594 | "bytes", 595 | "futures-channel", 596 | "futures-util", 597 | "http", 598 | "http-body", 599 | "hyper", 600 | "pin-project-lite", 601 | "socket2", 602 | "tokio", 603 | "tower", 604 | "tower-service", 605 | "tracing", 606 | ] 607 | 608 | [[package]] 609 | name = "hyperpolyglot" 610 | version = "0.1.7" 611 | source = "registry+https://github.com/rust-lang/crates.io-index" 612 | checksum = "da03ba9199e5f86b1578b2bd0ce19c25d44e153b8305a0a54da6d8fa0b66360d" 613 | dependencies = [ 614 | "clap", 615 | "ignore", 616 | "lazy_static", 617 | "num_cpus", 618 | "pcre2", 619 | "phf", 620 | "phf_codegen", 621 | "polyglot_tokenizer", 622 | "regex", 623 | "serde", 624 | "serde_yaml", 625 | "termcolor", 626 | ] 627 | 628 | [[package]] 629 | name = "icu_collections" 630 | version = "1.5.0" 631 | source = "registry+https://github.com/rust-lang/crates.io-index" 632 | checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" 633 | dependencies = [ 634 | "displaydoc", 635 | "yoke", 636 | "zerofrom", 637 | "zerovec", 638 | ] 639 | 640 | [[package]] 641 | name = "icu_locid" 642 | version = "1.5.0" 643 | source = "registry+https://github.com/rust-lang/crates.io-index" 644 | checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" 645 | dependencies = [ 646 | "displaydoc", 647 | "litemap", 648 | "tinystr", 649 | "writeable", 650 | "zerovec", 651 | ] 652 | 653 | [[package]] 654 | name = "icu_locid_transform" 655 | version = "1.5.0" 656 | source = "registry+https://github.com/rust-lang/crates.io-index" 657 | checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" 658 | dependencies = [ 659 | "displaydoc", 660 | "icu_locid", 661 | "icu_locid_transform_data", 662 | "icu_provider", 663 | "tinystr", 664 | "zerovec", 665 | ] 666 | 667 | [[package]] 668 | name = "icu_locid_transform_data" 669 | version = "1.5.0" 670 | source = "registry+https://github.com/rust-lang/crates.io-index" 671 | checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" 672 | 673 | [[package]] 674 | name = "icu_normalizer" 675 | version = "1.5.0" 676 | source = "registry+https://github.com/rust-lang/crates.io-index" 677 | checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" 678 | dependencies = [ 679 | "displaydoc", 680 | "icu_collections", 681 | "icu_normalizer_data", 682 | "icu_properties", 683 | "icu_provider", 684 | "smallvec", 685 | "utf16_iter", 686 | "utf8_iter", 687 | "write16", 688 | "zerovec", 689 | ] 690 | 691 | [[package]] 692 | name = "icu_normalizer_data" 693 | version = "1.5.0" 694 | source = "registry+https://github.com/rust-lang/crates.io-index" 695 | checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" 696 | 697 | [[package]] 698 | name = "icu_properties" 699 | version = "1.5.0" 700 | source = "registry+https://github.com/rust-lang/crates.io-index" 701 | checksum = "1f8ac670d7422d7f76b32e17a5db556510825b29ec9154f235977c9caba61036" 702 | dependencies = [ 703 | "displaydoc", 704 | "icu_collections", 705 | "icu_locid_transform", 706 | "icu_properties_data", 707 | "icu_provider", 708 | "tinystr", 709 | "zerovec", 710 | ] 711 | 712 | [[package]] 713 | name = "icu_properties_data" 714 | version = "1.5.0" 715 | source = "registry+https://github.com/rust-lang/crates.io-index" 716 | checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" 717 | 718 | [[package]] 719 | name = "icu_provider" 720 | version = "1.5.0" 721 | source = "registry+https://github.com/rust-lang/crates.io-index" 722 | checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" 723 | dependencies = [ 724 | "displaydoc", 725 | "icu_locid", 726 | "icu_provider_macros", 727 | "stable_deref_trait", 728 | "tinystr", 729 | "writeable", 730 | "yoke", 731 | "zerofrom", 732 | "zerovec", 733 | ] 734 | 735 | [[package]] 736 | name = "icu_provider_macros" 737 | version = "1.5.0" 738 | source = "registry+https://github.com/rust-lang/crates.io-index" 739 | checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" 740 | dependencies = [ 741 | "proc-macro2", 742 | "quote", 743 | "syn", 744 | ] 745 | 746 | [[package]] 747 | name = "idna" 748 | version = "1.0.0" 749 | source = "registry+https://github.com/rust-lang/crates.io-index" 750 | checksum = "4716a3a0933a1d01c2f72450e89596eb51dd34ef3c211ccd875acdf1f8fe47ed" 751 | dependencies = [ 752 | "icu_normalizer", 753 | "icu_properties", 754 | "smallvec", 755 | "utf8_iter", 756 | ] 757 | 758 | [[package]] 759 | name = "ignore" 760 | version = "0.4.22" 761 | source = "registry+https://github.com/rust-lang/crates.io-index" 762 | checksum = "b46810df39e66e925525d6e38ce1e7f6e1d208f72dc39757880fcb66e2c58af1" 763 | dependencies = [ 764 | "crossbeam-deque", 765 | "globset", 766 | "log", 767 | "memchr", 768 | "regex-automata", 769 | "same-file", 770 | "walkdir", 771 | "winapi-util", 772 | ] 773 | 774 | [[package]] 775 | name = "indexmap" 776 | version = "1.9.3" 777 | source = "registry+https://github.com/rust-lang/crates.io-index" 778 | checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" 779 | dependencies = [ 780 | "autocfg", 781 | "hashbrown 0.12.3", 782 | ] 783 | 784 | [[package]] 785 | name = "indexmap" 786 | version = "2.2.6" 787 | source = "registry+https://github.com/rust-lang/crates.io-index" 788 | checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" 789 | dependencies = [ 790 | "equivalent", 791 | "hashbrown 0.14.5", 792 | ] 793 | 794 | [[package]] 795 | name = "ipnet" 796 | version = "2.9.0" 797 | source = "registry+https://github.com/rust-lang/crates.io-index" 798 | checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" 799 | 800 | [[package]] 801 | name = "itoa" 802 | version = "1.0.11" 803 | source = "registry+https://github.com/rust-lang/crates.io-index" 804 | checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" 805 | 806 | [[package]] 807 | name = "jobserver" 808 | version = "0.1.31" 809 | source = "registry+https://github.com/rust-lang/crates.io-index" 810 | checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e" 811 | dependencies = [ 812 | "libc", 813 | ] 814 | 815 | [[package]] 816 | name = "js-sys" 817 | version = "0.3.69" 818 | source = "registry+https://github.com/rust-lang/crates.io-index" 819 | checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" 820 | dependencies = [ 821 | "wasm-bindgen", 822 | ] 823 | 824 | [[package]] 825 | name = "lazy_static" 826 | version = "1.4.0" 827 | source = "registry+https://github.com/rust-lang/crates.io-index" 828 | checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" 829 | 830 | [[package]] 831 | name = "libc" 832 | version = "0.2.155" 833 | source = "registry+https://github.com/rust-lang/crates.io-index" 834 | checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" 835 | 836 | [[package]] 837 | name = "linked-hash-map" 838 | version = "0.5.6" 839 | source = "registry+https://github.com/rust-lang/crates.io-index" 840 | checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" 841 | 842 | [[package]] 843 | name = "linux-raw-sys" 844 | version = "0.4.14" 845 | source = "registry+https://github.com/rust-lang/crates.io-index" 846 | checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" 847 | 848 | [[package]] 849 | name = "litemap" 850 | version = "0.7.3" 851 | source = "registry+https://github.com/rust-lang/crates.io-index" 852 | checksum = "643cb0b8d4fcc284004d5fd0d67ccf61dfffadb7f75e1e71bc420f4688a3a704" 853 | 854 | [[package]] 855 | name = "lock_api" 856 | version = "0.4.12" 857 | source = "registry+https://github.com/rust-lang/crates.io-index" 858 | checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" 859 | dependencies = [ 860 | "autocfg", 861 | "scopeguard", 862 | ] 863 | 864 | [[package]] 865 | name = "log" 866 | version = "0.4.21" 867 | source = "registry+https://github.com/rust-lang/crates.io-index" 868 | checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" 869 | 870 | [[package]] 871 | name = "md5" 872 | version = "0.7.0" 873 | source = "registry+https://github.com/rust-lang/crates.io-index" 874 | checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771" 875 | 876 | [[package]] 877 | name = "memchr" 878 | version = "2.7.2" 879 | source = "registry+https://github.com/rust-lang/crates.io-index" 880 | checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" 881 | 882 | [[package]] 883 | name = "mime" 884 | version = "0.3.17" 885 | source = "registry+https://github.com/rust-lang/crates.io-index" 886 | checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" 887 | 888 | [[package]] 889 | name = "miniz_oxide" 890 | version = "0.7.3" 891 | source = "registry+https://github.com/rust-lang/crates.io-index" 892 | checksum = "87dfd01fe195c66b572b37921ad8803d010623c0aca821bea2302239d155cdae" 893 | dependencies = [ 894 | "adler", 895 | ] 896 | 897 | [[package]] 898 | name = "mio" 899 | version = "0.8.11" 900 | source = "registry+https://github.com/rust-lang/crates.io-index" 901 | checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" 902 | dependencies = [ 903 | "libc", 904 | "wasi 0.11.0+wasi-snapshot-preview1", 905 | "windows-sys 0.48.0", 906 | ] 907 | 908 | [[package]] 909 | name = "native-tls" 910 | version = "0.2.12" 911 | source = "registry+https://github.com/rust-lang/crates.io-index" 912 | checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" 913 | dependencies = [ 914 | "libc", 915 | "log", 916 | "openssl", 917 | "openssl-probe", 918 | "openssl-sys", 919 | "schannel", 920 | "security-framework", 921 | "security-framework-sys", 922 | "tempfile", 923 | ] 924 | 925 | [[package]] 926 | name = "nix" 927 | version = "0.28.0" 928 | source = "registry+https://github.com/rust-lang/crates.io-index" 929 | checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4" 930 | dependencies = [ 931 | "bitflags 2.5.0", 932 | "cfg-if", 933 | "cfg_aliases", 934 | "libc", 935 | ] 936 | 937 | [[package]] 938 | name = "num_cpus" 939 | version = "1.16.0" 940 | source = "registry+https://github.com/rust-lang/crates.io-index" 941 | checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" 942 | dependencies = [ 943 | "hermit-abi 0.3.9", 944 | "libc", 945 | ] 946 | 947 | [[package]] 948 | name = "object" 949 | version = "0.35.0" 950 | source = "registry+https://github.com/rust-lang/crates.io-index" 951 | checksum = "b8ec7ab813848ba4522158d5517a6093db1ded27575b070f4177b8d12b41db5e" 952 | dependencies = [ 953 | "memchr", 954 | ] 955 | 956 | [[package]] 957 | name = "once_cell" 958 | version = "1.19.0" 959 | source = "registry+https://github.com/rust-lang/crates.io-index" 960 | checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" 961 | 962 | [[package]] 963 | name = "openssl" 964 | version = "0.10.64" 965 | source = "registry+https://github.com/rust-lang/crates.io-index" 966 | checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f" 967 | dependencies = [ 968 | "bitflags 2.5.0", 969 | "cfg-if", 970 | "foreign-types", 971 | "libc", 972 | "once_cell", 973 | "openssl-macros", 974 | "openssl-sys", 975 | ] 976 | 977 | [[package]] 978 | name = "openssl-macros" 979 | version = "0.1.1" 980 | source = "registry+https://github.com/rust-lang/crates.io-index" 981 | checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" 982 | dependencies = [ 983 | "proc-macro2", 984 | "quote", 985 | "syn", 986 | ] 987 | 988 | [[package]] 989 | name = "openssl-probe" 990 | version = "0.1.5" 991 | source = "registry+https://github.com/rust-lang/crates.io-index" 992 | checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" 993 | 994 | [[package]] 995 | name = "openssl-sys" 996 | version = "0.9.102" 997 | source = "registry+https://github.com/rust-lang/crates.io-index" 998 | checksum = "c597637d56fbc83893a35eb0dd04b2b8e7a50c91e64e9493e398b5df4fb45fa2" 999 | dependencies = [ 1000 | "cc", 1001 | "libc", 1002 | "pkg-config", 1003 | "vcpkg", 1004 | ] 1005 | 1006 | [[package]] 1007 | name = "parking_lot" 1008 | version = "0.12.3" 1009 | source = "registry+https://github.com/rust-lang/crates.io-index" 1010 | checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" 1011 | dependencies = [ 1012 | "lock_api", 1013 | "parking_lot_core", 1014 | ] 1015 | 1016 | [[package]] 1017 | name = "parking_lot_core" 1018 | version = "0.9.10" 1019 | source = "registry+https://github.com/rust-lang/crates.io-index" 1020 | checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" 1021 | dependencies = [ 1022 | "cfg-if", 1023 | "libc", 1024 | "redox_syscall", 1025 | "smallvec", 1026 | "windows-targets 0.52.5", 1027 | ] 1028 | 1029 | [[package]] 1030 | name = "pcre2" 1031 | version = "0.2.7" 1032 | source = "registry+https://github.com/rust-lang/crates.io-index" 1033 | checksum = "5ea92ff5eabd27703ab12cefe01b08b2809ec3dc75fdc69d4e6b75fbce0cbd67" 1034 | dependencies = [ 1035 | "libc", 1036 | "log", 1037 | "pcre2-sys", 1038 | ] 1039 | 1040 | [[package]] 1041 | name = "pcre2-sys" 1042 | version = "0.2.9" 1043 | source = "registry+https://github.com/rust-lang/crates.io-index" 1044 | checksum = "550f5d18fb1b90c20b87e161852c10cde77858c3900c5059b5ad2a1449f11d8a" 1045 | dependencies = [ 1046 | "cc", 1047 | "libc", 1048 | "pkg-config", 1049 | ] 1050 | 1051 | [[package]] 1052 | name = "percent-encoding" 1053 | version = "2.3.1" 1054 | source = "registry+https://github.com/rust-lang/crates.io-index" 1055 | checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" 1056 | 1057 | [[package]] 1058 | name = "phf" 1059 | version = "0.8.0" 1060 | source = "registry+https://github.com/rust-lang/crates.io-index" 1061 | checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12" 1062 | dependencies = [ 1063 | "phf_shared", 1064 | ] 1065 | 1066 | [[package]] 1067 | name = "phf_codegen" 1068 | version = "0.8.0" 1069 | source = "registry+https://github.com/rust-lang/crates.io-index" 1070 | checksum = "cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815" 1071 | dependencies = [ 1072 | "phf_generator", 1073 | "phf_shared", 1074 | ] 1075 | 1076 | [[package]] 1077 | name = "phf_generator" 1078 | version = "0.8.0" 1079 | source = "registry+https://github.com/rust-lang/crates.io-index" 1080 | checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526" 1081 | dependencies = [ 1082 | "phf_shared", 1083 | "rand", 1084 | ] 1085 | 1086 | [[package]] 1087 | name = "phf_shared" 1088 | version = "0.8.0" 1089 | source = "registry+https://github.com/rust-lang/crates.io-index" 1090 | checksum = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7" 1091 | dependencies = [ 1092 | "siphasher", 1093 | ] 1094 | 1095 | [[package]] 1096 | name = "pin-project" 1097 | version = "1.1.5" 1098 | source = "registry+https://github.com/rust-lang/crates.io-index" 1099 | checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" 1100 | dependencies = [ 1101 | "pin-project-internal", 1102 | ] 1103 | 1104 | [[package]] 1105 | name = "pin-project-internal" 1106 | version = "1.1.5" 1107 | source = "registry+https://github.com/rust-lang/crates.io-index" 1108 | checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" 1109 | dependencies = [ 1110 | "proc-macro2", 1111 | "quote", 1112 | "syn", 1113 | ] 1114 | 1115 | [[package]] 1116 | name = "pin-project-lite" 1117 | version = "0.2.14" 1118 | source = "registry+https://github.com/rust-lang/crates.io-index" 1119 | checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" 1120 | 1121 | [[package]] 1122 | name = "pin-utils" 1123 | version = "0.1.0" 1124 | source = "registry+https://github.com/rust-lang/crates.io-index" 1125 | checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" 1126 | 1127 | [[package]] 1128 | name = "pkg-config" 1129 | version = "0.3.30" 1130 | source = "registry+https://github.com/rust-lang/crates.io-index" 1131 | checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" 1132 | 1133 | [[package]] 1134 | name = "poem" 1135 | version = "3.0.1" 1136 | source = "registry+https://github.com/rust-lang/crates.io-index" 1137 | checksum = "e88b6912ed1e8833d7c22c9c986c517f4518d7d37e3c04566d917c789aaea591" 1138 | dependencies = [ 1139 | "bytes", 1140 | "futures-util", 1141 | "headers", 1142 | "http", 1143 | "http-body-util", 1144 | "hyper", 1145 | "hyper-util", 1146 | "mime", 1147 | "nix", 1148 | "parking_lot", 1149 | "percent-encoding", 1150 | "pin-project-lite", 1151 | "poem-derive", 1152 | "regex", 1153 | "rfc7239", 1154 | "serde", 1155 | "serde_json", 1156 | "serde_urlencoded", 1157 | "smallvec", 1158 | "sync_wrapper 1.0.1", 1159 | "thiserror", 1160 | "tokio", 1161 | "tokio-util", 1162 | "tracing", 1163 | "wildmatch", 1164 | ] 1165 | 1166 | [[package]] 1167 | name = "poem-derive" 1168 | version = "3.0.0" 1169 | source = "registry+https://github.com/rust-lang/crates.io-index" 1170 | checksum = "c2b961d58a6c53380c20236394381d9292fda03577f902b158f1638932964dcf" 1171 | dependencies = [ 1172 | "proc-macro-crate", 1173 | "proc-macro2", 1174 | "quote", 1175 | "syn", 1176 | ] 1177 | 1178 | [[package]] 1179 | name = "polyglot_tokenizer" 1180 | version = "0.2.1" 1181 | source = "registry+https://github.com/rust-lang/crates.io-index" 1182 | checksum = "d6091586d3c58239b154276ca7d7a14035605b829a27b92dbe10625e78ef909d" 1183 | 1184 | [[package]] 1185 | name = "ppv-lite86" 1186 | version = "0.2.17" 1187 | source = "registry+https://github.com/rust-lang/crates.io-index" 1188 | checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" 1189 | 1190 | [[package]] 1191 | name = "proc-macro-crate" 1192 | version = "3.1.0" 1193 | source = "registry+https://github.com/rust-lang/crates.io-index" 1194 | checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" 1195 | dependencies = [ 1196 | "toml_edit", 1197 | ] 1198 | 1199 | [[package]] 1200 | name = "proc-macro2" 1201 | version = "1.0.85" 1202 | source = "registry+https://github.com/rust-lang/crates.io-index" 1203 | checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23" 1204 | dependencies = [ 1205 | "unicode-ident", 1206 | ] 1207 | 1208 | [[package]] 1209 | name = "quote" 1210 | version = "1.0.36" 1211 | source = "registry+https://github.com/rust-lang/crates.io-index" 1212 | checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" 1213 | dependencies = [ 1214 | "proc-macro2", 1215 | ] 1216 | 1217 | [[package]] 1218 | name = "rand" 1219 | version = "0.7.3" 1220 | source = "registry+https://github.com/rust-lang/crates.io-index" 1221 | checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" 1222 | dependencies = [ 1223 | "getrandom", 1224 | "libc", 1225 | "rand_chacha", 1226 | "rand_core", 1227 | "rand_hc", 1228 | "rand_pcg", 1229 | ] 1230 | 1231 | [[package]] 1232 | name = "rand_chacha" 1233 | version = "0.2.2" 1234 | source = "registry+https://github.com/rust-lang/crates.io-index" 1235 | checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" 1236 | dependencies = [ 1237 | "ppv-lite86", 1238 | "rand_core", 1239 | ] 1240 | 1241 | [[package]] 1242 | name = "rand_core" 1243 | version = "0.5.1" 1244 | source = "registry+https://github.com/rust-lang/crates.io-index" 1245 | checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" 1246 | dependencies = [ 1247 | "getrandom", 1248 | ] 1249 | 1250 | [[package]] 1251 | name = "rand_hc" 1252 | version = "0.2.0" 1253 | source = "registry+https://github.com/rust-lang/crates.io-index" 1254 | checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" 1255 | dependencies = [ 1256 | "rand_core", 1257 | ] 1258 | 1259 | [[package]] 1260 | name = "rand_pcg" 1261 | version = "0.2.1" 1262 | source = "registry+https://github.com/rust-lang/crates.io-index" 1263 | checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429" 1264 | dependencies = [ 1265 | "rand_core", 1266 | ] 1267 | 1268 | [[package]] 1269 | name = "redox_syscall" 1270 | version = "0.5.1" 1271 | source = "registry+https://github.com/rust-lang/crates.io-index" 1272 | checksum = "469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e" 1273 | dependencies = [ 1274 | "bitflags 2.5.0", 1275 | ] 1276 | 1277 | [[package]] 1278 | name = "regex" 1279 | version = "1.10.5" 1280 | source = "registry+https://github.com/rust-lang/crates.io-index" 1281 | checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" 1282 | dependencies = [ 1283 | "aho-corasick", 1284 | "memchr", 1285 | "regex-automata", 1286 | "regex-syntax", 1287 | ] 1288 | 1289 | [[package]] 1290 | name = "regex-automata" 1291 | version = "0.4.7" 1292 | source = "registry+https://github.com/rust-lang/crates.io-index" 1293 | checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" 1294 | dependencies = [ 1295 | "aho-corasick", 1296 | "memchr", 1297 | "regex-syntax", 1298 | ] 1299 | 1300 | [[package]] 1301 | name = "regex-syntax" 1302 | version = "0.8.4" 1303 | source = "registry+https://github.com/rust-lang/crates.io-index" 1304 | checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" 1305 | 1306 | [[package]] 1307 | name = "reqwest" 1308 | version = "0.12.4" 1309 | source = "registry+https://github.com/rust-lang/crates.io-index" 1310 | checksum = "566cafdd92868e0939d3fb961bd0dc25fcfaaed179291093b3d43e6b3150ea10" 1311 | dependencies = [ 1312 | "base64 0.22.1", 1313 | "bytes", 1314 | "encoding_rs", 1315 | "futures-channel", 1316 | "futures-core", 1317 | "futures-util", 1318 | "h2", 1319 | "http", 1320 | "http-body", 1321 | "http-body-util", 1322 | "hyper", 1323 | "hyper-tls", 1324 | "hyper-util", 1325 | "ipnet", 1326 | "js-sys", 1327 | "log", 1328 | "mime", 1329 | "native-tls", 1330 | "once_cell", 1331 | "percent-encoding", 1332 | "pin-project-lite", 1333 | "rustls-pemfile", 1334 | "serde", 1335 | "serde_json", 1336 | "serde_urlencoded", 1337 | "sync_wrapper 0.1.2", 1338 | "system-configuration", 1339 | "tokio", 1340 | "tokio-native-tls", 1341 | "tower-service", 1342 | "url", 1343 | "wasm-bindgen", 1344 | "wasm-bindgen-futures", 1345 | "web-sys", 1346 | "winreg", 1347 | ] 1348 | 1349 | [[package]] 1350 | name = "rfc7239" 1351 | version = "0.1.1" 1352 | source = "registry+https://github.com/rust-lang/crates.io-index" 1353 | checksum = "b106a85eeb5b0336d16d6a20eab857f92861d4fbb1eb9a239866fb98fb6a1063" 1354 | dependencies = [ 1355 | "uncased", 1356 | ] 1357 | 1358 | [[package]] 1359 | name = "rustc-demangle" 1360 | version = "0.1.24" 1361 | source = "registry+https://github.com/rust-lang/crates.io-index" 1362 | checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" 1363 | 1364 | [[package]] 1365 | name = "rustix" 1366 | version = "0.38.34" 1367 | source = "registry+https://github.com/rust-lang/crates.io-index" 1368 | checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" 1369 | dependencies = [ 1370 | "bitflags 2.5.0", 1371 | "errno", 1372 | "libc", 1373 | "linux-raw-sys", 1374 | "windows-sys 0.52.0", 1375 | ] 1376 | 1377 | [[package]] 1378 | name = "rustls-pemfile" 1379 | version = "2.1.2" 1380 | source = "registry+https://github.com/rust-lang/crates.io-index" 1381 | checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d" 1382 | dependencies = [ 1383 | "base64 0.22.1", 1384 | "rustls-pki-types", 1385 | ] 1386 | 1387 | [[package]] 1388 | name = "rustls-pki-types" 1389 | version = "1.7.0" 1390 | source = "registry+https://github.com/rust-lang/crates.io-index" 1391 | checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d" 1392 | 1393 | [[package]] 1394 | name = "ryu" 1395 | version = "1.0.18" 1396 | source = "registry+https://github.com/rust-lang/crates.io-index" 1397 | checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" 1398 | 1399 | [[package]] 1400 | name = "same-file" 1401 | version = "1.0.6" 1402 | source = "registry+https://github.com/rust-lang/crates.io-index" 1403 | checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" 1404 | dependencies = [ 1405 | "winapi-util", 1406 | ] 1407 | 1408 | [[package]] 1409 | name = "schannel" 1410 | version = "0.1.23" 1411 | source = "registry+https://github.com/rust-lang/crates.io-index" 1412 | checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" 1413 | dependencies = [ 1414 | "windows-sys 0.52.0", 1415 | ] 1416 | 1417 | [[package]] 1418 | name = "scopeguard" 1419 | version = "1.2.0" 1420 | source = "registry+https://github.com/rust-lang/crates.io-index" 1421 | checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" 1422 | 1423 | [[package]] 1424 | name = "security-framework" 1425 | version = "2.11.0" 1426 | source = "registry+https://github.com/rust-lang/crates.io-index" 1427 | checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0" 1428 | dependencies = [ 1429 | "bitflags 2.5.0", 1430 | "core-foundation", 1431 | "core-foundation-sys", 1432 | "libc", 1433 | "security-framework-sys", 1434 | ] 1435 | 1436 | [[package]] 1437 | name = "security-framework-sys" 1438 | version = "2.11.0" 1439 | source = "registry+https://github.com/rust-lang/crates.io-index" 1440 | checksum = "317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7" 1441 | dependencies = [ 1442 | "core-foundation-sys", 1443 | "libc", 1444 | ] 1445 | 1446 | [[package]] 1447 | name = "serde" 1448 | version = "1.0.203" 1449 | source = "registry+https://github.com/rust-lang/crates.io-index" 1450 | checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" 1451 | dependencies = [ 1452 | "serde_derive", 1453 | ] 1454 | 1455 | [[package]] 1456 | name = "serde_derive" 1457 | version = "1.0.203" 1458 | source = "registry+https://github.com/rust-lang/crates.io-index" 1459 | checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" 1460 | dependencies = [ 1461 | "proc-macro2", 1462 | "quote", 1463 | "syn", 1464 | ] 1465 | 1466 | [[package]] 1467 | name = "serde_json" 1468 | version = "1.0.117" 1469 | source = "registry+https://github.com/rust-lang/crates.io-index" 1470 | checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" 1471 | dependencies = [ 1472 | "itoa", 1473 | "ryu", 1474 | "serde", 1475 | ] 1476 | 1477 | [[package]] 1478 | name = "serde_urlencoded" 1479 | version = "0.7.1" 1480 | source = "registry+https://github.com/rust-lang/crates.io-index" 1481 | checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" 1482 | dependencies = [ 1483 | "form_urlencoded", 1484 | "itoa", 1485 | "ryu", 1486 | "serde", 1487 | ] 1488 | 1489 | [[package]] 1490 | name = "serde_yaml" 1491 | version = "0.8.26" 1492 | source = "registry+https://github.com/rust-lang/crates.io-index" 1493 | checksum = "578a7433b776b56a35785ed5ce9a7e777ac0598aac5a6dd1b4b18a307c7fc71b" 1494 | dependencies = [ 1495 | "indexmap 1.9.3", 1496 | "ryu", 1497 | "serde", 1498 | "yaml-rust", 1499 | ] 1500 | 1501 | [[package]] 1502 | name = "server" 1503 | version = "0.1.0" 1504 | dependencies = [ 1505 | "auto-rust", 1506 | "poem", 1507 | "tokio", 1508 | ] 1509 | 1510 | [[package]] 1511 | name = "sha1" 1512 | version = "0.10.6" 1513 | source = "registry+https://github.com/rust-lang/crates.io-index" 1514 | checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" 1515 | dependencies = [ 1516 | "cfg-if", 1517 | "cpufeatures", 1518 | "digest", 1519 | ] 1520 | 1521 | [[package]] 1522 | name = "signal-hook-registry" 1523 | version = "1.4.2" 1524 | source = "registry+https://github.com/rust-lang/crates.io-index" 1525 | checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" 1526 | dependencies = [ 1527 | "libc", 1528 | ] 1529 | 1530 | [[package]] 1531 | name = "siphasher" 1532 | version = "0.3.11" 1533 | source = "registry+https://github.com/rust-lang/crates.io-index" 1534 | checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" 1535 | 1536 | [[package]] 1537 | name = "slab" 1538 | version = "0.4.9" 1539 | source = "registry+https://github.com/rust-lang/crates.io-index" 1540 | checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" 1541 | dependencies = [ 1542 | "autocfg", 1543 | ] 1544 | 1545 | [[package]] 1546 | name = "smallvec" 1547 | version = "1.13.2" 1548 | source = "registry+https://github.com/rust-lang/crates.io-index" 1549 | checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" 1550 | 1551 | [[package]] 1552 | name = "socket2" 1553 | version = "0.5.7" 1554 | source = "registry+https://github.com/rust-lang/crates.io-index" 1555 | checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" 1556 | dependencies = [ 1557 | "libc", 1558 | "windows-sys 0.52.0", 1559 | ] 1560 | 1561 | [[package]] 1562 | name = "stable_deref_trait" 1563 | version = "1.2.0" 1564 | source = "registry+https://github.com/rust-lang/crates.io-index" 1565 | checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" 1566 | 1567 | [[package]] 1568 | name = "strsim" 1569 | version = "0.8.0" 1570 | source = "registry+https://github.com/rust-lang/crates.io-index" 1571 | checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" 1572 | 1573 | [[package]] 1574 | name = "syn" 1575 | version = "2.0.66" 1576 | source = "registry+https://github.com/rust-lang/crates.io-index" 1577 | checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5" 1578 | dependencies = [ 1579 | "proc-macro2", 1580 | "quote", 1581 | "unicode-ident", 1582 | ] 1583 | 1584 | [[package]] 1585 | name = "sync_wrapper" 1586 | version = "0.1.2" 1587 | source = "registry+https://github.com/rust-lang/crates.io-index" 1588 | checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" 1589 | 1590 | [[package]] 1591 | name = "sync_wrapper" 1592 | version = "1.0.1" 1593 | source = "registry+https://github.com/rust-lang/crates.io-index" 1594 | checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" 1595 | dependencies = [ 1596 | "futures-core", 1597 | ] 1598 | 1599 | [[package]] 1600 | name = "synstructure" 1601 | version = "0.13.1" 1602 | source = "registry+https://github.com/rust-lang/crates.io-index" 1603 | checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" 1604 | dependencies = [ 1605 | "proc-macro2", 1606 | "quote", 1607 | "syn", 1608 | ] 1609 | 1610 | [[package]] 1611 | name = "system-configuration" 1612 | version = "0.5.1" 1613 | source = "registry+https://github.com/rust-lang/crates.io-index" 1614 | checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" 1615 | dependencies = [ 1616 | "bitflags 1.3.2", 1617 | "core-foundation", 1618 | "system-configuration-sys", 1619 | ] 1620 | 1621 | [[package]] 1622 | name = "system-configuration-sys" 1623 | version = "0.5.0" 1624 | source = "registry+https://github.com/rust-lang/crates.io-index" 1625 | checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" 1626 | dependencies = [ 1627 | "core-foundation-sys", 1628 | "libc", 1629 | ] 1630 | 1631 | [[package]] 1632 | name = "tempfile" 1633 | version = "3.10.1" 1634 | source = "registry+https://github.com/rust-lang/crates.io-index" 1635 | checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" 1636 | dependencies = [ 1637 | "cfg-if", 1638 | "fastrand", 1639 | "rustix", 1640 | "windows-sys 0.52.0", 1641 | ] 1642 | 1643 | [[package]] 1644 | name = "termcolor" 1645 | version = "1.4.1" 1646 | source = "registry+https://github.com/rust-lang/crates.io-index" 1647 | checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" 1648 | dependencies = [ 1649 | "winapi-util", 1650 | ] 1651 | 1652 | [[package]] 1653 | name = "textwrap" 1654 | version = "0.11.0" 1655 | source = "registry+https://github.com/rust-lang/crates.io-index" 1656 | checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" 1657 | dependencies = [ 1658 | "unicode-width", 1659 | ] 1660 | 1661 | [[package]] 1662 | name = "thiserror" 1663 | version = "1.0.61" 1664 | source = "registry+https://github.com/rust-lang/crates.io-index" 1665 | checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" 1666 | dependencies = [ 1667 | "thiserror-impl", 1668 | ] 1669 | 1670 | [[package]] 1671 | name = "thiserror-impl" 1672 | version = "1.0.61" 1673 | source = "registry+https://github.com/rust-lang/crates.io-index" 1674 | checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" 1675 | dependencies = [ 1676 | "proc-macro2", 1677 | "quote", 1678 | "syn", 1679 | ] 1680 | 1681 | [[package]] 1682 | name = "tinystr" 1683 | version = "0.7.6" 1684 | source = "registry+https://github.com/rust-lang/crates.io-index" 1685 | checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" 1686 | dependencies = [ 1687 | "displaydoc", 1688 | "zerovec", 1689 | ] 1690 | 1691 | [[package]] 1692 | name = "tinytemplate" 1693 | version = "1.2.1" 1694 | source = "registry+https://github.com/rust-lang/crates.io-index" 1695 | checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" 1696 | dependencies = [ 1697 | "serde", 1698 | "serde_json", 1699 | ] 1700 | 1701 | [[package]] 1702 | name = "tokio" 1703 | version = "1.38.0" 1704 | source = "registry+https://github.com/rust-lang/crates.io-index" 1705 | checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a" 1706 | dependencies = [ 1707 | "backtrace", 1708 | "bytes", 1709 | "libc", 1710 | "mio", 1711 | "num_cpus", 1712 | "parking_lot", 1713 | "pin-project-lite", 1714 | "signal-hook-registry", 1715 | "socket2", 1716 | "tokio-macros", 1717 | "windows-sys 0.48.0", 1718 | ] 1719 | 1720 | [[package]] 1721 | name = "tokio-macros" 1722 | version = "2.3.0" 1723 | source = "registry+https://github.com/rust-lang/crates.io-index" 1724 | checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" 1725 | dependencies = [ 1726 | "proc-macro2", 1727 | "quote", 1728 | "syn", 1729 | ] 1730 | 1731 | [[package]] 1732 | name = "tokio-native-tls" 1733 | version = "0.3.1" 1734 | source = "registry+https://github.com/rust-lang/crates.io-index" 1735 | checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" 1736 | dependencies = [ 1737 | "native-tls", 1738 | "tokio", 1739 | ] 1740 | 1741 | [[package]] 1742 | name = "tokio-util" 1743 | version = "0.7.11" 1744 | source = "registry+https://github.com/rust-lang/crates.io-index" 1745 | checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" 1746 | dependencies = [ 1747 | "bytes", 1748 | "futures-core", 1749 | "futures-sink", 1750 | "pin-project-lite", 1751 | "tokio", 1752 | ] 1753 | 1754 | [[package]] 1755 | name = "toml_datetime" 1756 | version = "0.6.6" 1757 | source = "registry+https://github.com/rust-lang/crates.io-index" 1758 | checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" 1759 | 1760 | [[package]] 1761 | name = "toml_edit" 1762 | version = "0.21.1" 1763 | source = "registry+https://github.com/rust-lang/crates.io-index" 1764 | checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" 1765 | dependencies = [ 1766 | "indexmap 2.2.6", 1767 | "toml_datetime", 1768 | "winnow", 1769 | ] 1770 | 1771 | [[package]] 1772 | name = "tower" 1773 | version = "0.4.13" 1774 | source = "registry+https://github.com/rust-lang/crates.io-index" 1775 | checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" 1776 | dependencies = [ 1777 | "futures-core", 1778 | "futures-util", 1779 | "pin-project", 1780 | "pin-project-lite", 1781 | "tokio", 1782 | "tower-layer", 1783 | "tower-service", 1784 | ] 1785 | 1786 | [[package]] 1787 | name = "tower-layer" 1788 | version = "0.3.2" 1789 | source = "registry+https://github.com/rust-lang/crates.io-index" 1790 | checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" 1791 | 1792 | [[package]] 1793 | name = "tower-service" 1794 | version = "0.3.2" 1795 | source = "registry+https://github.com/rust-lang/crates.io-index" 1796 | checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" 1797 | 1798 | [[package]] 1799 | name = "tracing" 1800 | version = "0.1.40" 1801 | source = "registry+https://github.com/rust-lang/crates.io-index" 1802 | checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" 1803 | dependencies = [ 1804 | "pin-project-lite", 1805 | "tracing-attributes", 1806 | "tracing-core", 1807 | ] 1808 | 1809 | [[package]] 1810 | name = "tracing-attributes" 1811 | version = "0.1.27" 1812 | source = "registry+https://github.com/rust-lang/crates.io-index" 1813 | checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" 1814 | dependencies = [ 1815 | "proc-macro2", 1816 | "quote", 1817 | "syn", 1818 | ] 1819 | 1820 | [[package]] 1821 | name = "tracing-core" 1822 | version = "0.1.32" 1823 | source = "registry+https://github.com/rust-lang/crates.io-index" 1824 | checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" 1825 | dependencies = [ 1826 | "once_cell", 1827 | ] 1828 | 1829 | [[package]] 1830 | name = "try-lock" 1831 | version = "0.2.5" 1832 | source = "registry+https://github.com/rust-lang/crates.io-index" 1833 | checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" 1834 | 1835 | [[package]] 1836 | name = "typenum" 1837 | version = "1.17.0" 1838 | source = "registry+https://github.com/rust-lang/crates.io-index" 1839 | checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" 1840 | 1841 | [[package]] 1842 | name = "uncased" 1843 | version = "0.9.10" 1844 | source = "registry+https://github.com/rust-lang/crates.io-index" 1845 | checksum = "e1b88fcfe09e89d3866a5c11019378088af2d24c3fbd4f0543f96b479ec90697" 1846 | dependencies = [ 1847 | "version_check", 1848 | ] 1849 | 1850 | [[package]] 1851 | name = "unicode-ident" 1852 | version = "1.0.12" 1853 | source = "registry+https://github.com/rust-lang/crates.io-index" 1854 | checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" 1855 | 1856 | [[package]] 1857 | name = "unicode-width" 1858 | version = "0.1.13" 1859 | source = "registry+https://github.com/rust-lang/crates.io-index" 1860 | checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" 1861 | 1862 | [[package]] 1863 | name = "url" 1864 | version = "2.5.1" 1865 | source = "registry+https://github.com/rust-lang/crates.io-index" 1866 | checksum = "f7c25da092f0a868cdf09e8674cd3b7ef3a7d92a24253e663a2fb85e2496de56" 1867 | dependencies = [ 1868 | "form_urlencoded", 1869 | "idna", 1870 | "percent-encoding", 1871 | ] 1872 | 1873 | [[package]] 1874 | name = "utf16_iter" 1875 | version = "1.0.5" 1876 | source = "registry+https://github.com/rust-lang/crates.io-index" 1877 | checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" 1878 | 1879 | [[package]] 1880 | name = "utf8_iter" 1881 | version = "1.0.4" 1882 | source = "registry+https://github.com/rust-lang/crates.io-index" 1883 | checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" 1884 | 1885 | [[package]] 1886 | name = "vcpkg" 1887 | version = "0.2.15" 1888 | source = "registry+https://github.com/rust-lang/crates.io-index" 1889 | checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" 1890 | 1891 | [[package]] 1892 | name = "vec_map" 1893 | version = "0.8.2" 1894 | source = "registry+https://github.com/rust-lang/crates.io-index" 1895 | checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" 1896 | 1897 | [[package]] 1898 | name = "version_check" 1899 | version = "0.9.4" 1900 | source = "registry+https://github.com/rust-lang/crates.io-index" 1901 | checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" 1902 | 1903 | [[package]] 1904 | name = "walkdir" 1905 | version = "2.5.0" 1906 | source = "registry+https://github.com/rust-lang/crates.io-index" 1907 | checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" 1908 | dependencies = [ 1909 | "same-file", 1910 | "winapi-util", 1911 | ] 1912 | 1913 | [[package]] 1914 | name = "want" 1915 | version = "0.3.1" 1916 | source = "registry+https://github.com/rust-lang/crates.io-index" 1917 | checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" 1918 | dependencies = [ 1919 | "try-lock", 1920 | ] 1921 | 1922 | [[package]] 1923 | name = "wasi" 1924 | version = "0.9.0+wasi-snapshot-preview1" 1925 | source = "registry+https://github.com/rust-lang/crates.io-index" 1926 | checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" 1927 | 1928 | [[package]] 1929 | name = "wasi" 1930 | version = "0.11.0+wasi-snapshot-preview1" 1931 | source = "registry+https://github.com/rust-lang/crates.io-index" 1932 | checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" 1933 | 1934 | [[package]] 1935 | name = "wasm-bindgen" 1936 | version = "0.2.92" 1937 | source = "registry+https://github.com/rust-lang/crates.io-index" 1938 | checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" 1939 | dependencies = [ 1940 | "cfg-if", 1941 | "wasm-bindgen-macro", 1942 | ] 1943 | 1944 | [[package]] 1945 | name = "wasm-bindgen-backend" 1946 | version = "0.2.92" 1947 | source = "registry+https://github.com/rust-lang/crates.io-index" 1948 | checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" 1949 | dependencies = [ 1950 | "bumpalo", 1951 | "log", 1952 | "once_cell", 1953 | "proc-macro2", 1954 | "quote", 1955 | "syn", 1956 | "wasm-bindgen-shared", 1957 | ] 1958 | 1959 | [[package]] 1960 | name = "wasm-bindgen-futures" 1961 | version = "0.4.42" 1962 | source = "registry+https://github.com/rust-lang/crates.io-index" 1963 | checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" 1964 | dependencies = [ 1965 | "cfg-if", 1966 | "js-sys", 1967 | "wasm-bindgen", 1968 | "web-sys", 1969 | ] 1970 | 1971 | [[package]] 1972 | name = "wasm-bindgen-macro" 1973 | version = "0.2.92" 1974 | source = "registry+https://github.com/rust-lang/crates.io-index" 1975 | checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" 1976 | dependencies = [ 1977 | "quote", 1978 | "wasm-bindgen-macro-support", 1979 | ] 1980 | 1981 | [[package]] 1982 | name = "wasm-bindgen-macro-support" 1983 | version = "0.2.92" 1984 | source = "registry+https://github.com/rust-lang/crates.io-index" 1985 | checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" 1986 | dependencies = [ 1987 | "proc-macro2", 1988 | "quote", 1989 | "syn", 1990 | "wasm-bindgen-backend", 1991 | "wasm-bindgen-shared", 1992 | ] 1993 | 1994 | [[package]] 1995 | name = "wasm-bindgen-shared" 1996 | version = "0.2.92" 1997 | source = "registry+https://github.com/rust-lang/crates.io-index" 1998 | checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" 1999 | 2000 | [[package]] 2001 | name = "web-sys" 2002 | version = "0.3.69" 2003 | source = "registry+https://github.com/rust-lang/crates.io-index" 2004 | checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" 2005 | dependencies = [ 2006 | "js-sys", 2007 | "wasm-bindgen", 2008 | ] 2009 | 2010 | [[package]] 2011 | name = "wildmatch" 2012 | version = "2.3.4" 2013 | source = "registry+https://github.com/rust-lang/crates.io-index" 2014 | checksum = "3928939971918220fed093266b809d1ee4ec6c1a2d72692ff6876898f3b16c19" 2015 | 2016 | [[package]] 2017 | name = "winapi" 2018 | version = "0.3.9" 2019 | source = "registry+https://github.com/rust-lang/crates.io-index" 2020 | checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" 2021 | dependencies = [ 2022 | "winapi-i686-pc-windows-gnu", 2023 | "winapi-x86_64-pc-windows-gnu", 2024 | ] 2025 | 2026 | [[package]] 2027 | name = "winapi-i686-pc-windows-gnu" 2028 | version = "0.4.0" 2029 | source = "registry+https://github.com/rust-lang/crates.io-index" 2030 | checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" 2031 | 2032 | [[package]] 2033 | name = "winapi-util" 2034 | version = "0.1.8" 2035 | source = "registry+https://github.com/rust-lang/crates.io-index" 2036 | checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" 2037 | dependencies = [ 2038 | "windows-sys 0.52.0", 2039 | ] 2040 | 2041 | [[package]] 2042 | name = "winapi-x86_64-pc-windows-gnu" 2043 | version = "0.4.0" 2044 | source = "registry+https://github.com/rust-lang/crates.io-index" 2045 | checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" 2046 | 2047 | [[package]] 2048 | name = "windows-sys" 2049 | version = "0.48.0" 2050 | source = "registry+https://github.com/rust-lang/crates.io-index" 2051 | checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" 2052 | dependencies = [ 2053 | "windows-targets 0.48.5", 2054 | ] 2055 | 2056 | [[package]] 2057 | name = "windows-sys" 2058 | version = "0.52.0" 2059 | source = "registry+https://github.com/rust-lang/crates.io-index" 2060 | checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" 2061 | dependencies = [ 2062 | "windows-targets 0.52.5", 2063 | ] 2064 | 2065 | [[package]] 2066 | name = "windows-targets" 2067 | version = "0.48.5" 2068 | source = "registry+https://github.com/rust-lang/crates.io-index" 2069 | checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" 2070 | dependencies = [ 2071 | "windows_aarch64_gnullvm 0.48.5", 2072 | "windows_aarch64_msvc 0.48.5", 2073 | "windows_i686_gnu 0.48.5", 2074 | "windows_i686_msvc 0.48.5", 2075 | "windows_x86_64_gnu 0.48.5", 2076 | "windows_x86_64_gnullvm 0.48.5", 2077 | "windows_x86_64_msvc 0.48.5", 2078 | ] 2079 | 2080 | [[package]] 2081 | name = "windows-targets" 2082 | version = "0.52.5" 2083 | source = "registry+https://github.com/rust-lang/crates.io-index" 2084 | checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" 2085 | dependencies = [ 2086 | "windows_aarch64_gnullvm 0.52.5", 2087 | "windows_aarch64_msvc 0.52.5", 2088 | "windows_i686_gnu 0.52.5", 2089 | "windows_i686_gnullvm", 2090 | "windows_i686_msvc 0.52.5", 2091 | "windows_x86_64_gnu 0.52.5", 2092 | "windows_x86_64_gnullvm 0.52.5", 2093 | "windows_x86_64_msvc 0.52.5", 2094 | ] 2095 | 2096 | [[package]] 2097 | name = "windows_aarch64_gnullvm" 2098 | version = "0.48.5" 2099 | source = "registry+https://github.com/rust-lang/crates.io-index" 2100 | checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" 2101 | 2102 | [[package]] 2103 | name = "windows_aarch64_gnullvm" 2104 | version = "0.52.5" 2105 | source = "registry+https://github.com/rust-lang/crates.io-index" 2106 | checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" 2107 | 2108 | [[package]] 2109 | name = "windows_aarch64_msvc" 2110 | version = "0.48.5" 2111 | source = "registry+https://github.com/rust-lang/crates.io-index" 2112 | checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" 2113 | 2114 | [[package]] 2115 | name = "windows_aarch64_msvc" 2116 | version = "0.52.5" 2117 | source = "registry+https://github.com/rust-lang/crates.io-index" 2118 | checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" 2119 | 2120 | [[package]] 2121 | name = "windows_i686_gnu" 2122 | version = "0.48.5" 2123 | source = "registry+https://github.com/rust-lang/crates.io-index" 2124 | checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" 2125 | 2126 | [[package]] 2127 | name = "windows_i686_gnu" 2128 | version = "0.52.5" 2129 | source = "registry+https://github.com/rust-lang/crates.io-index" 2130 | checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" 2131 | 2132 | [[package]] 2133 | name = "windows_i686_gnullvm" 2134 | version = "0.52.5" 2135 | source = "registry+https://github.com/rust-lang/crates.io-index" 2136 | checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" 2137 | 2138 | [[package]] 2139 | name = "windows_i686_msvc" 2140 | version = "0.48.5" 2141 | source = "registry+https://github.com/rust-lang/crates.io-index" 2142 | checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" 2143 | 2144 | [[package]] 2145 | name = "windows_i686_msvc" 2146 | version = "0.52.5" 2147 | source = "registry+https://github.com/rust-lang/crates.io-index" 2148 | checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" 2149 | 2150 | [[package]] 2151 | name = "windows_x86_64_gnu" 2152 | version = "0.48.5" 2153 | source = "registry+https://github.com/rust-lang/crates.io-index" 2154 | checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" 2155 | 2156 | [[package]] 2157 | name = "windows_x86_64_gnu" 2158 | version = "0.52.5" 2159 | source = "registry+https://github.com/rust-lang/crates.io-index" 2160 | checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" 2161 | 2162 | [[package]] 2163 | name = "windows_x86_64_gnullvm" 2164 | version = "0.48.5" 2165 | source = "registry+https://github.com/rust-lang/crates.io-index" 2166 | checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" 2167 | 2168 | [[package]] 2169 | name = "windows_x86_64_gnullvm" 2170 | version = "0.52.5" 2171 | source = "registry+https://github.com/rust-lang/crates.io-index" 2172 | checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" 2173 | 2174 | [[package]] 2175 | name = "windows_x86_64_msvc" 2176 | version = "0.48.5" 2177 | source = "registry+https://github.com/rust-lang/crates.io-index" 2178 | checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" 2179 | 2180 | [[package]] 2181 | name = "windows_x86_64_msvc" 2182 | version = "0.52.5" 2183 | source = "registry+https://github.com/rust-lang/crates.io-index" 2184 | checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" 2185 | 2186 | [[package]] 2187 | name = "winnow" 2188 | version = "0.5.40" 2189 | source = "registry+https://github.com/rust-lang/crates.io-index" 2190 | checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" 2191 | dependencies = [ 2192 | "memchr", 2193 | ] 2194 | 2195 | [[package]] 2196 | name = "winreg" 2197 | version = "0.52.0" 2198 | source = "registry+https://github.com/rust-lang/crates.io-index" 2199 | checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" 2200 | dependencies = [ 2201 | "cfg-if", 2202 | "windows-sys 0.48.0", 2203 | ] 2204 | 2205 | [[package]] 2206 | name = "write16" 2207 | version = "1.0.0" 2208 | source = "registry+https://github.com/rust-lang/crates.io-index" 2209 | checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" 2210 | 2211 | [[package]] 2212 | name = "writeable" 2213 | version = "0.5.5" 2214 | source = "registry+https://github.com/rust-lang/crates.io-index" 2215 | checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" 2216 | 2217 | [[package]] 2218 | name = "yaml-rust" 2219 | version = "0.4.5" 2220 | source = "registry+https://github.com/rust-lang/crates.io-index" 2221 | checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85" 2222 | dependencies = [ 2223 | "linked-hash-map", 2224 | ] 2225 | 2226 | [[package]] 2227 | name = "yoke" 2228 | version = "0.7.4" 2229 | source = "registry+https://github.com/rust-lang/crates.io-index" 2230 | checksum = "6c5b1314b079b0930c31e3af543d8ee1757b1951ae1e1565ec704403a7240ca5" 2231 | dependencies = [ 2232 | "serde", 2233 | "stable_deref_trait", 2234 | "yoke-derive", 2235 | "zerofrom", 2236 | ] 2237 | 2238 | [[package]] 2239 | name = "yoke-derive" 2240 | version = "0.7.4" 2241 | source = "registry+https://github.com/rust-lang/crates.io-index" 2242 | checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95" 2243 | dependencies = [ 2244 | "proc-macro2", 2245 | "quote", 2246 | "syn", 2247 | "synstructure", 2248 | ] 2249 | 2250 | [[package]] 2251 | name = "zerofrom" 2252 | version = "0.1.4" 2253 | source = "registry+https://github.com/rust-lang/crates.io-index" 2254 | checksum = "91ec111ce797d0e0784a1116d0ddcdbea84322cd79e5d5ad173daeba4f93ab55" 2255 | dependencies = [ 2256 | "zerofrom-derive", 2257 | ] 2258 | 2259 | [[package]] 2260 | name = "zerofrom-derive" 2261 | version = "0.1.4" 2262 | source = "registry+https://github.com/rust-lang/crates.io-index" 2263 | checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5" 2264 | dependencies = [ 2265 | "proc-macro2", 2266 | "quote", 2267 | "syn", 2268 | "synstructure", 2269 | ] 2270 | 2271 | [[package]] 2272 | name = "zerovec" 2273 | version = "0.10.2" 2274 | source = "registry+https://github.com/rust-lang/crates.io-index" 2275 | checksum = "bb2cc8827d6c0994478a15c53f374f46fbd41bea663d809b14744bc42e6b109c" 2276 | dependencies = [ 2277 | "yoke", 2278 | "zerofrom", 2279 | "zerovec-derive", 2280 | ] 2281 | 2282 | [[package]] 2283 | name = "zerovec-derive" 2284 | version = "0.10.2" 2285 | source = "registry+https://github.com/rust-lang/crates.io-index" 2286 | checksum = "97cf56601ee5052b4417d90c8755c6683473c926039908196cf35d99f893ebe7" 2287 | dependencies = [ 2288 | "proc-macro2", 2289 | "quote", 2290 | "syn", 2291 | ] 2292 | -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | resolver = "2" 3 | members = ["auto", "examples/server"] 4 | 5 | [workspace.dependencies] 6 | auto-rust = { path = "auto" } 7 | -------------------------------------------------------------------------------- /LICENSE-APACHE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | -------------------------------------------------------------------------------- /LICENSE-MIT: -------------------------------------------------------------------------------- 1 | Permission is hereby granted, free of charge, to any 2 | person obtaining a copy of this software and associated 3 | documentation files (the "Software"), to deal in the 4 | Software without restriction, including without 5 | limitation the rights to use, copy, modify, merge, 6 | publish, distribute, sublicense, and/or sell copies of 7 | the Software, and to permit persons to whom the Software 8 | is furnished to do so, subject to the following 9 | conditions: 10 | 11 | The above copyright notice and this permission notice 12 | shall be included in all copies or substantial portions 13 | of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF 16 | ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED 17 | TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 18 | PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT 19 | SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR 22 | IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 23 | DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Auto Rust 2 | 3 |
4 |
5 |
The length of your name is {len} letters.
114 | 115 | 116 | "#, 117 | name = name, 118 | len = name.len() 119 | ); 120 | 121 | poem::Response::builder() 122 | .header("Content-Type", "text/html; charset=utf-8") 123 | .body(response_html) 124 | } 125 | ``` 126 | 127 | ## Explanation for Developers 128 | 129 | Auto-Rust utilizes Rust's powerful procedural macro system to inject code at compile time. When you use the `#[llm_tool]` macro: 130 | 131 | 1. **Parsing:** The macro parses the annotated function's signature, including its name, arguments, return type, and any doc comments. 132 | 133 | 2. **Context Extraction:** It extracts the code within your project, providing some context for the LLM to understand the surrounding code and project better. 134 | 135 | 3. **Prompt Engineering:** It constructs a prompt that includes the extracted information. This prompt is carefully designed to guide the LLM in generating a relevant and correct Rust function implementation. 136 | 137 | 4. **LLM Interaction:** It sends the generated prompt to an LLM API. 138 | 139 | 5. **Code Insertion:** The LLM's response, which contains the generated Rust code, is inserted directly into your codebase, replacing the `todo!()` placeholder. 140 | 141 | ## Limitations 142 | 143 | * **LLM Non-Determinism:** LLM output can vary. You might need to experiment and iterate to achieve the desired results. 144 | * **Limited Context:** Currently, Auto-Rust's context is primarily based on your function signature and doc comments. It has limited awareness of the broader project structure. 145 | * **Dependency Management:** Auto-Rust does not automatically add `use` statements for newly introduced dependencies in the generated code. 146 | 147 | ## Contributing 148 | 149 | We welcome contributions from the Rust community! If you encounter issues, have suggestions, or want to contribute to the development of `auto-rust`, please feel free to open an issue or submit a pull request. 150 | 151 | ## License 152 | 153 | This project is licensed under the MIT and Apache-2.0 licenses. 154 | -------------------------------------------------------------------------------- /auto/Cargo.toml: -------------------------------------------------------------------------------- 1 | [lib] 2 | proc-macro = true 3 | 4 | [package] 5 | name = "auto-rust" 6 | version = "0.1.5" 7 | edition = "2021" 8 | description = "A tool to automatically generate Rust code using LLMs at compilation time." 9 | license = "MIT AND Apache-2.0" 10 | 11 | [dependencies] 12 | dotenv = "0.15.0" 13 | hyperpolyglot = "0.1.7" 14 | ignore = "0.4.22" 15 | md5 = "0.7.0" 16 | reqwest = { version = "0.12.4", features = ["blocking", "json"] } 17 | serde = "1.0.203" 18 | serde_derive = "1.0.203" 19 | serde_json = "1.0.117" 20 | syn = { version = "2.0.66", features = ["full"] } 21 | tinytemplate = "1.2.1" 22 | -------------------------------------------------------------------------------- /auto/src/api.rs: -------------------------------------------------------------------------------- 1 | use reqwest::header; 2 | use serde_json::json; 3 | use std::env; 4 | 5 | use crate::data::ChatCompletionResponse; 6 | 7 | pub fn generic_chat_completion( 8 | system_message: String, 9 | user_message: String, 10 | ) -> Result