A focused Docker Compose management web application.
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat: command macro

Brooke 9402a35e cd2aac2f

+809 -314
+6
Cargo.toml
··· 1 + [workspace] 2 + members = ["packages/macros", "packages/node"] 3 + resolver = "2" 4 + 5 + [workspace.dependencies] 6 + luminary-macros = { path = "packages/macros" }
+12
packages/macros/Cargo.toml
··· 1 + [package] 2 + name = "luminary-macros" 3 + edition = "2021" 4 + 5 + [dependencies] 6 + convert_case = "0.8.0" 7 + phf_codegen = "0.11.3" 8 + quote = "1.0.40" 9 + syn = "2.0.101" 10 + 11 + [lib] 12 + proc-macro = true
+61
packages/macros/src/lib.rs
··· 1 + use convert_case::{Case, Casing}; 2 + use proc_macro::TokenStream; 3 + use quote::quote; 4 + use syn::{ 5 + parse_macro_input, parse_quote, punctuated::Punctuated, spanned::Spanned, FnArg, Ident, ItemFn, 6 + Pat, Token, 7 + }; 8 + 9 + #[proc_macro_attribute] 10 + pub fn command(_attr: TokenStream, item: TokenStream) -> TokenStream { 11 + let mut func = parse_macro_input!(item as ItemFn); 12 + let visibility = &func.vis; 13 + 14 + // Extract locals to be deserialzed 15 + let mut locals = Punctuated::<FnArg, Token![,]>::new(); 16 + for _ in 1..func.sig.inputs.len() { 17 + locals.push(func.sig.inputs.pop().unwrap().into_value()); 18 + } 19 + 20 + // Push serde_json::Value argument to deserialize from 21 + func.sig.inputs.push(parse_quote!(value: serde_json::Value)); 22 + 23 + // Generate the struct name for deserialization 24 + let struct_name = func.sig.ident.to_string().to_case(Case::Pascal) + "Command"; 25 + let struct_ident = Ident::new(&struct_name, func.span()); 26 + 27 + // Extract the identifiers of each local 28 + let locals_idents = locals.iter().map(|arg| match arg { 29 + FnArg::Typed(patype) => match patype.pat.as_ref() { 30 + Pat::Ident(ident) => &ident.ident, 31 + _ => panic!("Receiver arguments are not supported in commands"), 32 + }, 33 + _ => panic!("Receiver arguments are not supported in commands"), 34 + }); 35 + 36 + // Create variables for quoting 37 + let struct_properties = locals.iter(); 38 + let signature = &func.sig; 39 + let block = &func.block; 40 + 41 + return quote! { 42 + #visibility #signature { 43 + let #struct_ident {#(#locals_idents),*} = serde_json::from_value::<#struct_ident>(value)?; 44 + 45 + #block 46 + } 47 + 48 + #[derive(serde::Deserialize, serde::Serialize)] 49 + #visibility struct #struct_ident { 50 + #(#struct_properties),* 51 + } 52 + } 53 + .into(); 54 + } 55 + 56 + #[proc_macro] 57 + pub fn route(item: TokenStream) -> TokenStream { 58 + let _input = parse_macro_input!(item with Punctuated<Ident, Token![,]>::parse_terminated); 59 + 60 + return TokenStream::new(); 61 + }
packages/node/.gitignore .gitignore
+679 -305
packages/node/Cargo.lock Cargo.lock
··· 1 1 # This file is automatically @generated by Cargo. 2 2 # It is not intended for manual editing. 3 - version = 3 3 + version = 4 4 + 5 + [[package]] 6 + name = "Inflector" 7 + version = "0.11.4" 8 + source = "registry+https://github.com/rust-lang/crates.io-index" 9 + checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" 4 10 5 11 [[package]] 6 12 name = "addr2line" 7 - version = "0.21.0" 13 + version = "0.24.2" 8 14 source = "registry+https://github.com/rust-lang/crates.io-index" 9 - checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" 15 + checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" 10 16 dependencies = [ 11 17 "gimli", 12 18 ] 13 19 14 20 [[package]] 15 - name = "adler" 16 - version = "1.0.2" 21 + name = "adler2" 22 + version = "2.0.0" 17 23 source = "registry+https://github.com/rust-lang/crates.io-index" 18 - checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" 24 + checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" 19 25 20 26 [[package]] 21 27 name = "android-tzdata" ··· 34 40 35 41 [[package]] 36 42 name = "autocfg" 37 - version = "1.3.0" 43 + version = "1.4.0" 38 44 source = "registry+https://github.com/rust-lang/crates.io-index" 39 - checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" 45 + checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" 40 46 41 47 [[package]] 42 48 name = "backtrace" 43 - version = "0.3.71" 49 + version = "0.3.75" 44 50 source = "registry+https://github.com/rust-lang/crates.io-index" 45 - checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" 51 + checksum = "6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002" 46 52 dependencies = [ 47 53 "addr2line", 48 - "cc", 49 54 "cfg-if", 50 55 "libc", 51 56 "miniz_oxide", 52 57 "object", 53 58 "rustc-demangle", 59 + "windows-targets", 54 60 ] 55 61 56 62 [[package]] ··· 100 106 "serde_json", 101 107 "serde_repr", 102 108 "serde_urlencoded", 103 - "thiserror 1.0.61", 109 + "thiserror 1.0.69", 104 110 "tokio", 105 111 "tokio-util", 106 112 "tower-service", ··· 122 128 123 129 [[package]] 124 130 name = "bumpalo" 125 - version = "3.16.0" 131 + version = "3.17.0" 126 132 source = "registry+https://github.com/rust-lang/crates.io-index" 127 - checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" 133 + checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" 128 134 129 135 [[package]] 130 136 name = "bytes" ··· 134 140 135 141 [[package]] 136 142 name = "cc" 137 - version = "1.1.0" 143 + version = "1.2.24" 138 144 source = "registry+https://github.com/rust-lang/crates.io-index" 139 - checksum = "eaff6f8ce506b9773fa786672d63fc7a191ffea1be33f72bbd4aeacefca9ffc8" 145 + checksum = "16595d3be041c03b09d08d0858631facccee9221e579704070e6e9e4915d3bc7" 146 + dependencies = [ 147 + "shlex", 148 + ] 140 149 141 150 [[package]] 142 151 name = "cfg-if" ··· 146 155 147 156 [[package]] 148 157 name = "chrono" 149 - version = "0.4.38" 158 + version = "0.4.41" 150 159 source = "registry+https://github.com/rust-lang/crates.io-index" 151 - checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" 160 + checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d" 152 161 dependencies = [ 153 162 "android-tzdata", 154 163 "iana-time-zone", 155 164 "num-traits", 156 165 "serde", 157 - "windows-targets 0.52.6", 166 + "windows-link", 158 167 ] 159 168 160 169 [[package]] 161 170 name = "color-eyre" 162 - version = "0.6.3" 171 + version = "0.6.4" 163 172 source = "registry+https://github.com/rust-lang/crates.io-index" 164 - checksum = "55146f5e46f237f7423d74111267d4597b59b0dad0ffaf7303bce9945d843ad5" 173 + checksum = "e6e1761c0e16f8883bbbb8ce5990867f4f06bf11a0253da6495a04ce4b6ef0ec" 165 174 dependencies = [ 166 175 "backtrace", 167 176 "color-spantrace", ··· 174 183 175 184 [[package]] 176 185 name = "color-spantrace" 177 - version = "0.2.1" 186 + version = "0.2.2" 178 187 source = "registry+https://github.com/rust-lang/crates.io-index" 179 - checksum = "cd6be1b2a7e382e2b98b43b2adcca6bb0e465af0bdd38123873ae61eb17a72c2" 188 + checksum = "2ddd8d5bfda1e11a501d0a7303f3bfed9aa632ebdb859be40d0fd70478ed70d5" 180 189 dependencies = [ 181 190 "once_cell", 182 191 "owo-colors", ··· 185 194 ] 186 195 187 196 [[package]] 197 + name = "convert_case" 198 + version = "0.8.0" 199 + source = "registry+https://github.com/rust-lang/crates.io-index" 200 + checksum = "baaaa0ecca5b51987b9423ccdc971514dd8b0bb7b4060b983d3664dad3f1f89f" 201 + dependencies = [ 202 + "unicode-segmentation", 203 + ] 204 + 205 + [[package]] 188 206 name = "core-foundation-sys" 189 - version = "0.8.6" 207 + version = "0.8.7" 190 208 source = "registry+https://github.com/rust-lang/crates.io-index" 191 - checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" 209 + checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" 192 210 193 211 [[package]] 194 212 name = "cpufeatures" ··· 217 235 218 236 [[package]] 219 237 name = "deranged" 220 - version = "0.3.11" 238 + version = "0.4.0" 221 239 source = "registry+https://github.com/rust-lang/crates.io-index" 222 - checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" 240 + checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e" 223 241 dependencies = [ 224 242 "powerfmt", 225 243 "serde", ··· 236 254 ] 237 255 238 256 [[package]] 257 + name = "displaydoc" 258 + version = "0.2.5" 259 + source = "registry+https://github.com/rust-lang/crates.io-index" 260 + checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" 261 + dependencies = [ 262 + "proc-macro2", 263 + "quote", 264 + "syn 2.0.101", 265 + ] 266 + 267 + [[package]] 268 + name = "document-features" 269 + version = "0.2.11" 270 + source = "registry+https://github.com/rust-lang/crates.io-index" 271 + checksum = "95249b50c6c185bee49034bcb378a49dc2b5dff0be90ff6616d31d64febab05d" 272 + dependencies = [ 273 + "litrs", 274 + ] 275 + 276 + [[package]] 277 + name = "either" 278 + version = "1.15.0" 279 + source = "registry+https://github.com/rust-lang/crates.io-index" 280 + checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" 281 + 282 + [[package]] 239 283 name = "equivalent" 240 - version = "1.0.1" 284 + version = "1.0.2" 241 285 source = "registry+https://github.com/rust-lang/crates.io-index" 242 - checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" 286 + checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" 243 287 244 288 [[package]] 245 289 name = "eyre" ··· 268 312 269 313 [[package]] 270 314 name = "futures-channel" 271 - version = "0.3.30" 315 + version = "0.3.31" 272 316 source = "registry+https://github.com/rust-lang/crates.io-index" 273 - checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" 317 + checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" 274 318 dependencies = [ 275 319 "futures-core", 276 320 ] 277 321 278 322 [[package]] 279 323 name = "futures-core" 280 - version = "0.3.30" 324 + version = "0.3.31" 281 325 source = "registry+https://github.com/rust-lang/crates.io-index" 282 - checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" 326 + checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" 283 327 284 328 [[package]] 285 329 name = "futures-macro" 286 - version = "0.3.30" 330 + version = "0.3.31" 287 331 source = "registry+https://github.com/rust-lang/crates.io-index" 288 - checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" 332 + checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" 289 333 dependencies = [ 290 334 "proc-macro2", 291 335 "quote", 292 - "syn", 336 + "syn 2.0.101", 293 337 ] 294 338 295 339 [[package]] 296 340 name = "futures-sink" 297 - version = "0.3.30" 341 + version = "0.3.31" 298 342 source = "registry+https://github.com/rust-lang/crates.io-index" 299 - checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" 343 + checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" 300 344 301 345 [[package]] 302 346 name = "futures-task" 303 - version = "0.3.30" 347 + version = "0.3.31" 304 348 source = "registry+https://github.com/rust-lang/crates.io-index" 305 - checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" 349 + checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" 306 350 307 351 [[package]] 308 352 name = "futures-util" 309 - version = "0.3.30" 353 + version = "0.3.31" 310 354 source = "registry+https://github.com/rust-lang/crates.io-index" 311 - checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" 355 + checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" 312 356 dependencies = [ 313 357 "futures-core", 314 358 "futures-macro", ··· 343 387 344 388 [[package]] 345 389 name = "gimli" 346 - version = "0.28.1" 390 + version = "0.31.1" 347 391 source = "registry+https://github.com/rust-lang/crates.io-index" 348 - checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" 392 + checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" 349 393 350 394 [[package]] 351 395 name = "hashbrown" ··· 355 399 356 400 [[package]] 357 401 name = "hashbrown" 358 - version = "0.14.5" 402 + version = "0.15.3" 359 403 source = "registry+https://github.com/rust-lang/crates.io-index" 360 - checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" 361 - 362 - [[package]] 363 - name = "hermit-abi" 364 - version = "0.3.9" 365 - source = "registry+https://github.com/rust-lang/crates.io-index" 366 - checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" 404 + checksum = "84b26c544d002229e640969970a2e74021aadf6e2f96372b9c58eff97de08eb3" 367 405 368 406 [[package]] 369 407 name = "hex" ··· 373 411 374 412 [[package]] 375 413 name = "http" 376 - version = "1.1.0" 414 + version = "1.3.1" 377 415 source = "registry+https://github.com/rust-lang/crates.io-index" 378 - checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" 416 + checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" 379 417 dependencies = [ 380 418 "bytes", 381 419 "fnv", ··· 384 422 385 423 [[package]] 386 424 name = "http-body" 387 - version = "1.0.0" 425 + version = "1.0.1" 388 426 source = "registry+https://github.com/rust-lang/crates.io-index" 389 - checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643" 427 + checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" 390 428 dependencies = [ 391 429 "bytes", 392 430 "http", ··· 394 432 395 433 [[package]] 396 434 name = "http-body-util" 397 - version = "0.1.2" 435 + version = "0.1.3" 398 436 source = "registry+https://github.com/rust-lang/crates.io-index" 399 - checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" 437 + checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" 400 438 dependencies = [ 401 439 "bytes", 402 - "futures-util", 440 + "futures-core", 403 441 "http", 404 442 "http-body", 405 443 "pin-project-lite", ··· 407 445 408 446 [[package]] 409 447 name = "httparse" 410 - version = "1.9.4" 448 + version = "1.10.1" 411 449 source = "registry+https://github.com/rust-lang/crates.io-index" 412 - checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9" 450 + checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" 413 451 414 452 [[package]] 415 453 name = "hyper" 416 - version = "1.4.0" 454 + version = "1.6.0" 417 455 source = "registry+https://github.com/rust-lang/crates.io-index" 418 - checksum = "c4fe55fb7a772d59a5ff1dfbff4fe0258d19b89fec4b233e75d35d5d2316badc" 456 + checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" 419 457 dependencies = [ 420 458 "bytes", 421 459 "futures-channel", ··· 447 485 448 486 [[package]] 449 487 name = "hyper-util" 450 - version = "0.1.6" 488 + version = "0.1.12" 451 489 source = "registry+https://github.com/rust-lang/crates.io-index" 452 - checksum = "3ab92f4f49ee4fb4f997c784b7a2e0fa70050211e0b6a287f898c3c9785ca956" 490 + checksum = "cf9f1e950e0d9d1d3c47184416723cf29c0d1f93bd8cccf37e4beb6b44f31710" 453 491 dependencies = [ 454 492 "bytes", 455 493 "futures-channel", ··· 457 495 "http", 458 496 "http-body", 459 497 "hyper", 498 + "libc", 460 499 "pin-project-lite", 461 500 "socket2", 462 501 "tokio", 463 - "tower", 464 502 "tower-service", 465 503 "tracing", 466 504 ] ··· 482 520 483 521 [[package]] 484 522 name = "iana-time-zone" 485 - version = "0.1.60" 523 + version = "0.1.63" 486 524 source = "registry+https://github.com/rust-lang/crates.io-index" 487 - checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" 525 + checksum = "b0c919e5debc312ad217002b8048a17b7d83f80703865bbfcfebb0458b0b27d8" 488 526 dependencies = [ 489 527 "android_system_properties", 490 528 "core-foundation-sys", 491 529 "iana-time-zone-haiku", 492 530 "js-sys", 531 + "log", 493 532 "wasm-bindgen", 494 533 "windows-core", 495 534 ] ··· 504 543 ] 505 544 506 545 [[package]] 546 + name = "icu_collections" 547 + version = "2.0.0" 548 + source = "registry+https://github.com/rust-lang/crates.io-index" 549 + checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47" 550 + dependencies = [ 551 + "displaydoc", 552 + "potential_utf", 553 + "yoke", 554 + "zerofrom", 555 + "zerovec", 556 + ] 557 + 558 + [[package]] 559 + name = "icu_locale_core" 560 + version = "2.0.0" 561 + source = "registry+https://github.com/rust-lang/crates.io-index" 562 + checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a" 563 + dependencies = [ 564 + "displaydoc", 565 + "litemap", 566 + "tinystr", 567 + "writeable", 568 + "zerovec", 569 + ] 570 + 571 + [[package]] 572 + name = "icu_normalizer" 573 + version = "2.0.0" 574 + source = "registry+https://github.com/rust-lang/crates.io-index" 575 + checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979" 576 + dependencies = [ 577 + "displaydoc", 578 + "icu_collections", 579 + "icu_normalizer_data", 580 + "icu_properties", 581 + "icu_provider", 582 + "smallvec", 583 + "zerovec", 584 + ] 585 + 586 + [[package]] 587 + name = "icu_normalizer_data" 588 + version = "2.0.0" 589 + source = "registry+https://github.com/rust-lang/crates.io-index" 590 + checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3" 591 + 592 + [[package]] 593 + name = "icu_properties" 594 + version = "2.0.1" 595 + source = "registry+https://github.com/rust-lang/crates.io-index" 596 + checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b" 597 + dependencies = [ 598 + "displaydoc", 599 + "icu_collections", 600 + "icu_locale_core", 601 + "icu_properties_data", 602 + "icu_provider", 603 + "potential_utf", 604 + "zerotrie", 605 + "zerovec", 606 + ] 607 + 608 + [[package]] 609 + name = "icu_properties_data" 610 + version = "2.0.1" 611 + source = "registry+https://github.com/rust-lang/crates.io-index" 612 + checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632" 613 + 614 + [[package]] 615 + name = "icu_provider" 616 + version = "2.0.0" 617 + source = "registry+https://github.com/rust-lang/crates.io-index" 618 + checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af" 619 + dependencies = [ 620 + "displaydoc", 621 + "icu_locale_core", 622 + "stable_deref_trait", 623 + "tinystr", 624 + "writeable", 625 + "yoke", 626 + "zerofrom", 627 + "zerotrie", 628 + "zerovec", 629 + ] 630 + 631 + [[package]] 507 632 name = "idna" 508 - version = "0.5.0" 633 + version = "1.0.3" 509 634 source = "registry+https://github.com/rust-lang/crates.io-index" 510 - checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" 635 + checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" 511 636 dependencies = [ 512 - "unicode-bidi", 513 - "unicode-normalization", 637 + "idna_adapter", 638 + "smallvec", 639 + "utf8_iter", 640 + ] 641 + 642 + [[package]] 643 + name = "idna_adapter" 644 + version = "1.2.1" 645 + source = "registry+https://github.com/rust-lang/crates.io-index" 646 + checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" 647 + dependencies = [ 648 + "icu_normalizer", 649 + "icu_properties", 514 650 ] 515 651 516 652 [[package]] ··· 532 668 533 669 [[package]] 534 670 name = "indexmap" 535 - version = "2.2.6" 671 + version = "2.9.0" 536 672 source = "registry+https://github.com/rust-lang/crates.io-index" 537 - checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" 673 + checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" 538 674 dependencies = [ 539 675 "equivalent", 540 - "hashbrown 0.14.5", 676 + "hashbrown 0.15.3", 541 677 "serde", 542 678 ] 543 679 544 680 [[package]] 681 + name = "indoc" 682 + version = "1.0.9" 683 + source = "registry+https://github.com/rust-lang/crates.io-index" 684 + checksum = "bfa799dd5ed20a7e349f3b4639aa80d74549c81716d9ec4f994c9b5815598306" 685 + 686 + [[package]] 687 + name = "itertools" 688 + version = "0.10.5" 689 + source = "registry+https://github.com/rust-lang/crates.io-index" 690 + checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" 691 + dependencies = [ 692 + "either", 693 + ] 694 + 695 + [[package]] 545 696 name = "itoa" 546 - version = "1.0.11" 697 + version = "1.0.15" 547 698 source = "registry+https://github.com/rust-lang/crates.io-index" 548 - checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" 699 + checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" 549 700 550 701 [[package]] 551 702 name = "js-sys" 552 - version = "0.3.69" 703 + version = "0.3.77" 553 704 source = "registry+https://github.com/rust-lang/crates.io-index" 554 - checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" 705 + checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" 555 706 dependencies = [ 707 + "once_cell", 556 708 "wasm-bindgen", 557 709 ] 558 710 ··· 564 716 565 717 [[package]] 566 718 name = "libc" 567 - version = "0.2.155" 719 + version = "0.2.172" 720 + source = "registry+https://github.com/rust-lang/crates.io-index" 721 + checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" 722 + 723 + [[package]] 724 + name = "litemap" 725 + version = "0.8.0" 726 + source = "registry+https://github.com/rust-lang/crates.io-index" 727 + checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" 728 + 729 + [[package]] 730 + name = "litrs" 731 + version = "0.4.1" 568 732 source = "registry+https://github.com/rust-lang/crates.io-index" 569 - checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" 733 + checksum = "b4ce301924b7887e9d637144fdade93f9dfff9b60981d4ac161db09720d39aa5" 570 734 571 735 [[package]] 572 736 name = "log" 573 - version = "0.4.22" 737 + version = "0.4.27" 574 738 source = "registry+https://github.com/rust-lang/crates.io-index" 575 - checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" 739 + checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" 740 + 741 + [[package]] 742 + name = "luminary-macros" 743 + version = "0.0.0" 744 + dependencies = [ 745 + "convert_case", 746 + "phf_codegen", 747 + "quote", 748 + "syn 2.0.101", 749 + ] 576 750 577 751 [[package]] 578 - name = "luminary" 579 - version = "0.1.0" 752 + name = "luminary-node" 753 + version = "0.0.0" 580 754 dependencies = [ 581 755 "bollard", 582 756 "color-eyre", 583 757 "eyre", 758 + "futures-util", 759 + "luminary-macros", 760 + "phf", 761 + "serde", 762 + "serde_json", 763 + "specta", 584 764 "tokio", 585 765 "tokio-tungstenite", 586 766 ] ··· 593 773 594 774 [[package]] 595 775 name = "miniz_oxide" 596 - version = "0.7.4" 776 + version = "0.8.8" 597 777 source = "registry+https://github.com/rust-lang/crates.io-index" 598 - checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" 778 + checksum = "3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a" 599 779 dependencies = [ 600 - "adler", 780 + "adler2", 601 781 ] 602 782 603 783 [[package]] 604 784 name = "mio" 605 - version = "0.8.11" 785 + version = "1.0.4" 606 786 source = "registry+https://github.com/rust-lang/crates.io-index" 607 - checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" 787 + checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" 608 788 dependencies = [ 609 789 "libc", 610 790 "wasi 0.11.0+wasi-snapshot-preview1", 611 - "windows-sys 0.48.0", 791 + "windows-sys 0.59.0", 612 792 ] 613 793 614 794 [[package]] ··· 627 807 ] 628 808 629 809 [[package]] 630 - name = "num_cpus" 631 - version = "1.16.0" 632 - source = "registry+https://github.com/rust-lang/crates.io-index" 633 - checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" 634 - dependencies = [ 635 - "hermit-abi", 636 - "libc", 637 - ] 638 - 639 - [[package]] 640 810 name = "object" 641 - version = "0.32.2" 811 + version = "0.36.7" 642 812 source = "registry+https://github.com/rust-lang/crates.io-index" 643 - checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" 813 + checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" 644 814 dependencies = [ 645 815 "memchr", 646 816 ] 647 817 648 818 [[package]] 649 819 name = "once_cell" 650 - version = "1.19.0" 820 + version = "1.21.3" 651 821 source = "registry+https://github.com/rust-lang/crates.io-index" 652 - checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" 822 + checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" 653 823 654 824 [[package]] 655 825 name = "owo-colors" 656 - version = "3.5.0" 826 + version = "4.2.1" 827 + source = "registry+https://github.com/rust-lang/crates.io-index" 828 + checksum = "26995317201fa17f3656c36716aed4a7c81743a9634ac4c99c0eeda495db0cec" 829 + 830 + [[package]] 831 + name = "paste" 832 + version = "1.0.15" 657 833 source = "registry+https://github.com/rust-lang/crates.io-index" 658 - checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f" 834 + checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" 659 835 660 836 [[package]] 661 837 name = "percent-encoding" ··· 664 840 checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" 665 841 666 842 [[package]] 667 - name = "pin-project" 668 - version = "1.1.5" 843 + name = "phf" 844 + version = "0.12.1" 669 845 source = "registry+https://github.com/rust-lang/crates.io-index" 670 - checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" 846 + checksum = "913273894cec178f401a31ec4b656318d95473527be05c0752cc41cdc32be8b7" 671 847 dependencies = [ 672 - "pin-project-internal", 848 + "phf_shared 0.12.1", 849 + "serde", 673 850 ] 674 851 675 852 [[package]] 676 - name = "pin-project-internal" 677 - version = "1.1.5" 853 + name = "phf_codegen" 854 + version = "0.11.3" 855 + source = "registry+https://github.com/rust-lang/crates.io-index" 856 + checksum = "aef8048c789fa5e851558d709946d6d79a8ff88c0440c587967f8e94bfb1216a" 857 + dependencies = [ 858 + "phf_generator", 859 + "phf_shared 0.11.3", 860 + ] 861 + 862 + [[package]] 863 + name = "phf_generator" 864 + version = "0.11.3" 865 + source = "registry+https://github.com/rust-lang/crates.io-index" 866 + checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" 867 + dependencies = [ 868 + "phf_shared 0.11.3", 869 + "rand 0.8.5", 870 + ] 871 + 872 + [[package]] 873 + name = "phf_shared" 874 + version = "0.11.3" 875 + source = "registry+https://github.com/rust-lang/crates.io-index" 876 + checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" 877 + dependencies = [ 878 + "siphasher", 879 + ] 880 + 881 + [[package]] 882 + name = "phf_shared" 883 + version = "0.12.1" 678 884 source = "registry+https://github.com/rust-lang/crates.io-index" 679 - checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" 885 + checksum = "06005508882fb681fd97892ecff4b7fd0fee13ef1aa569f8695dae7ab9099981" 680 886 dependencies = [ 681 - "proc-macro2", 682 - "quote", 683 - "syn", 887 + "siphasher", 684 888 ] 685 889 686 890 [[package]] 687 891 name = "pin-project-lite" 688 - version = "0.2.14" 892 + version = "0.2.16" 689 893 source = "registry+https://github.com/rust-lang/crates.io-index" 690 - checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" 894 + checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" 691 895 692 896 [[package]] 693 897 name = "pin-utils" ··· 696 900 checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" 697 901 698 902 [[package]] 903 + name = "potential_utf" 904 + version = "0.1.2" 905 + source = "registry+https://github.com/rust-lang/crates.io-index" 906 + checksum = "e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585" 907 + dependencies = [ 908 + "zerovec", 909 + ] 910 + 911 + [[package]] 699 912 name = "powerfmt" 700 913 version = "0.2.0" 701 914 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 721 934 722 935 [[package]] 723 936 name = "quote" 724 - version = "1.0.36" 937 + version = "1.0.40" 725 938 source = "registry+https://github.com/rust-lang/crates.io-index" 726 - checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" 939 + checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" 727 940 dependencies = [ 728 941 "proc-macro2", 729 942 ] ··· 736 949 737 950 [[package]] 738 951 name = "rand" 952 + version = "0.8.5" 953 + source = "registry+https://github.com/rust-lang/crates.io-index" 954 + checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" 955 + dependencies = [ 956 + "rand_core 0.6.4", 957 + ] 958 + 959 + [[package]] 960 + name = "rand" 739 961 version = "0.9.1" 740 962 source = "registry+https://github.com/rust-lang/crates.io-index" 741 963 checksum = "9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97" 742 964 dependencies = [ 743 965 "rand_chacha", 744 - "rand_core", 966 + "rand_core 0.9.3", 745 967 ] 746 968 747 969 [[package]] ··· 751 973 checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" 752 974 dependencies = [ 753 975 "ppv-lite86", 754 - "rand_core", 976 + "rand_core 0.9.3", 755 977 ] 756 978 757 979 [[package]] 758 980 name = "rand_core" 981 + version = "0.6.4" 982 + source = "registry+https://github.com/rust-lang/crates.io-index" 983 + checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" 984 + 985 + [[package]] 986 + name = "rand_core" 759 987 version = "0.9.3" 760 988 source = "registry+https://github.com/rust-lang/crates.io-index" 761 989 checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" ··· 770 998 checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" 771 999 772 1000 [[package]] 1001 + name = "rustversion" 1002 + version = "1.0.21" 1003 + source = "registry+https://github.com/rust-lang/crates.io-index" 1004 + checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d" 1005 + 1006 + [[package]] 773 1007 name = "ryu" 774 - version = "1.0.18" 1008 + version = "1.0.20" 775 1009 source = "registry+https://github.com/rust-lang/crates.io-index" 776 - checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" 1010 + checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" 777 1011 778 1012 [[package]] 779 1013 name = "serde" 780 - version = "1.0.204" 1014 + version = "1.0.219" 781 1015 source = "registry+https://github.com/rust-lang/crates.io-index" 782 - checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12" 1016 + checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" 783 1017 dependencies = [ 784 1018 "serde_derive", 785 1019 ] 786 1020 787 1021 [[package]] 788 1022 name = "serde_derive" 789 - version = "1.0.204" 1023 + version = "1.0.219" 790 1024 source = "registry+https://github.com/rust-lang/crates.io-index" 791 - checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" 1025 + checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" 792 1026 dependencies = [ 793 1027 "proc-macro2", 794 1028 "quote", 795 - "syn", 1029 + "syn 2.0.101", 796 1030 ] 797 1031 798 1032 [[package]] 799 1033 name = "serde_json" 800 - version = "1.0.120" 1034 + version = "1.0.140" 801 1035 source = "registry+https://github.com/rust-lang/crates.io-index" 802 - checksum = "4e0d21c9a8cae1235ad58a00c11cb40d4b1e5c784f1ef2c537876ed6ffd8b7c5" 1036 + checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" 803 1037 dependencies = [ 804 1038 "itoa", 1039 + "memchr", 805 1040 "ryu", 806 1041 "serde", 807 1042 ] 808 1043 809 1044 [[package]] 810 1045 name = "serde_repr" 811 - version = "0.1.19" 1046 + version = "0.1.20" 812 1047 source = "registry+https://github.com/rust-lang/crates.io-index" 813 - checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" 1048 + checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c" 814 1049 dependencies = [ 815 1050 "proc-macro2", 816 1051 "quote", 817 - "syn", 1052 + "syn 2.0.101", 818 1053 ] 819 1054 820 1055 [[package]] ··· 831 1066 832 1067 [[package]] 833 1068 name = "serde_with" 834 - version = "3.8.3" 1069 + version = "3.12.0" 835 1070 source = "registry+https://github.com/rust-lang/crates.io-index" 836 - checksum = "e73139bc5ec2d45e6c5fd85be5a46949c1c39a4c18e56915f5eb4c12f975e377" 1071 + checksum = "d6b6f7f2fcb69f747921f79f3926bd1e203fce4fef62c268dd3abfb6d86029aa" 837 1072 dependencies = [ 838 1073 "base64", 839 1074 "chrono", 840 1075 "hex", 841 1076 "indexmap 1.9.3", 842 - "indexmap 2.2.6", 1077 + "indexmap 2.9.0", 843 1078 "serde", 844 1079 "serde_derive", 845 1080 "serde_json", ··· 865 1100 dependencies = [ 866 1101 "lazy_static", 867 1102 ] 1103 + 1104 + [[package]] 1105 + name = "shlex" 1106 + version = "1.3.0" 1107 + source = "registry+https://github.com/rust-lang/crates.io-index" 1108 + checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" 1109 + 1110 + [[package]] 1111 + name = "siphasher" 1112 + version = "1.0.1" 1113 + source = "registry+https://github.com/rust-lang/crates.io-index" 1114 + checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" 868 1115 869 1116 [[package]] 870 1117 name = "slab" ··· 877 1124 878 1125 [[package]] 879 1126 name = "smallvec" 880 - version = "1.13.2" 1127 + version = "1.15.0" 881 1128 source = "registry+https://github.com/rust-lang/crates.io-index" 882 - checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" 1129 + checksum = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9" 883 1130 884 1131 [[package]] 885 1132 name = "socket2" 886 - version = "0.5.7" 1133 + version = "0.5.9" 887 1134 source = "registry+https://github.com/rust-lang/crates.io-index" 888 - checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" 1135 + checksum = "4f5fd57c80058a56cf5c777ab8a126398ece8e442983605d280a44ce79d0edef" 889 1136 dependencies = [ 890 1137 "libc", 891 1138 "windows-sys 0.52.0", 892 1139 ] 893 1140 894 1141 [[package]] 1142 + name = "specta" 1143 + version = "1.0.5" 1144 + source = "registry+https://github.com/rust-lang/crates.io-index" 1145 + checksum = "c2240c3aa020aa61d2c569087d213baafbb212f4ceb9de9dd162376ea6aa0fe3" 1146 + dependencies = [ 1147 + "document-features", 1148 + "indoc", 1149 + "once_cell", 1150 + "paste", 1151 + "serde", 1152 + "serde_json", 1153 + "specta-macros", 1154 + "thiserror 1.0.69", 1155 + ] 1156 + 1157 + [[package]] 1158 + name = "specta-macros" 1159 + version = "1.0.5" 1160 + source = "registry+https://github.com/rust-lang/crates.io-index" 1161 + checksum = "4605306321c356e03873b8ee71d7592a5e7c508add325c3ed0677c16fdf1bcfb" 1162 + dependencies = [ 1163 + "Inflector", 1164 + "itertools", 1165 + "proc-macro2", 1166 + "quote", 1167 + "syn 1.0.109", 1168 + "termcolor", 1169 + ] 1170 + 1171 + [[package]] 1172 + name = "stable_deref_trait" 1173 + version = "1.2.0" 1174 + source = "registry+https://github.com/rust-lang/crates.io-index" 1175 + checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" 1176 + 1177 + [[package]] 1178 + name = "syn" 1179 + version = "1.0.109" 1180 + source = "registry+https://github.com/rust-lang/crates.io-index" 1181 + checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" 1182 + dependencies = [ 1183 + "proc-macro2", 1184 + "quote", 1185 + "unicode-ident", 1186 + ] 1187 + 1188 + [[package]] 895 1189 name = "syn" 896 1190 version = "2.0.101" 897 1191 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 903 1197 ] 904 1198 905 1199 [[package]] 1200 + name = "synstructure" 1201 + version = "0.13.2" 1202 + source = "registry+https://github.com/rust-lang/crates.io-index" 1203 + checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" 1204 + dependencies = [ 1205 + "proc-macro2", 1206 + "quote", 1207 + "syn 2.0.101", 1208 + ] 1209 + 1210 + [[package]] 1211 + name = "termcolor" 1212 + version = "1.4.1" 1213 + source = "registry+https://github.com/rust-lang/crates.io-index" 1214 + checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" 1215 + dependencies = [ 1216 + "winapi-util", 1217 + ] 1218 + 1219 + [[package]] 906 1220 name = "thiserror" 907 - version = "1.0.61" 1221 + version = "1.0.69" 908 1222 source = "registry+https://github.com/rust-lang/crates.io-index" 909 - checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" 1223 + checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" 910 1224 dependencies = [ 911 - "thiserror-impl 1.0.61", 1225 + "thiserror-impl 1.0.69", 912 1226 ] 913 1227 914 1228 [[package]] ··· 922 1236 923 1237 [[package]] 924 1238 name = "thiserror-impl" 925 - version = "1.0.61" 1239 + version = "1.0.69" 926 1240 source = "registry+https://github.com/rust-lang/crates.io-index" 927 - checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" 1241 + checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" 928 1242 dependencies = [ 929 1243 "proc-macro2", 930 1244 "quote", 931 - "syn", 1245 + "syn 2.0.101", 932 1246 ] 933 1247 934 1248 [[package]] ··· 939 1253 dependencies = [ 940 1254 "proc-macro2", 941 1255 "quote", 942 - "syn", 1256 + "syn 2.0.101", 943 1257 ] 944 1258 945 1259 [[package]] ··· 954 1268 955 1269 [[package]] 956 1270 name = "time" 957 - version = "0.3.36" 1271 + version = "0.3.41" 958 1272 source = "registry+https://github.com/rust-lang/crates.io-index" 959 - checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" 1273 + checksum = "8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40" 960 1274 dependencies = [ 961 1275 "deranged", 962 1276 "itoa", ··· 969 1283 970 1284 [[package]] 971 1285 name = "time-core" 972 - version = "0.1.2" 1286 + version = "0.1.4" 973 1287 source = "registry+https://github.com/rust-lang/crates.io-index" 974 - checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" 1288 + checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c" 975 1289 976 1290 [[package]] 977 1291 name = "time-macros" 978 - version = "0.2.18" 1292 + version = "0.2.22" 979 1293 source = "registry+https://github.com/rust-lang/crates.io-index" 980 - checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" 1294 + checksum = "3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49" 981 1295 dependencies = [ 982 1296 "num-conv", 983 1297 "time-core", 984 1298 ] 985 1299 986 1300 [[package]] 987 - name = "tinyvec" 988 - version = "1.8.0" 1301 + name = "tinystr" 1302 + version = "0.8.1" 989 1303 source = "registry+https://github.com/rust-lang/crates.io-index" 990 - checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" 1304 + checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b" 991 1305 dependencies = [ 992 - "tinyvec_macros", 1306 + "displaydoc", 1307 + "zerovec", 993 1308 ] 994 - 995 - [[package]] 996 - name = "tinyvec_macros" 997 - version = "0.1.1" 998 - source = "registry+https://github.com/rust-lang/crates.io-index" 999 - checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" 1000 1309 1001 1310 [[package]] 1002 1311 name = "tokio" 1003 - version = "1.38.0" 1312 + version = "1.45.1" 1004 1313 source = "registry+https://github.com/rust-lang/crates.io-index" 1005 - checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a" 1314 + checksum = "75ef51a33ef1da925cea3e4eb122833cb377c61439ca401b770f54902b806779" 1006 1315 dependencies = [ 1007 1316 "backtrace", 1008 1317 "bytes", 1009 1318 "libc", 1010 1319 "mio", 1011 - "num_cpus", 1012 1320 "pin-project-lite", 1013 1321 "socket2", 1014 1322 "tokio-macros", 1015 - "windows-sys 0.48.0", 1323 + "windows-sys 0.52.0", 1016 1324 ] 1017 1325 1018 1326 [[package]] 1019 1327 name = "tokio-macros" 1020 - version = "2.3.0" 1328 + version = "2.5.0" 1021 1329 source = "registry+https://github.com/rust-lang/crates.io-index" 1022 - checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" 1330 + checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" 1023 1331 dependencies = [ 1024 1332 "proc-macro2", 1025 1333 "quote", 1026 - "syn", 1334 + "syn 2.0.101", 1027 1335 ] 1028 1336 1029 1337 [[package]] ··· 1040 1348 1041 1349 [[package]] 1042 1350 name = "tokio-util" 1043 - version = "0.7.11" 1351 + version = "0.7.15" 1044 1352 source = "registry+https://github.com/rust-lang/crates.io-index" 1045 - checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" 1353 + checksum = "66a539a9ad6d5d281510d5bd368c973d636c02dbf8a67300bfb6b950696ad7df" 1046 1354 dependencies = [ 1047 1355 "bytes", 1048 1356 "futures-core", ··· 1050 1358 "pin-project-lite", 1051 1359 "tokio", 1052 1360 ] 1053 - 1054 - [[package]] 1055 - name = "tower" 1056 - version = "0.4.13" 1057 - source = "registry+https://github.com/rust-lang/crates.io-index" 1058 - checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" 1059 - dependencies = [ 1060 - "futures-core", 1061 - "futures-util", 1062 - "pin-project", 1063 - "pin-project-lite", 1064 - "tokio", 1065 - "tower-layer", 1066 - "tower-service", 1067 - ] 1068 - 1069 - [[package]] 1070 - name = "tower-layer" 1071 - version = "0.3.2" 1072 - source = "registry+https://github.com/rust-lang/crates.io-index" 1073 - checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" 1074 1361 1075 1362 [[package]] 1076 1363 name = "tower-service" 1077 - version = "0.3.2" 1364 + version = "0.3.3" 1078 1365 source = "registry+https://github.com/rust-lang/crates.io-index" 1079 - checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" 1366 + checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" 1080 1367 1081 1368 [[package]] 1082 1369 name = "tracing" 1083 - version = "0.1.40" 1370 + version = "0.1.41" 1084 1371 source = "registry+https://github.com/rust-lang/crates.io-index" 1085 - checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" 1372 + checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" 1086 1373 dependencies = [ 1087 1374 "pin-project-lite", 1088 1375 "tracing-core", ··· 1090 1377 1091 1378 [[package]] 1092 1379 name = "tracing-core" 1093 - version = "0.1.32" 1380 + version = "0.1.33" 1094 1381 source = "registry+https://github.com/rust-lang/crates.io-index" 1095 - checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" 1382 + checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" 1096 1383 dependencies = [ 1097 1384 "once_cell", 1098 1385 "valuable", ··· 1100 1387 1101 1388 [[package]] 1102 1389 name = "tracing-error" 1103 - version = "0.2.0" 1390 + version = "0.2.1" 1104 1391 source = "registry+https://github.com/rust-lang/crates.io-index" 1105 - checksum = "d686ec1c0f384b1277f097b2f279a2ecc11afe8c133c1aabf036a27cb4cd206e" 1392 + checksum = "8b1581020d7a273442f5b45074a6a57d5757ad0a47dac0e9f0bd57b81936f3db" 1106 1393 dependencies = [ 1107 1394 "tracing", 1108 1395 "tracing-subscriber", ··· 1110 1397 1111 1398 [[package]] 1112 1399 name = "tracing-subscriber" 1113 - version = "0.3.18" 1400 + version = "0.3.19" 1114 1401 source = "registry+https://github.com/rust-lang/crates.io-index" 1115 - checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" 1402 + checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008" 1116 1403 dependencies = [ 1117 1404 "sharded-slab", 1118 1405 "thread_local", ··· 1136 1423 "http", 1137 1424 "httparse", 1138 1425 "log", 1139 - "rand", 1426 + "rand 0.9.1", 1140 1427 "sha1", 1141 1428 "thiserror 2.0.12", 1142 1429 "utf-8", ··· 1149 1436 checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" 1150 1437 1151 1438 [[package]] 1152 - name = "unicode-bidi" 1153 - version = "0.3.15" 1154 - source = "registry+https://github.com/rust-lang/crates.io-index" 1155 - checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" 1156 - 1157 - [[package]] 1158 1439 name = "unicode-ident" 1159 - version = "1.0.12" 1440 + version = "1.0.18" 1160 1441 source = "registry+https://github.com/rust-lang/crates.io-index" 1161 - checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" 1442 + checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" 1162 1443 1163 1444 [[package]] 1164 - name = "unicode-normalization" 1165 - version = "0.1.23" 1445 + name = "unicode-segmentation" 1446 + version = "1.12.0" 1166 1447 source = "registry+https://github.com/rust-lang/crates.io-index" 1167 - checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" 1168 - dependencies = [ 1169 - "tinyvec", 1170 - ] 1448 + checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" 1171 1449 1172 1450 [[package]] 1173 1451 name = "url" 1174 - version = "2.5.2" 1452 + version = "2.5.4" 1175 1453 source = "registry+https://github.com/rust-lang/crates.io-index" 1176 - checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" 1454 + checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" 1177 1455 dependencies = [ 1178 1456 "form_urlencoded", 1179 1457 "idna", ··· 1187 1465 checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" 1188 1466 1189 1467 [[package]] 1468 + name = "utf8_iter" 1469 + version = "1.0.4" 1470 + source = "registry+https://github.com/rust-lang/crates.io-index" 1471 + checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" 1472 + 1473 + [[package]] 1190 1474 name = "valuable" 1191 - version = "0.1.0" 1475 + version = "0.1.1" 1192 1476 source = "registry+https://github.com/rust-lang/crates.io-index" 1193 - checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" 1477 + checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" 1194 1478 1195 1479 [[package]] 1196 1480 name = "version_check" ··· 1224 1508 1225 1509 [[package]] 1226 1510 name = "wasm-bindgen" 1227 - version = "0.2.92" 1511 + version = "0.2.100" 1228 1512 source = "registry+https://github.com/rust-lang/crates.io-index" 1229 - checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" 1513 + checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" 1230 1514 dependencies = [ 1231 1515 "cfg-if", 1516 + "once_cell", 1517 + "rustversion", 1232 1518 "wasm-bindgen-macro", 1233 1519 ] 1234 1520 1235 1521 [[package]] 1236 1522 name = "wasm-bindgen-backend" 1237 - version = "0.2.92" 1523 + version = "0.2.100" 1238 1524 source = "registry+https://github.com/rust-lang/crates.io-index" 1239 - checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" 1525 + checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" 1240 1526 dependencies = [ 1241 1527 "bumpalo", 1242 1528 "log", 1243 - "once_cell", 1244 1529 "proc-macro2", 1245 1530 "quote", 1246 - "syn", 1531 + "syn 2.0.101", 1247 1532 "wasm-bindgen-shared", 1248 1533 ] 1249 1534 1250 1535 [[package]] 1251 1536 name = "wasm-bindgen-macro" 1252 - version = "0.2.92" 1537 + version = "0.2.100" 1253 1538 source = "registry+https://github.com/rust-lang/crates.io-index" 1254 - checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" 1539 + checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" 1255 1540 dependencies = [ 1256 1541 "quote", 1257 1542 "wasm-bindgen-macro-support", ··· 1259 1544 1260 1545 [[package]] 1261 1546 name = "wasm-bindgen-macro-support" 1262 - version = "0.2.92" 1547 + version = "0.2.100" 1263 1548 source = "registry+https://github.com/rust-lang/crates.io-index" 1264 - checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" 1549 + checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" 1265 1550 dependencies = [ 1266 1551 "proc-macro2", 1267 1552 "quote", 1268 - "syn", 1553 + "syn 2.0.101", 1269 1554 "wasm-bindgen-backend", 1270 1555 "wasm-bindgen-shared", 1271 1556 ] 1272 1557 1273 1558 [[package]] 1274 1559 name = "wasm-bindgen-shared" 1275 - version = "0.2.92" 1560 + version = "0.2.100" 1276 1561 source = "registry+https://github.com/rust-lang/crates.io-index" 1277 - checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" 1562 + checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" 1563 + dependencies = [ 1564 + "unicode-ident", 1565 + ] 1278 1566 1279 1567 [[package]] 1280 1568 name = "winapi" ··· 1293 1581 checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" 1294 1582 1295 1583 [[package]] 1584 + name = "winapi-util" 1585 + version = "0.1.9" 1586 + source = "registry+https://github.com/rust-lang/crates.io-index" 1587 + checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" 1588 + dependencies = [ 1589 + "windows-sys 0.59.0", 1590 + ] 1591 + 1592 + [[package]] 1296 1593 name = "winapi-x86_64-pc-windows-gnu" 1297 1594 version = "0.4.0" 1298 1595 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1300 1597 1301 1598 [[package]] 1302 1599 name = "windows-core" 1303 - version = "0.52.0" 1600 + version = "0.61.2" 1601 + source = "registry+https://github.com/rust-lang/crates.io-index" 1602 + checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" 1603 + dependencies = [ 1604 + "windows-implement", 1605 + "windows-interface", 1606 + "windows-link", 1607 + "windows-result", 1608 + "windows-strings", 1609 + ] 1610 + 1611 + [[package]] 1612 + name = "windows-implement" 1613 + version = "0.60.0" 1614 + source = "registry+https://github.com/rust-lang/crates.io-index" 1615 + checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836" 1616 + dependencies = [ 1617 + "proc-macro2", 1618 + "quote", 1619 + "syn 2.0.101", 1620 + ] 1621 + 1622 + [[package]] 1623 + name = "windows-interface" 1624 + version = "0.59.1" 1625 + source = "registry+https://github.com/rust-lang/crates.io-index" 1626 + checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8" 1627 + dependencies = [ 1628 + "proc-macro2", 1629 + "quote", 1630 + "syn 2.0.101", 1631 + ] 1632 + 1633 + [[package]] 1634 + name = "windows-link" 1635 + version = "0.1.1" 1304 1636 source = "registry+https://github.com/rust-lang/crates.io-index" 1305 - checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" 1637 + checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38" 1638 + 1639 + [[package]] 1640 + name = "windows-result" 1641 + version = "0.3.4" 1642 + source = "registry+https://github.com/rust-lang/crates.io-index" 1643 + checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" 1306 1644 dependencies = [ 1307 - "windows-targets 0.52.6", 1645 + "windows-link", 1308 1646 ] 1309 1647 1310 1648 [[package]] 1311 - name = "windows-sys" 1312 - version = "0.48.0" 1649 + name = "windows-strings" 1650 + version = "0.4.2" 1313 1651 source = "registry+https://github.com/rust-lang/crates.io-index" 1314 - checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" 1652 + checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" 1315 1653 dependencies = [ 1316 - "windows-targets 0.48.5", 1654 + "windows-link", 1317 1655 ] 1318 1656 1319 1657 [[package]] ··· 1322 1660 source = "registry+https://github.com/rust-lang/crates.io-index" 1323 1661 checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" 1324 1662 dependencies = [ 1325 - "windows-targets 0.52.6", 1663 + "windows-targets", 1326 1664 ] 1327 1665 1328 1666 [[package]] 1329 - name = "windows-targets" 1330 - version = "0.48.5" 1667 + name = "windows-sys" 1668 + version = "0.59.0" 1331 1669 source = "registry+https://github.com/rust-lang/crates.io-index" 1332 - checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" 1670 + checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" 1333 1671 dependencies = [ 1334 - "windows_aarch64_gnullvm 0.48.5", 1335 - "windows_aarch64_msvc 0.48.5", 1336 - "windows_i686_gnu 0.48.5", 1337 - "windows_i686_msvc 0.48.5", 1338 - "windows_x86_64_gnu 0.48.5", 1339 - "windows_x86_64_gnullvm 0.48.5", 1340 - "windows_x86_64_msvc 0.48.5", 1672 + "windows-targets", 1341 1673 ] 1342 1674 1343 1675 [[package]] ··· 1346 1678 source = "registry+https://github.com/rust-lang/crates.io-index" 1347 1679 checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" 1348 1680 dependencies = [ 1349 - "windows_aarch64_gnullvm 0.52.6", 1350 - "windows_aarch64_msvc 0.52.6", 1351 - "windows_i686_gnu 0.52.6", 1681 + "windows_aarch64_gnullvm", 1682 + "windows_aarch64_msvc", 1683 + "windows_i686_gnu", 1352 1684 "windows_i686_gnullvm", 1353 - "windows_i686_msvc 0.52.6", 1354 - "windows_x86_64_gnu 0.52.6", 1355 - "windows_x86_64_gnullvm 0.52.6", 1356 - "windows_x86_64_msvc 0.52.6", 1685 + "windows_i686_msvc", 1686 + "windows_x86_64_gnu", 1687 + "windows_x86_64_gnullvm", 1688 + "windows_x86_64_msvc", 1357 1689 ] 1358 1690 1359 1691 [[package]] 1360 1692 name = "windows_aarch64_gnullvm" 1361 - version = "0.48.5" 1362 - source = "registry+https://github.com/rust-lang/crates.io-index" 1363 - checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" 1364 - 1365 - [[package]] 1366 - name = "windows_aarch64_gnullvm" 1367 1693 version = "0.52.6" 1368 1694 source = "registry+https://github.com/rust-lang/crates.io-index" 1369 1695 checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" 1370 1696 1371 1697 [[package]] 1372 1698 name = "windows_aarch64_msvc" 1373 - version = "0.48.5" 1374 - source = "registry+https://github.com/rust-lang/crates.io-index" 1375 - checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" 1376 - 1377 - [[package]] 1378 - name = "windows_aarch64_msvc" 1379 1699 version = "0.52.6" 1380 1700 source = "registry+https://github.com/rust-lang/crates.io-index" 1381 1701 checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" 1382 1702 1383 1703 [[package]] 1384 1704 name = "windows_i686_gnu" 1385 - version = "0.48.5" 1386 - source = "registry+https://github.com/rust-lang/crates.io-index" 1387 - checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" 1388 - 1389 - [[package]] 1390 - name = "windows_i686_gnu" 1391 1705 version = "0.52.6" 1392 1706 source = "registry+https://github.com/rust-lang/crates.io-index" 1393 1707 checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" ··· 1400 1714 1401 1715 [[package]] 1402 1716 name = "windows_i686_msvc" 1403 - version = "0.48.5" 1404 - source = "registry+https://github.com/rust-lang/crates.io-index" 1405 - checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" 1406 - 1407 - [[package]] 1408 - name = "windows_i686_msvc" 1409 1717 version = "0.52.6" 1410 1718 source = "registry+https://github.com/rust-lang/crates.io-index" 1411 1719 checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" 1412 1720 1413 1721 [[package]] 1414 1722 name = "windows_x86_64_gnu" 1415 - version = "0.48.5" 1416 - source = "registry+https://github.com/rust-lang/crates.io-index" 1417 - checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" 1418 - 1419 - [[package]] 1420 - name = "windows_x86_64_gnu" 1421 1723 version = "0.52.6" 1422 1724 source = "registry+https://github.com/rust-lang/crates.io-index" 1423 1725 checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" 1424 - 1425 - [[package]] 1426 - name = "windows_x86_64_gnullvm" 1427 - version = "0.48.5" 1428 - source = "registry+https://github.com/rust-lang/crates.io-index" 1429 - checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" 1430 1726 1431 1727 [[package]] 1432 1728 name = "windows_x86_64_gnullvm" ··· 1436 1732 1437 1733 [[package]] 1438 1734 name = "windows_x86_64_msvc" 1439 - version = "0.48.5" 1440 - source = "registry+https://github.com/rust-lang/crates.io-index" 1441 - checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" 1442 - 1443 - [[package]] 1444 - name = "windows_x86_64_msvc" 1445 1735 version = "0.52.6" 1446 1736 source = "registry+https://github.com/rust-lang/crates.io-index" 1447 1737 checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" ··· 1456 1746 ] 1457 1747 1458 1748 [[package]] 1749 + name = "writeable" 1750 + version = "0.6.1" 1751 + source = "registry+https://github.com/rust-lang/crates.io-index" 1752 + checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" 1753 + 1754 + [[package]] 1755 + name = "yoke" 1756 + version = "0.8.0" 1757 + source = "registry+https://github.com/rust-lang/crates.io-index" 1758 + checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc" 1759 + dependencies = [ 1760 + "serde", 1761 + "stable_deref_trait", 1762 + "yoke-derive", 1763 + "zerofrom", 1764 + ] 1765 + 1766 + [[package]] 1767 + name = "yoke-derive" 1768 + version = "0.8.0" 1769 + source = "registry+https://github.com/rust-lang/crates.io-index" 1770 + checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" 1771 + dependencies = [ 1772 + "proc-macro2", 1773 + "quote", 1774 + "syn 2.0.101", 1775 + "synstructure", 1776 + ] 1777 + 1778 + [[package]] 1459 1779 name = "zerocopy" 1460 1780 version = "0.8.25" 1461 1781 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1472 1792 dependencies = [ 1473 1793 "proc-macro2", 1474 1794 "quote", 1475 - "syn", 1795 + "syn 2.0.101", 1796 + ] 1797 + 1798 + [[package]] 1799 + name = "zerofrom" 1800 + version = "0.1.6" 1801 + source = "registry+https://github.com/rust-lang/crates.io-index" 1802 + checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" 1803 + dependencies = [ 1804 + "zerofrom-derive", 1805 + ] 1806 + 1807 + [[package]] 1808 + name = "zerofrom-derive" 1809 + version = "0.1.6" 1810 + source = "registry+https://github.com/rust-lang/crates.io-index" 1811 + checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" 1812 + dependencies = [ 1813 + "proc-macro2", 1814 + "quote", 1815 + "syn 2.0.101", 1816 + "synstructure", 1817 + ] 1818 + 1819 + [[package]] 1820 + name = "zerotrie" 1821 + version = "0.2.2" 1822 + source = "registry+https://github.com/rust-lang/crates.io-index" 1823 + checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595" 1824 + dependencies = [ 1825 + "displaydoc", 1826 + "yoke", 1827 + "zerofrom", 1828 + ] 1829 + 1830 + [[package]] 1831 + name = "zerovec" 1832 + version = "0.11.2" 1833 + source = "registry+https://github.com/rust-lang/crates.io-index" 1834 + checksum = "4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428" 1835 + dependencies = [ 1836 + "yoke", 1837 + "zerofrom", 1838 + "zerovec-derive", 1839 + ] 1840 + 1841 + [[package]] 1842 + name = "zerovec-derive" 1843 + version = "0.11.1" 1844 + source = "registry+https://github.com/rust-lang/crates.io-index" 1845 + checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" 1846 + dependencies = [ 1847 + "proc-macro2", 1848 + "quote", 1849 + "syn 2.0.101", 1476 1850 ]
+7 -2
packages/node/Cargo.toml
··· 1 1 [package] 2 - name = "luminary" 3 - version = "0.1.0" 2 + name = "luminary-node" 4 3 edition = "2021" 5 4 6 5 [dependencies] 7 6 bollard = { version = "0.16.1", features = ["chrono"] } 8 7 color-eyre = "0.6.3" 9 8 eyre = "0.6.12" 9 + futures-util = "0.3.31" 10 + serde = "1.0.219" 11 + serde_json = "1.0.140" 12 + specta = { version = "1.0.5", features = ["functions"] } 10 13 tokio = { version = "1", features = ["rt-multi-thread", "macros"] } 11 14 tokio-tungstenite = "0.26.2" 15 + luminary-macros = { workspace = true } 16 + phf = "0.12.1"
+26 -5
packages/node/src/main.rs
··· 1 - use bollard::Docker; 2 - use eyre::{Ok, Result}; 1 + use eyre::Result; 2 + use futures_util::{future, SinkExt, StreamExt, TryStreamExt}; 3 + use tokio::{net::TcpListener, spawn}; 4 + use tokio_tungstenite::{accept_async, tungstenite::Message}; 5 + 6 + pub mod server; 3 7 4 8 #[tokio::main] 5 9 async fn main() -> Result<()> { 6 - let docker = Docker::connect_with_defaults()?; 10 + let listener = TcpListener::bind("0.0.0.0:9000").await?; 11 + 12 + while let Ok((socket, addr)) = listener.accept().await { 13 + println!("Accepting {}", addr); 14 + 15 + spawn(async move { 16 + let websocket = accept_async(socket).await.unwrap(); 17 + let (mut write, read) = websocket.split(); 18 + 19 + let mut rx = read.try_filter(|msg| future::ready(msg.is_binary() || msg.is_text())); 20 + while rx.next().await.is_some_and(|r| r.is_ok()) { 21 + write 22 + .send(Message::Text("Hello, World!".into())) 23 + .await 24 + .unwrap(); 25 + } 26 + 27 + println!("{} disconnected", addr); 28 + }); 29 + } 7 30 8 - let version = docker.version().await?; 9 - println!("{:?}", version); 10 31 return Ok(()); 11 32 }
+17
packages/node/src/server.rs
··· 1 + use eyre::Result; 2 + use luminary_macros::command; 3 + use serde_json::json; 4 + 5 + struct CommandContext {} 6 + 7 + fn main() -> Result<()> { 8 + PingCommand { time: 42 }; 9 + let _ = ping(CommandContext {}, json!({"time": 42})); 10 + return Ok(()); 11 + } 12 + 13 + #[command] 14 + fn ping(_ctx: CommandContext, time: u64) -> Result<()> { 15 + println!("Ping received! {:}", time); 16 + return Ok(()); 17 + }
+1 -2
packages/panel/package.json
··· 1 1 { 2 - "name": "panel", 2 + "name": "luminary-panel", 3 3 "private": true, 4 - "version": "0.0.1", 5 4 "type": "module", 6 5 "scripts": { 7 6 "dev": "vite dev",