Nix Observability Daemon
observability nix
2
fork

Configure Feed

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

init

+2914
+2
.gitignore
··· 1 + /target 2 + /result
+2381
Cargo.lock
··· 1 + # This file is automatically @generated by Cargo. 2 + # It is not intended for manual editing. 3 + version = 4 4 + 5 + [[package]] 6 + name = "ahash" 7 + version = "0.8.12" 8 + source = "registry+https://github.com/rust-lang/crates.io-index" 9 + checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" 10 + dependencies = [ 11 + "cfg-if", 12 + "getrandom 0.3.4", 13 + "once_cell", 14 + "version_check", 15 + "zerocopy", 16 + ] 17 + 18 + [[package]] 19 + name = "allocator-api2" 20 + version = "0.2.21" 21 + source = "registry+https://github.com/rust-lang/crates.io-index" 22 + checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" 23 + 24 + [[package]] 25 + name = "android_system_properties" 26 + version = "0.1.5" 27 + source = "registry+https://github.com/rust-lang/crates.io-index" 28 + checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" 29 + dependencies = [ 30 + "libc", 31 + ] 32 + 33 + [[package]] 34 + name = "anstream" 35 + version = "0.6.21" 36 + source = "registry+https://github.com/rust-lang/crates.io-index" 37 + checksum = "43d5b281e737544384e969a5ccad3f1cdd24b48086a0fc1b2a5262a26b8f4f4a" 38 + dependencies = [ 39 + "anstyle", 40 + "anstyle-parse", 41 + "anstyle-query", 42 + "anstyle-wincon", 43 + "colorchoice", 44 + "is_terminal_polyfill", 45 + "utf8parse", 46 + ] 47 + 48 + [[package]] 49 + name = "anstyle" 50 + version = "1.0.13" 51 + source = "registry+https://github.com/rust-lang/crates.io-index" 52 + checksum = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78" 53 + 54 + [[package]] 55 + name = "anstyle-parse" 56 + version = "0.2.7" 57 + source = "registry+https://github.com/rust-lang/crates.io-index" 58 + checksum = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" 59 + dependencies = [ 60 + "utf8parse", 61 + ] 62 + 63 + [[package]] 64 + name = "anstyle-query" 65 + version = "1.1.5" 66 + source = "registry+https://github.com/rust-lang/crates.io-index" 67 + checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" 68 + dependencies = [ 69 + "windows-sys 0.61.2", 70 + ] 71 + 72 + [[package]] 73 + name = "anstyle-wincon" 74 + version = "3.0.11" 75 + source = "registry+https://github.com/rust-lang/crates.io-index" 76 + checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" 77 + dependencies = [ 78 + "anstyle", 79 + "once_cell_polyfill", 80 + "windows-sys 0.61.2", 81 + ] 82 + 83 + [[package]] 84 + name = "anyhow" 85 + version = "1.0.102" 86 + source = "registry+https://github.com/rust-lang/crates.io-index" 87 + checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c" 88 + 89 + [[package]] 90 + name = "atoi" 91 + version = "2.0.0" 92 + source = "registry+https://github.com/rust-lang/crates.io-index" 93 + checksum = "f28d99ec8bfea296261ca1af174f24225171fea9664ba9003cbebee704810528" 94 + dependencies = [ 95 + "num-traits", 96 + ] 97 + 98 + [[package]] 99 + name = "autocfg" 100 + version = "1.5.0" 101 + source = "registry+https://github.com/rust-lang/crates.io-index" 102 + checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" 103 + 104 + [[package]] 105 + name = "base64" 106 + version = "0.21.7" 107 + source = "registry+https://github.com/rust-lang/crates.io-index" 108 + checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" 109 + 110 + [[package]] 111 + name = "base64ct" 112 + version = "1.8.3" 113 + source = "registry+https://github.com/rust-lang/crates.io-index" 114 + checksum = "2af50177e190e07a26ab74f8b1efbfe2ef87da2116221318cb1c2e82baf7de06" 115 + 116 + [[package]] 117 + name = "bitflags" 118 + version = "2.11.0" 119 + source = "registry+https://github.com/rust-lang/crates.io-index" 120 + checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af" 121 + dependencies = [ 122 + "serde_core", 123 + ] 124 + 125 + [[package]] 126 + name = "block-buffer" 127 + version = "0.10.4" 128 + source = "registry+https://github.com/rust-lang/crates.io-index" 129 + checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" 130 + dependencies = [ 131 + "generic-array", 132 + ] 133 + 134 + [[package]] 135 + name = "bumpalo" 136 + version = "3.20.2" 137 + source = "registry+https://github.com/rust-lang/crates.io-index" 138 + checksum = "5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb" 139 + 140 + [[package]] 141 + name = "byteorder" 142 + version = "1.5.0" 143 + source = "registry+https://github.com/rust-lang/crates.io-index" 144 + checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" 145 + 146 + [[package]] 147 + name = "bytes" 148 + version = "1.11.1" 149 + source = "registry+https://github.com/rust-lang/crates.io-index" 150 + checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" 151 + 152 + [[package]] 153 + name = "cc" 154 + version = "1.2.56" 155 + source = "registry+https://github.com/rust-lang/crates.io-index" 156 + checksum = "aebf35691d1bfb0ac386a69bac2fde4dd276fb618cf8bf4f5318fe285e821bb2" 157 + dependencies = [ 158 + "find-msvc-tools", 159 + "shlex", 160 + ] 161 + 162 + [[package]] 163 + name = "cfg-if" 164 + version = "1.0.4" 165 + source = "registry+https://github.com/rust-lang/crates.io-index" 166 + checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" 167 + 168 + [[package]] 169 + name = "chrono" 170 + version = "0.4.44" 171 + source = "registry+https://github.com/rust-lang/crates.io-index" 172 + checksum = "c673075a2e0e5f4a1dde27ce9dee1ea4558c7ffe648f576438a20ca1d2acc4b0" 173 + dependencies = [ 174 + "iana-time-zone", 175 + "js-sys", 176 + "num-traits", 177 + "wasm-bindgen", 178 + "windows-link", 179 + ] 180 + 181 + [[package]] 182 + name = "clap" 183 + version = "4.5.60" 184 + source = "registry+https://github.com/rust-lang/crates.io-index" 185 + checksum = "2797f34da339ce31042b27d23607e051786132987f595b02ba4f6a6dffb7030a" 186 + dependencies = [ 187 + "clap_builder", 188 + "clap_derive", 189 + ] 190 + 191 + [[package]] 192 + name = "clap_builder" 193 + version = "4.5.60" 194 + source = "registry+https://github.com/rust-lang/crates.io-index" 195 + checksum = "24a241312cea5059b13574bb9b3861cabf758b879c15190b37b6d6fd63ab6876" 196 + dependencies = [ 197 + "anstream", 198 + "anstyle", 199 + "clap_lex", 200 + "strsim", 201 + ] 202 + 203 + [[package]] 204 + name = "clap_derive" 205 + version = "4.5.55" 206 + source = "registry+https://github.com/rust-lang/crates.io-index" 207 + checksum = "a92793da1a46a5f2a02a6f4c46c6496b28c43638adea8306fcb0caa1634f24e5" 208 + dependencies = [ 209 + "heck 0.5.0", 210 + "proc-macro2", 211 + "quote", 212 + "syn 2.0.117", 213 + ] 214 + 215 + [[package]] 216 + name = "clap_lex" 217 + version = "1.0.0" 218 + source = "registry+https://github.com/rust-lang/crates.io-index" 219 + checksum = "3a822ea5bc7590f9d40f1ba12c0dc3c2760f3482c6984db1573ad11031420831" 220 + 221 + [[package]] 222 + name = "colorchoice" 223 + version = "1.0.4" 224 + source = "registry+https://github.com/rust-lang/crates.io-index" 225 + checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" 226 + 227 + [[package]] 228 + name = "const-oid" 229 + version = "0.9.6" 230 + source = "registry+https://github.com/rust-lang/crates.io-index" 231 + checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" 232 + 233 + [[package]] 234 + name = "core-foundation-sys" 235 + version = "0.8.7" 236 + source = "registry+https://github.com/rust-lang/crates.io-index" 237 + checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" 238 + 239 + [[package]] 240 + name = "cpufeatures" 241 + version = "0.2.17" 242 + source = "registry+https://github.com/rust-lang/crates.io-index" 243 + checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" 244 + dependencies = [ 245 + "libc", 246 + ] 247 + 248 + [[package]] 249 + name = "crc" 250 + version = "3.4.0" 251 + source = "registry+https://github.com/rust-lang/crates.io-index" 252 + checksum = "5eb8a2a1cd12ab0d987a5d5e825195d372001a4094a0376319d5a0ad71c1ba0d" 253 + dependencies = [ 254 + "crc-catalog", 255 + ] 256 + 257 + [[package]] 258 + name = "crc-catalog" 259 + version = "2.4.0" 260 + source = "registry+https://github.com/rust-lang/crates.io-index" 261 + checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" 262 + 263 + [[package]] 264 + name = "crossbeam-queue" 265 + version = "0.3.12" 266 + source = "registry+https://github.com/rust-lang/crates.io-index" 267 + checksum = "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115" 268 + dependencies = [ 269 + "crossbeam-utils", 270 + ] 271 + 272 + [[package]] 273 + name = "crossbeam-utils" 274 + version = "0.8.21" 275 + source = "registry+https://github.com/rust-lang/crates.io-index" 276 + checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" 277 + 278 + [[package]] 279 + name = "crypto-common" 280 + version = "0.1.7" 281 + source = "registry+https://github.com/rust-lang/crates.io-index" 282 + checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" 283 + dependencies = [ 284 + "generic-array", 285 + "typenum", 286 + ] 287 + 288 + [[package]] 289 + name = "der" 290 + version = "0.7.10" 291 + source = "registry+https://github.com/rust-lang/crates.io-index" 292 + checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" 293 + dependencies = [ 294 + "const-oid", 295 + "pem-rfc7468", 296 + "zeroize", 297 + ] 298 + 299 + [[package]] 300 + name = "digest" 301 + version = "0.10.7" 302 + source = "registry+https://github.com/rust-lang/crates.io-index" 303 + checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" 304 + dependencies = [ 305 + "block-buffer", 306 + "const-oid", 307 + "crypto-common", 308 + "subtle", 309 + ] 310 + 311 + [[package]] 312 + name = "displaydoc" 313 + version = "0.2.5" 314 + source = "registry+https://github.com/rust-lang/crates.io-index" 315 + checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" 316 + dependencies = [ 317 + "proc-macro2", 318 + "quote", 319 + "syn 2.0.117", 320 + ] 321 + 322 + [[package]] 323 + name = "dotenvy" 324 + version = "0.15.7" 325 + source = "registry+https://github.com/rust-lang/crates.io-index" 326 + checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" 327 + 328 + [[package]] 329 + name = "either" 330 + version = "1.15.0" 331 + source = "registry+https://github.com/rust-lang/crates.io-index" 332 + checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" 333 + dependencies = [ 334 + "serde", 335 + ] 336 + 337 + [[package]] 338 + name = "equivalent" 339 + version = "1.0.2" 340 + source = "registry+https://github.com/rust-lang/crates.io-index" 341 + checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" 342 + 343 + [[package]] 344 + name = "errno" 345 + version = "0.3.14" 346 + source = "registry+https://github.com/rust-lang/crates.io-index" 347 + checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" 348 + dependencies = [ 349 + "libc", 350 + "windows-sys 0.61.2", 351 + ] 352 + 353 + [[package]] 354 + name = "etcetera" 355 + version = "0.8.0" 356 + source = "registry+https://github.com/rust-lang/crates.io-index" 357 + checksum = "136d1b5283a1ab77bd9257427ffd09d8667ced0570b6f938942bc7568ed5b943" 358 + dependencies = [ 359 + "cfg-if", 360 + "home", 361 + "windows-sys 0.48.0", 362 + ] 363 + 364 + [[package]] 365 + name = "event-listener" 366 + version = "2.5.3" 367 + source = "registry+https://github.com/rust-lang/crates.io-index" 368 + checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" 369 + 370 + [[package]] 371 + name = "fastrand" 372 + version = "2.3.0" 373 + source = "registry+https://github.com/rust-lang/crates.io-index" 374 + checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" 375 + 376 + [[package]] 377 + name = "find-msvc-tools" 378 + version = "0.1.9" 379 + source = "registry+https://github.com/rust-lang/crates.io-index" 380 + checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" 381 + 382 + [[package]] 383 + name = "flume" 384 + version = "0.11.1" 385 + source = "registry+https://github.com/rust-lang/crates.io-index" 386 + checksum = "da0e4dd2a88388a1f4ccc7c9ce104604dab68d9f408dc34cd45823d5a9069095" 387 + dependencies = [ 388 + "futures-core", 389 + "futures-sink", 390 + "spin", 391 + ] 392 + 393 + [[package]] 394 + name = "foldhash" 395 + version = "0.1.5" 396 + source = "registry+https://github.com/rust-lang/crates.io-index" 397 + checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" 398 + 399 + [[package]] 400 + name = "form_urlencoded" 401 + version = "1.2.2" 402 + source = "registry+https://github.com/rust-lang/crates.io-index" 403 + checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" 404 + dependencies = [ 405 + "percent-encoding", 406 + ] 407 + 408 + [[package]] 409 + name = "futures" 410 + version = "0.3.32" 411 + source = "registry+https://github.com/rust-lang/crates.io-index" 412 + checksum = "8b147ee9d1f6d097cef9ce628cd2ee62288d963e16fb287bd9286455b241382d" 413 + dependencies = [ 414 + "futures-channel", 415 + "futures-core", 416 + "futures-executor", 417 + "futures-io", 418 + "futures-sink", 419 + "futures-task", 420 + "futures-util", 421 + ] 422 + 423 + [[package]] 424 + name = "futures-channel" 425 + version = "0.3.32" 426 + source = "registry+https://github.com/rust-lang/crates.io-index" 427 + checksum = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d" 428 + dependencies = [ 429 + "futures-core", 430 + "futures-sink", 431 + ] 432 + 433 + [[package]] 434 + name = "futures-core" 435 + version = "0.3.32" 436 + source = "registry+https://github.com/rust-lang/crates.io-index" 437 + checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d" 438 + 439 + [[package]] 440 + name = "futures-executor" 441 + version = "0.3.32" 442 + source = "registry+https://github.com/rust-lang/crates.io-index" 443 + checksum = "baf29c38818342a3b26b5b923639e7b1f4a61fc5e76102d4b1981c6dc7a7579d" 444 + dependencies = [ 445 + "futures-core", 446 + "futures-task", 447 + "futures-util", 448 + ] 449 + 450 + [[package]] 451 + name = "futures-intrusive" 452 + version = "0.5.0" 453 + source = "registry+https://github.com/rust-lang/crates.io-index" 454 + checksum = "1d930c203dd0b6ff06e0201a4a2fe9149b43c684fd4420555b26d21b1a02956f" 455 + dependencies = [ 456 + "futures-core", 457 + "lock_api", 458 + "parking_lot", 459 + ] 460 + 461 + [[package]] 462 + name = "futures-io" 463 + version = "0.3.32" 464 + source = "registry+https://github.com/rust-lang/crates.io-index" 465 + checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718" 466 + 467 + [[package]] 468 + name = "futures-macro" 469 + version = "0.3.32" 470 + source = "registry+https://github.com/rust-lang/crates.io-index" 471 + checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b" 472 + dependencies = [ 473 + "proc-macro2", 474 + "quote", 475 + "syn 2.0.117", 476 + ] 477 + 478 + [[package]] 479 + name = "futures-sink" 480 + version = "0.3.32" 481 + source = "registry+https://github.com/rust-lang/crates.io-index" 482 + checksum = "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893" 483 + 484 + [[package]] 485 + name = "futures-task" 486 + version = "0.3.32" 487 + source = "registry+https://github.com/rust-lang/crates.io-index" 488 + checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393" 489 + 490 + [[package]] 491 + name = "futures-util" 492 + version = "0.3.32" 493 + source = "registry+https://github.com/rust-lang/crates.io-index" 494 + checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6" 495 + dependencies = [ 496 + "futures-channel", 497 + "futures-core", 498 + "futures-io", 499 + "futures-macro", 500 + "futures-sink", 501 + "futures-task", 502 + "memchr", 503 + "pin-project-lite", 504 + "slab", 505 + ] 506 + 507 + [[package]] 508 + name = "generic-array" 509 + version = "0.14.7" 510 + source = "registry+https://github.com/rust-lang/crates.io-index" 511 + checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" 512 + dependencies = [ 513 + "typenum", 514 + "version_check", 515 + ] 516 + 517 + [[package]] 518 + name = "getrandom" 519 + version = "0.2.17" 520 + source = "registry+https://github.com/rust-lang/crates.io-index" 521 + checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" 522 + dependencies = [ 523 + "cfg-if", 524 + "libc", 525 + "wasi", 526 + ] 527 + 528 + [[package]] 529 + name = "getrandom" 530 + version = "0.3.4" 531 + source = "registry+https://github.com/rust-lang/crates.io-index" 532 + checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" 533 + dependencies = [ 534 + "cfg-if", 535 + "libc", 536 + "r-efi 5.3.0", 537 + "wasip2", 538 + ] 539 + 540 + [[package]] 541 + name = "getrandom" 542 + version = "0.4.2" 543 + source = "registry+https://github.com/rust-lang/crates.io-index" 544 + checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555" 545 + dependencies = [ 546 + "cfg-if", 547 + "libc", 548 + "r-efi 6.0.0", 549 + "wasip2", 550 + "wasip3", 551 + ] 552 + 553 + [[package]] 554 + name = "hashbrown" 555 + version = "0.14.5" 556 + source = "registry+https://github.com/rust-lang/crates.io-index" 557 + checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" 558 + dependencies = [ 559 + "ahash", 560 + "allocator-api2", 561 + ] 562 + 563 + [[package]] 564 + name = "hashbrown" 565 + version = "0.15.5" 566 + source = "registry+https://github.com/rust-lang/crates.io-index" 567 + checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" 568 + dependencies = [ 569 + "foldhash", 570 + ] 571 + 572 + [[package]] 573 + name = "hashbrown" 574 + version = "0.16.1" 575 + source = "registry+https://github.com/rust-lang/crates.io-index" 576 + checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" 577 + 578 + [[package]] 579 + name = "hashlink" 580 + version = "0.8.4" 581 + source = "registry+https://github.com/rust-lang/crates.io-index" 582 + checksum = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7" 583 + dependencies = [ 584 + "hashbrown 0.14.5", 585 + ] 586 + 587 + [[package]] 588 + name = "heck" 589 + version = "0.4.1" 590 + source = "registry+https://github.com/rust-lang/crates.io-index" 591 + checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" 592 + dependencies = [ 593 + "unicode-segmentation", 594 + ] 595 + 596 + [[package]] 597 + name = "heck" 598 + version = "0.5.0" 599 + source = "registry+https://github.com/rust-lang/crates.io-index" 600 + checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" 601 + 602 + [[package]] 603 + name = "hex" 604 + version = "0.4.3" 605 + source = "registry+https://github.com/rust-lang/crates.io-index" 606 + checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" 607 + 608 + [[package]] 609 + name = "hkdf" 610 + version = "0.12.4" 611 + source = "registry+https://github.com/rust-lang/crates.io-index" 612 + checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" 613 + dependencies = [ 614 + "hmac", 615 + ] 616 + 617 + [[package]] 618 + name = "hmac" 619 + version = "0.12.1" 620 + source = "registry+https://github.com/rust-lang/crates.io-index" 621 + checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" 622 + dependencies = [ 623 + "digest", 624 + ] 625 + 626 + [[package]] 627 + name = "home" 628 + version = "0.5.12" 629 + source = "registry+https://github.com/rust-lang/crates.io-index" 630 + checksum = "cc627f471c528ff0c4a49e1d5e60450c8f6461dd6d10ba9dcd3a61d3dff7728d" 631 + dependencies = [ 632 + "windows-sys 0.61.2", 633 + ] 634 + 635 + [[package]] 636 + name = "iana-time-zone" 637 + version = "0.1.65" 638 + source = "registry+https://github.com/rust-lang/crates.io-index" 639 + checksum = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470" 640 + dependencies = [ 641 + "android_system_properties", 642 + "core-foundation-sys", 643 + "iana-time-zone-haiku", 644 + "js-sys", 645 + "log", 646 + "wasm-bindgen", 647 + "windows-core", 648 + ] 649 + 650 + [[package]] 651 + name = "iana-time-zone-haiku" 652 + version = "0.1.2" 653 + source = "registry+https://github.com/rust-lang/crates.io-index" 654 + checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" 655 + dependencies = [ 656 + "cc", 657 + ] 658 + 659 + [[package]] 660 + name = "icu_collections" 661 + version = "2.1.1" 662 + source = "registry+https://github.com/rust-lang/crates.io-index" 663 + checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" 664 + dependencies = [ 665 + "displaydoc", 666 + "potential_utf", 667 + "yoke", 668 + "zerofrom", 669 + "zerovec", 670 + ] 671 + 672 + [[package]] 673 + name = "icu_locale_core" 674 + version = "2.1.1" 675 + source = "registry+https://github.com/rust-lang/crates.io-index" 676 + checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" 677 + dependencies = [ 678 + "displaydoc", 679 + "litemap", 680 + "tinystr", 681 + "writeable", 682 + "zerovec", 683 + ] 684 + 685 + [[package]] 686 + name = "icu_normalizer" 687 + version = "2.1.1" 688 + source = "registry+https://github.com/rust-lang/crates.io-index" 689 + checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" 690 + dependencies = [ 691 + "icu_collections", 692 + "icu_normalizer_data", 693 + "icu_properties", 694 + "icu_provider", 695 + "smallvec", 696 + "zerovec", 697 + ] 698 + 699 + [[package]] 700 + name = "icu_normalizer_data" 701 + version = "2.1.1" 702 + source = "registry+https://github.com/rust-lang/crates.io-index" 703 + checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" 704 + 705 + [[package]] 706 + name = "icu_properties" 707 + version = "2.1.2" 708 + source = "registry+https://github.com/rust-lang/crates.io-index" 709 + checksum = "020bfc02fe870ec3a66d93e677ccca0562506e5872c650f893269e08615d74ec" 710 + dependencies = [ 711 + "icu_collections", 712 + "icu_locale_core", 713 + "icu_properties_data", 714 + "icu_provider", 715 + "zerotrie", 716 + "zerovec", 717 + ] 718 + 719 + [[package]] 720 + name = "icu_properties_data" 721 + version = "2.1.2" 722 + source = "registry+https://github.com/rust-lang/crates.io-index" 723 + checksum = "616c294cf8d725c6afcd8f55abc17c56464ef6211f9ed59cccffe534129c77af" 724 + 725 + [[package]] 726 + name = "icu_provider" 727 + version = "2.1.1" 728 + source = "registry+https://github.com/rust-lang/crates.io-index" 729 + checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" 730 + dependencies = [ 731 + "displaydoc", 732 + "icu_locale_core", 733 + "writeable", 734 + "yoke", 735 + "zerofrom", 736 + "zerotrie", 737 + "zerovec", 738 + ] 739 + 740 + [[package]] 741 + name = "id-arena" 742 + version = "2.3.0" 743 + source = "registry+https://github.com/rust-lang/crates.io-index" 744 + checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" 745 + 746 + [[package]] 747 + name = "idna" 748 + version = "1.1.0" 749 + source = "registry+https://github.com/rust-lang/crates.io-index" 750 + checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" 751 + dependencies = [ 752 + "idna_adapter", 753 + "smallvec", 754 + "utf8_iter", 755 + ] 756 + 757 + [[package]] 758 + name = "idna_adapter" 759 + version = "1.2.1" 760 + source = "registry+https://github.com/rust-lang/crates.io-index" 761 + checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" 762 + dependencies = [ 763 + "icu_normalizer", 764 + "icu_properties", 765 + ] 766 + 767 + [[package]] 768 + name = "indexmap" 769 + version = "2.13.0" 770 + source = "registry+https://github.com/rust-lang/crates.io-index" 771 + checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" 772 + dependencies = [ 773 + "equivalent", 774 + "hashbrown 0.16.1", 775 + "serde", 776 + "serde_core", 777 + ] 778 + 779 + [[package]] 780 + name = "is_terminal_polyfill" 781 + version = "1.70.2" 782 + source = "registry+https://github.com/rust-lang/crates.io-index" 783 + checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" 784 + 785 + [[package]] 786 + name = "itoa" 787 + version = "1.0.17" 788 + source = "registry+https://github.com/rust-lang/crates.io-index" 789 + checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" 790 + 791 + [[package]] 792 + name = "js-sys" 793 + version = "0.3.91" 794 + source = "registry+https://github.com/rust-lang/crates.io-index" 795 + checksum = "b49715b7073f385ba4bc528e5747d02e66cb39c6146efb66b781f131f0fb399c" 796 + dependencies = [ 797 + "once_cell", 798 + "wasm-bindgen", 799 + ] 800 + 801 + [[package]] 802 + name = "lazy_static" 803 + version = "1.5.0" 804 + source = "registry+https://github.com/rust-lang/crates.io-index" 805 + checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" 806 + dependencies = [ 807 + "spin", 808 + ] 809 + 810 + [[package]] 811 + name = "leb128fmt" 812 + version = "0.1.0" 813 + source = "registry+https://github.com/rust-lang/crates.io-index" 814 + checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" 815 + 816 + [[package]] 817 + name = "libc" 818 + version = "0.2.183" 819 + source = "registry+https://github.com/rust-lang/crates.io-index" 820 + checksum = "b5b646652bf6661599e1da8901b3b9522896f01e736bad5f723fe7a3a27f899d" 821 + 822 + [[package]] 823 + name = "libm" 824 + version = "0.2.16" 825 + source = "registry+https://github.com/rust-lang/crates.io-index" 826 + checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" 827 + 828 + [[package]] 829 + name = "libredox" 830 + version = "0.1.14" 831 + source = "registry+https://github.com/rust-lang/crates.io-index" 832 + checksum = "1744e39d1d6a9948f4f388969627434e31128196de472883b39f148769bfe30a" 833 + dependencies = [ 834 + "bitflags", 835 + "libc", 836 + "plain", 837 + "redox_syscall 0.7.3", 838 + ] 839 + 840 + [[package]] 841 + name = "libsqlite3-sys" 842 + version = "0.27.0" 843 + source = "registry+https://github.com/rust-lang/crates.io-index" 844 + checksum = "cf4e226dcd58b4be396f7bd3c20da8fdee2911400705297ba7d2d7cc2c30f716" 845 + dependencies = [ 846 + "cc", 847 + "pkg-config", 848 + "vcpkg", 849 + ] 850 + 851 + [[package]] 852 + name = "linux-raw-sys" 853 + version = "0.12.1" 854 + source = "registry+https://github.com/rust-lang/crates.io-index" 855 + checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" 856 + 857 + [[package]] 858 + name = "litemap" 859 + version = "0.8.1" 860 + source = "registry+https://github.com/rust-lang/crates.io-index" 861 + checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" 862 + 863 + [[package]] 864 + name = "lock_api" 865 + version = "0.4.14" 866 + source = "registry+https://github.com/rust-lang/crates.io-index" 867 + checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" 868 + dependencies = [ 869 + "scopeguard", 870 + ] 871 + 872 + [[package]] 873 + name = "log" 874 + version = "0.4.29" 875 + source = "registry+https://github.com/rust-lang/crates.io-index" 876 + checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" 877 + 878 + [[package]] 879 + name = "md-5" 880 + version = "0.10.6" 881 + source = "registry+https://github.com/rust-lang/crates.io-index" 882 + checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" 883 + dependencies = [ 884 + "cfg-if", 885 + "digest", 886 + ] 887 + 888 + [[package]] 889 + name = "memchr" 890 + version = "2.8.0" 891 + source = "registry+https://github.com/rust-lang/crates.io-index" 892 + checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" 893 + 894 + [[package]] 895 + name = "minimal-lexical" 896 + version = "0.2.1" 897 + source = "registry+https://github.com/rust-lang/crates.io-index" 898 + checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" 899 + 900 + [[package]] 901 + name = "mio" 902 + version = "1.1.1" 903 + source = "registry+https://github.com/rust-lang/crates.io-index" 904 + checksum = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc" 905 + dependencies = [ 906 + "libc", 907 + "wasi", 908 + "windows-sys 0.61.2", 909 + ] 910 + 911 + [[package]] 912 + name = "nix-observability-daemon" 913 + version = "0.1.0" 914 + dependencies = [ 915 + "anyhow", 916 + "bytes", 917 + "chrono", 918 + "clap", 919 + "futures", 920 + "serde", 921 + "serde_json", 922 + "sqlx", 923 + "tokio", 924 + "tokio-util", 925 + "tracing", 926 + "tracing-subscriber", 927 + ] 928 + 929 + [[package]] 930 + name = "nom" 931 + version = "7.1.3" 932 + source = "registry+https://github.com/rust-lang/crates.io-index" 933 + checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" 934 + dependencies = [ 935 + "memchr", 936 + "minimal-lexical", 937 + ] 938 + 939 + [[package]] 940 + name = "nu-ansi-term" 941 + version = "0.50.3" 942 + source = "registry+https://github.com/rust-lang/crates.io-index" 943 + checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" 944 + dependencies = [ 945 + "windows-sys 0.61.2", 946 + ] 947 + 948 + [[package]] 949 + name = "num-bigint-dig" 950 + version = "0.8.6" 951 + source = "registry+https://github.com/rust-lang/crates.io-index" 952 + checksum = "e661dda6640fad38e827a6d4a310ff4763082116fe217f279885c97f511bb0b7" 953 + dependencies = [ 954 + "lazy_static", 955 + "libm", 956 + "num-integer", 957 + "num-iter", 958 + "num-traits", 959 + "rand", 960 + "smallvec", 961 + "zeroize", 962 + ] 963 + 964 + [[package]] 965 + name = "num-integer" 966 + version = "0.1.46" 967 + source = "registry+https://github.com/rust-lang/crates.io-index" 968 + checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" 969 + dependencies = [ 970 + "num-traits", 971 + ] 972 + 973 + [[package]] 974 + name = "num-iter" 975 + version = "0.1.45" 976 + source = "registry+https://github.com/rust-lang/crates.io-index" 977 + checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" 978 + dependencies = [ 979 + "autocfg", 980 + "num-integer", 981 + "num-traits", 982 + ] 983 + 984 + [[package]] 985 + name = "num-traits" 986 + version = "0.2.19" 987 + source = "registry+https://github.com/rust-lang/crates.io-index" 988 + checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" 989 + dependencies = [ 990 + "autocfg", 991 + "libm", 992 + ] 993 + 994 + [[package]] 995 + name = "once_cell" 996 + version = "1.21.4" 997 + source = "registry+https://github.com/rust-lang/crates.io-index" 998 + checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" 999 + 1000 + [[package]] 1001 + name = "once_cell_polyfill" 1002 + version = "1.70.2" 1003 + source = "registry+https://github.com/rust-lang/crates.io-index" 1004 + checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" 1005 + 1006 + [[package]] 1007 + name = "parking_lot" 1008 + version = "0.12.5" 1009 + source = "registry+https://github.com/rust-lang/crates.io-index" 1010 + checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" 1011 + dependencies = [ 1012 + "lock_api", 1013 + "parking_lot_core", 1014 + ] 1015 + 1016 + [[package]] 1017 + name = "parking_lot_core" 1018 + version = "0.9.12" 1019 + source = "registry+https://github.com/rust-lang/crates.io-index" 1020 + checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" 1021 + dependencies = [ 1022 + "cfg-if", 1023 + "libc", 1024 + "redox_syscall 0.5.18", 1025 + "smallvec", 1026 + "windows-link", 1027 + ] 1028 + 1029 + [[package]] 1030 + name = "paste" 1031 + version = "1.0.15" 1032 + source = "registry+https://github.com/rust-lang/crates.io-index" 1033 + checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" 1034 + 1035 + [[package]] 1036 + name = "pem-rfc7468" 1037 + version = "0.7.0" 1038 + source = "registry+https://github.com/rust-lang/crates.io-index" 1039 + checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" 1040 + dependencies = [ 1041 + "base64ct", 1042 + ] 1043 + 1044 + [[package]] 1045 + name = "percent-encoding" 1046 + version = "2.3.2" 1047 + source = "registry+https://github.com/rust-lang/crates.io-index" 1048 + checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" 1049 + 1050 + [[package]] 1051 + name = "pin-project-lite" 1052 + version = "0.2.17" 1053 + source = "registry+https://github.com/rust-lang/crates.io-index" 1054 + checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" 1055 + 1056 + [[package]] 1057 + name = "pkcs1" 1058 + version = "0.7.5" 1059 + source = "registry+https://github.com/rust-lang/crates.io-index" 1060 + checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" 1061 + dependencies = [ 1062 + "der", 1063 + "pkcs8", 1064 + "spki", 1065 + ] 1066 + 1067 + [[package]] 1068 + name = "pkcs8" 1069 + version = "0.10.2" 1070 + source = "registry+https://github.com/rust-lang/crates.io-index" 1071 + checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" 1072 + dependencies = [ 1073 + "der", 1074 + "spki", 1075 + ] 1076 + 1077 + [[package]] 1078 + name = "pkg-config" 1079 + version = "0.3.32" 1080 + source = "registry+https://github.com/rust-lang/crates.io-index" 1081 + checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" 1082 + 1083 + [[package]] 1084 + name = "plain" 1085 + version = "0.2.3" 1086 + source = "registry+https://github.com/rust-lang/crates.io-index" 1087 + checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" 1088 + 1089 + [[package]] 1090 + name = "potential_utf" 1091 + version = "0.1.4" 1092 + source = "registry+https://github.com/rust-lang/crates.io-index" 1093 + checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" 1094 + dependencies = [ 1095 + "zerovec", 1096 + ] 1097 + 1098 + [[package]] 1099 + name = "ppv-lite86" 1100 + version = "0.2.21" 1101 + source = "registry+https://github.com/rust-lang/crates.io-index" 1102 + checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" 1103 + dependencies = [ 1104 + "zerocopy", 1105 + ] 1106 + 1107 + [[package]] 1108 + name = "prettyplease" 1109 + version = "0.2.37" 1110 + source = "registry+https://github.com/rust-lang/crates.io-index" 1111 + checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" 1112 + dependencies = [ 1113 + "proc-macro2", 1114 + "syn 2.0.117", 1115 + ] 1116 + 1117 + [[package]] 1118 + name = "proc-macro2" 1119 + version = "1.0.106" 1120 + source = "registry+https://github.com/rust-lang/crates.io-index" 1121 + checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" 1122 + dependencies = [ 1123 + "unicode-ident", 1124 + ] 1125 + 1126 + [[package]] 1127 + name = "quote" 1128 + version = "1.0.45" 1129 + source = "registry+https://github.com/rust-lang/crates.io-index" 1130 + checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" 1131 + dependencies = [ 1132 + "proc-macro2", 1133 + ] 1134 + 1135 + [[package]] 1136 + name = "r-efi" 1137 + version = "5.3.0" 1138 + source = "registry+https://github.com/rust-lang/crates.io-index" 1139 + checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" 1140 + 1141 + [[package]] 1142 + name = "r-efi" 1143 + version = "6.0.0" 1144 + source = "registry+https://github.com/rust-lang/crates.io-index" 1145 + checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" 1146 + 1147 + [[package]] 1148 + name = "rand" 1149 + version = "0.8.5" 1150 + source = "registry+https://github.com/rust-lang/crates.io-index" 1151 + checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" 1152 + dependencies = [ 1153 + "libc", 1154 + "rand_chacha", 1155 + "rand_core", 1156 + ] 1157 + 1158 + [[package]] 1159 + name = "rand_chacha" 1160 + version = "0.3.1" 1161 + source = "registry+https://github.com/rust-lang/crates.io-index" 1162 + checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" 1163 + dependencies = [ 1164 + "ppv-lite86", 1165 + "rand_core", 1166 + ] 1167 + 1168 + [[package]] 1169 + name = "rand_core" 1170 + version = "0.6.4" 1171 + source = "registry+https://github.com/rust-lang/crates.io-index" 1172 + checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" 1173 + dependencies = [ 1174 + "getrandom 0.2.17", 1175 + ] 1176 + 1177 + [[package]] 1178 + name = "redox_syscall" 1179 + version = "0.5.18" 1180 + source = "registry+https://github.com/rust-lang/crates.io-index" 1181 + checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" 1182 + dependencies = [ 1183 + "bitflags", 1184 + ] 1185 + 1186 + [[package]] 1187 + name = "redox_syscall" 1188 + version = "0.7.3" 1189 + source = "registry+https://github.com/rust-lang/crates.io-index" 1190 + checksum = "6ce70a74e890531977d37e532c34d45e9055d2409ed08ddba14529471ed0be16" 1191 + dependencies = [ 1192 + "bitflags", 1193 + ] 1194 + 1195 + [[package]] 1196 + name = "rsa" 1197 + version = "0.9.10" 1198 + source = "registry+https://github.com/rust-lang/crates.io-index" 1199 + checksum = "b8573f03f5883dcaebdfcf4725caa1ecb9c15b2ef50c43a07b816e06799bb12d" 1200 + dependencies = [ 1201 + "const-oid", 1202 + "digest", 1203 + "num-bigint-dig", 1204 + "num-integer", 1205 + "num-traits", 1206 + "pkcs1", 1207 + "pkcs8", 1208 + "rand_core", 1209 + "signature", 1210 + "spki", 1211 + "subtle", 1212 + "zeroize", 1213 + ] 1214 + 1215 + [[package]] 1216 + name = "rustix" 1217 + version = "1.1.4" 1218 + source = "registry+https://github.com/rust-lang/crates.io-index" 1219 + checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" 1220 + dependencies = [ 1221 + "bitflags", 1222 + "errno", 1223 + "libc", 1224 + "linux-raw-sys", 1225 + "windows-sys 0.61.2", 1226 + ] 1227 + 1228 + [[package]] 1229 + name = "rustversion" 1230 + version = "1.0.22" 1231 + source = "registry+https://github.com/rust-lang/crates.io-index" 1232 + checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" 1233 + 1234 + [[package]] 1235 + name = "scopeguard" 1236 + version = "1.2.0" 1237 + source = "registry+https://github.com/rust-lang/crates.io-index" 1238 + checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" 1239 + 1240 + [[package]] 1241 + name = "semver" 1242 + version = "1.0.27" 1243 + source = "registry+https://github.com/rust-lang/crates.io-index" 1244 + checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" 1245 + 1246 + [[package]] 1247 + name = "serde" 1248 + version = "1.0.228" 1249 + source = "registry+https://github.com/rust-lang/crates.io-index" 1250 + checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" 1251 + dependencies = [ 1252 + "serde_core", 1253 + "serde_derive", 1254 + ] 1255 + 1256 + [[package]] 1257 + name = "serde_core" 1258 + version = "1.0.228" 1259 + source = "registry+https://github.com/rust-lang/crates.io-index" 1260 + checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" 1261 + dependencies = [ 1262 + "serde_derive", 1263 + ] 1264 + 1265 + [[package]] 1266 + name = "serde_derive" 1267 + version = "1.0.228" 1268 + source = "registry+https://github.com/rust-lang/crates.io-index" 1269 + checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" 1270 + dependencies = [ 1271 + "proc-macro2", 1272 + "quote", 1273 + "syn 2.0.117", 1274 + ] 1275 + 1276 + [[package]] 1277 + name = "serde_json" 1278 + version = "1.0.149" 1279 + source = "registry+https://github.com/rust-lang/crates.io-index" 1280 + checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" 1281 + dependencies = [ 1282 + "itoa", 1283 + "memchr", 1284 + "serde", 1285 + "serde_core", 1286 + "zmij", 1287 + ] 1288 + 1289 + [[package]] 1290 + name = "sha1" 1291 + version = "0.10.6" 1292 + source = "registry+https://github.com/rust-lang/crates.io-index" 1293 + checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" 1294 + dependencies = [ 1295 + "cfg-if", 1296 + "cpufeatures", 1297 + "digest", 1298 + ] 1299 + 1300 + [[package]] 1301 + name = "sha2" 1302 + version = "0.10.9" 1303 + source = "registry+https://github.com/rust-lang/crates.io-index" 1304 + checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" 1305 + dependencies = [ 1306 + "cfg-if", 1307 + "cpufeatures", 1308 + "digest", 1309 + ] 1310 + 1311 + [[package]] 1312 + name = "sharded-slab" 1313 + version = "0.1.7" 1314 + source = "registry+https://github.com/rust-lang/crates.io-index" 1315 + checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" 1316 + dependencies = [ 1317 + "lazy_static", 1318 + ] 1319 + 1320 + [[package]] 1321 + name = "shlex" 1322 + version = "1.3.0" 1323 + source = "registry+https://github.com/rust-lang/crates.io-index" 1324 + checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" 1325 + 1326 + [[package]] 1327 + name = "signal-hook-registry" 1328 + version = "1.4.8" 1329 + source = "registry+https://github.com/rust-lang/crates.io-index" 1330 + checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b" 1331 + dependencies = [ 1332 + "errno", 1333 + "libc", 1334 + ] 1335 + 1336 + [[package]] 1337 + name = "signature" 1338 + version = "2.2.0" 1339 + source = "registry+https://github.com/rust-lang/crates.io-index" 1340 + checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" 1341 + dependencies = [ 1342 + "digest", 1343 + "rand_core", 1344 + ] 1345 + 1346 + [[package]] 1347 + name = "slab" 1348 + version = "0.4.12" 1349 + source = "registry+https://github.com/rust-lang/crates.io-index" 1350 + checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" 1351 + 1352 + [[package]] 1353 + name = "smallvec" 1354 + version = "1.15.1" 1355 + source = "registry+https://github.com/rust-lang/crates.io-index" 1356 + checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" 1357 + 1358 + [[package]] 1359 + name = "socket2" 1360 + version = "0.6.3" 1361 + source = "registry+https://github.com/rust-lang/crates.io-index" 1362 + checksum = "3a766e1110788c36f4fa1c2b71b387a7815aa65f88ce0229841826633d93723e" 1363 + dependencies = [ 1364 + "libc", 1365 + "windows-sys 0.61.2", 1366 + ] 1367 + 1368 + [[package]] 1369 + name = "spin" 1370 + version = "0.9.8" 1371 + source = "registry+https://github.com/rust-lang/crates.io-index" 1372 + checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" 1373 + dependencies = [ 1374 + "lock_api", 1375 + ] 1376 + 1377 + [[package]] 1378 + name = "spki" 1379 + version = "0.7.3" 1380 + source = "registry+https://github.com/rust-lang/crates.io-index" 1381 + checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" 1382 + dependencies = [ 1383 + "base64ct", 1384 + "der", 1385 + ] 1386 + 1387 + [[package]] 1388 + name = "sqlformat" 1389 + version = "0.2.6" 1390 + source = "registry+https://github.com/rust-lang/crates.io-index" 1391 + checksum = "7bba3a93db0cc4f7bdece8bb09e77e2e785c20bfebf79eb8340ed80708048790" 1392 + dependencies = [ 1393 + "nom", 1394 + "unicode_categories", 1395 + ] 1396 + 1397 + [[package]] 1398 + name = "sqlx" 1399 + version = "0.7.4" 1400 + source = "registry+https://github.com/rust-lang/crates.io-index" 1401 + checksum = "c9a2ccff1a000a5a59cd33da541d9f2fdcd9e6e8229cc200565942bff36d0aaa" 1402 + dependencies = [ 1403 + "sqlx-core", 1404 + "sqlx-macros", 1405 + "sqlx-mysql", 1406 + "sqlx-postgres", 1407 + "sqlx-sqlite", 1408 + ] 1409 + 1410 + [[package]] 1411 + name = "sqlx-core" 1412 + version = "0.7.4" 1413 + source = "registry+https://github.com/rust-lang/crates.io-index" 1414 + checksum = "24ba59a9342a3d9bab6c56c118be528b27c9b60e490080e9711a04dccac83ef6" 1415 + dependencies = [ 1416 + "ahash", 1417 + "atoi", 1418 + "byteorder", 1419 + "bytes", 1420 + "crc", 1421 + "crossbeam-queue", 1422 + "either", 1423 + "event-listener", 1424 + "futures-channel", 1425 + "futures-core", 1426 + "futures-intrusive", 1427 + "futures-io", 1428 + "futures-util", 1429 + "hashlink", 1430 + "hex", 1431 + "indexmap", 1432 + "log", 1433 + "memchr", 1434 + "once_cell", 1435 + "paste", 1436 + "percent-encoding", 1437 + "serde", 1438 + "serde_json", 1439 + "sha2", 1440 + "smallvec", 1441 + "sqlformat", 1442 + "thiserror", 1443 + "tokio", 1444 + "tokio-stream", 1445 + "tracing", 1446 + "url", 1447 + ] 1448 + 1449 + [[package]] 1450 + name = "sqlx-macros" 1451 + version = "0.7.4" 1452 + source = "registry+https://github.com/rust-lang/crates.io-index" 1453 + checksum = "4ea40e2345eb2faa9e1e5e326db8c34711317d2b5e08d0d5741619048a803127" 1454 + dependencies = [ 1455 + "proc-macro2", 1456 + "quote", 1457 + "sqlx-core", 1458 + "sqlx-macros-core", 1459 + "syn 1.0.109", 1460 + ] 1461 + 1462 + [[package]] 1463 + name = "sqlx-macros-core" 1464 + version = "0.7.4" 1465 + source = "registry+https://github.com/rust-lang/crates.io-index" 1466 + checksum = "5833ef53aaa16d860e92123292f1f6a3d53c34ba8b1969f152ef1a7bb803f3c8" 1467 + dependencies = [ 1468 + "dotenvy", 1469 + "either", 1470 + "heck 0.4.1", 1471 + "hex", 1472 + "once_cell", 1473 + "proc-macro2", 1474 + "quote", 1475 + "serde", 1476 + "serde_json", 1477 + "sha2", 1478 + "sqlx-core", 1479 + "sqlx-mysql", 1480 + "sqlx-sqlite", 1481 + "syn 1.0.109", 1482 + "tempfile", 1483 + "tokio", 1484 + "url", 1485 + ] 1486 + 1487 + [[package]] 1488 + name = "sqlx-mysql" 1489 + version = "0.7.4" 1490 + source = "registry+https://github.com/rust-lang/crates.io-index" 1491 + checksum = "1ed31390216d20e538e447a7a9b959e06ed9fc51c37b514b46eb758016ecd418" 1492 + dependencies = [ 1493 + "atoi", 1494 + "base64", 1495 + "bitflags", 1496 + "byteorder", 1497 + "bytes", 1498 + "crc", 1499 + "digest", 1500 + "dotenvy", 1501 + "either", 1502 + "futures-channel", 1503 + "futures-core", 1504 + "futures-io", 1505 + "futures-util", 1506 + "generic-array", 1507 + "hex", 1508 + "hkdf", 1509 + "hmac", 1510 + "itoa", 1511 + "log", 1512 + "md-5", 1513 + "memchr", 1514 + "once_cell", 1515 + "percent-encoding", 1516 + "rand", 1517 + "rsa", 1518 + "serde", 1519 + "sha1", 1520 + "sha2", 1521 + "smallvec", 1522 + "sqlx-core", 1523 + "stringprep", 1524 + "thiserror", 1525 + "tracing", 1526 + "whoami", 1527 + ] 1528 + 1529 + [[package]] 1530 + name = "sqlx-postgres" 1531 + version = "0.7.4" 1532 + source = "registry+https://github.com/rust-lang/crates.io-index" 1533 + checksum = "7c824eb80b894f926f89a0b9da0c7f435d27cdd35b8c655b114e58223918577e" 1534 + dependencies = [ 1535 + "atoi", 1536 + "base64", 1537 + "bitflags", 1538 + "byteorder", 1539 + "crc", 1540 + "dotenvy", 1541 + "etcetera", 1542 + "futures-channel", 1543 + "futures-core", 1544 + "futures-io", 1545 + "futures-util", 1546 + "hex", 1547 + "hkdf", 1548 + "hmac", 1549 + "home", 1550 + "itoa", 1551 + "log", 1552 + "md-5", 1553 + "memchr", 1554 + "once_cell", 1555 + "rand", 1556 + "serde", 1557 + "serde_json", 1558 + "sha2", 1559 + "smallvec", 1560 + "sqlx-core", 1561 + "stringprep", 1562 + "thiserror", 1563 + "tracing", 1564 + "whoami", 1565 + ] 1566 + 1567 + [[package]] 1568 + name = "sqlx-sqlite" 1569 + version = "0.7.4" 1570 + source = "registry+https://github.com/rust-lang/crates.io-index" 1571 + checksum = "b244ef0a8414da0bed4bb1910426e890b19e5e9bccc27ada6b797d05c55ae0aa" 1572 + dependencies = [ 1573 + "atoi", 1574 + "flume", 1575 + "futures-channel", 1576 + "futures-core", 1577 + "futures-executor", 1578 + "futures-intrusive", 1579 + "futures-util", 1580 + "libsqlite3-sys", 1581 + "log", 1582 + "percent-encoding", 1583 + "serde", 1584 + "sqlx-core", 1585 + "tracing", 1586 + "url", 1587 + "urlencoding", 1588 + ] 1589 + 1590 + [[package]] 1591 + name = "stable_deref_trait" 1592 + version = "1.2.1" 1593 + source = "registry+https://github.com/rust-lang/crates.io-index" 1594 + checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" 1595 + 1596 + [[package]] 1597 + name = "stringprep" 1598 + version = "0.1.5" 1599 + source = "registry+https://github.com/rust-lang/crates.io-index" 1600 + checksum = "7b4df3d392d81bd458a8a621b8bffbd2302a12ffe288a9d931670948749463b1" 1601 + dependencies = [ 1602 + "unicode-bidi", 1603 + "unicode-normalization", 1604 + "unicode-properties", 1605 + ] 1606 + 1607 + [[package]] 1608 + name = "strsim" 1609 + version = "0.11.1" 1610 + source = "registry+https://github.com/rust-lang/crates.io-index" 1611 + checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" 1612 + 1613 + [[package]] 1614 + name = "subtle" 1615 + version = "2.6.1" 1616 + source = "registry+https://github.com/rust-lang/crates.io-index" 1617 + checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" 1618 + 1619 + [[package]] 1620 + name = "syn" 1621 + version = "1.0.109" 1622 + source = "registry+https://github.com/rust-lang/crates.io-index" 1623 + checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" 1624 + dependencies = [ 1625 + "proc-macro2", 1626 + "quote", 1627 + "unicode-ident", 1628 + ] 1629 + 1630 + [[package]] 1631 + name = "syn" 1632 + version = "2.0.117" 1633 + source = "registry+https://github.com/rust-lang/crates.io-index" 1634 + checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" 1635 + dependencies = [ 1636 + "proc-macro2", 1637 + "quote", 1638 + "unicode-ident", 1639 + ] 1640 + 1641 + [[package]] 1642 + name = "synstructure" 1643 + version = "0.13.2" 1644 + source = "registry+https://github.com/rust-lang/crates.io-index" 1645 + checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" 1646 + dependencies = [ 1647 + "proc-macro2", 1648 + "quote", 1649 + "syn 2.0.117", 1650 + ] 1651 + 1652 + [[package]] 1653 + name = "tempfile" 1654 + version = "3.27.0" 1655 + source = "registry+https://github.com/rust-lang/crates.io-index" 1656 + checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" 1657 + dependencies = [ 1658 + "fastrand", 1659 + "getrandom 0.4.2", 1660 + "once_cell", 1661 + "rustix", 1662 + "windows-sys 0.61.2", 1663 + ] 1664 + 1665 + [[package]] 1666 + name = "thiserror" 1667 + version = "1.0.69" 1668 + source = "registry+https://github.com/rust-lang/crates.io-index" 1669 + checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" 1670 + dependencies = [ 1671 + "thiserror-impl", 1672 + ] 1673 + 1674 + [[package]] 1675 + name = "thiserror-impl" 1676 + version = "1.0.69" 1677 + source = "registry+https://github.com/rust-lang/crates.io-index" 1678 + checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" 1679 + dependencies = [ 1680 + "proc-macro2", 1681 + "quote", 1682 + "syn 2.0.117", 1683 + ] 1684 + 1685 + [[package]] 1686 + name = "thread_local" 1687 + version = "1.1.9" 1688 + source = "registry+https://github.com/rust-lang/crates.io-index" 1689 + checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185" 1690 + dependencies = [ 1691 + "cfg-if", 1692 + ] 1693 + 1694 + [[package]] 1695 + name = "tinystr" 1696 + version = "0.8.2" 1697 + source = "registry+https://github.com/rust-lang/crates.io-index" 1698 + checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" 1699 + dependencies = [ 1700 + "displaydoc", 1701 + "zerovec", 1702 + ] 1703 + 1704 + [[package]] 1705 + name = "tinyvec" 1706 + version = "1.10.0" 1707 + source = "registry+https://github.com/rust-lang/crates.io-index" 1708 + checksum = "bfa5fdc3bce6191a1dbc8c02d5c8bffcf557bafa17c124c5264a458f1b0613fa" 1709 + dependencies = [ 1710 + "tinyvec_macros", 1711 + ] 1712 + 1713 + [[package]] 1714 + name = "tinyvec_macros" 1715 + version = "0.1.1" 1716 + source = "registry+https://github.com/rust-lang/crates.io-index" 1717 + checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" 1718 + 1719 + [[package]] 1720 + name = "tokio" 1721 + version = "1.50.0" 1722 + source = "registry+https://github.com/rust-lang/crates.io-index" 1723 + checksum = "27ad5e34374e03cfffefc301becb44e9dc3c17584f414349ebe29ed26661822d" 1724 + dependencies = [ 1725 + "bytes", 1726 + "libc", 1727 + "mio", 1728 + "parking_lot", 1729 + "pin-project-lite", 1730 + "signal-hook-registry", 1731 + "socket2", 1732 + "tokio-macros", 1733 + "windows-sys 0.61.2", 1734 + ] 1735 + 1736 + [[package]] 1737 + name = "tokio-macros" 1738 + version = "2.6.1" 1739 + source = "registry+https://github.com/rust-lang/crates.io-index" 1740 + checksum = "5c55a2eff8b69ce66c84f85e1da1c233edc36ceb85a2058d11b0d6a3c7e7569c" 1741 + dependencies = [ 1742 + "proc-macro2", 1743 + "quote", 1744 + "syn 2.0.117", 1745 + ] 1746 + 1747 + [[package]] 1748 + name = "tokio-stream" 1749 + version = "0.1.18" 1750 + source = "registry+https://github.com/rust-lang/crates.io-index" 1751 + checksum = "32da49809aab5c3bc678af03902d4ccddea2a87d028d86392a4b1560c6906c70" 1752 + dependencies = [ 1753 + "futures-core", 1754 + "pin-project-lite", 1755 + "tokio", 1756 + ] 1757 + 1758 + [[package]] 1759 + name = "tokio-util" 1760 + version = "0.7.18" 1761 + source = "registry+https://github.com/rust-lang/crates.io-index" 1762 + checksum = "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098" 1763 + dependencies = [ 1764 + "bytes", 1765 + "futures-core", 1766 + "futures-sink", 1767 + "pin-project-lite", 1768 + "tokio", 1769 + ] 1770 + 1771 + [[package]] 1772 + name = "tracing" 1773 + version = "0.1.44" 1774 + source = "registry+https://github.com/rust-lang/crates.io-index" 1775 + checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" 1776 + dependencies = [ 1777 + "log", 1778 + "pin-project-lite", 1779 + "tracing-attributes", 1780 + "tracing-core", 1781 + ] 1782 + 1783 + [[package]] 1784 + name = "tracing-attributes" 1785 + version = "0.1.31" 1786 + source = "registry+https://github.com/rust-lang/crates.io-index" 1787 + checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" 1788 + dependencies = [ 1789 + "proc-macro2", 1790 + "quote", 1791 + "syn 2.0.117", 1792 + ] 1793 + 1794 + [[package]] 1795 + name = "tracing-core" 1796 + version = "0.1.36" 1797 + source = "registry+https://github.com/rust-lang/crates.io-index" 1798 + checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" 1799 + dependencies = [ 1800 + "once_cell", 1801 + "valuable", 1802 + ] 1803 + 1804 + [[package]] 1805 + name = "tracing-log" 1806 + version = "0.2.0" 1807 + source = "registry+https://github.com/rust-lang/crates.io-index" 1808 + checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" 1809 + dependencies = [ 1810 + "log", 1811 + "once_cell", 1812 + "tracing-core", 1813 + ] 1814 + 1815 + [[package]] 1816 + name = "tracing-subscriber" 1817 + version = "0.3.22" 1818 + source = "registry+https://github.com/rust-lang/crates.io-index" 1819 + checksum = "2f30143827ddab0d256fd843b7a66d164e9f271cfa0dde49142c5ca0ca291f1e" 1820 + dependencies = [ 1821 + "nu-ansi-term", 1822 + "sharded-slab", 1823 + "smallvec", 1824 + "thread_local", 1825 + "tracing-core", 1826 + "tracing-log", 1827 + ] 1828 + 1829 + [[package]] 1830 + name = "typenum" 1831 + version = "1.19.0" 1832 + source = "registry+https://github.com/rust-lang/crates.io-index" 1833 + checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" 1834 + 1835 + [[package]] 1836 + name = "unicode-bidi" 1837 + version = "0.3.18" 1838 + source = "registry+https://github.com/rust-lang/crates.io-index" 1839 + checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5" 1840 + 1841 + [[package]] 1842 + name = "unicode-ident" 1843 + version = "1.0.24" 1844 + source = "registry+https://github.com/rust-lang/crates.io-index" 1845 + checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" 1846 + 1847 + [[package]] 1848 + name = "unicode-normalization" 1849 + version = "0.1.25" 1850 + source = "registry+https://github.com/rust-lang/crates.io-index" 1851 + checksum = "5fd4f6878c9cb28d874b009da9e8d183b5abc80117c40bbd187a1fde336be6e8" 1852 + dependencies = [ 1853 + "tinyvec", 1854 + ] 1855 + 1856 + [[package]] 1857 + name = "unicode-properties" 1858 + version = "0.1.4" 1859 + source = "registry+https://github.com/rust-lang/crates.io-index" 1860 + checksum = "7df058c713841ad818f1dc5d3fd88063241cc61f49f5fbea4b951e8cf5a8d71d" 1861 + 1862 + [[package]] 1863 + name = "unicode-segmentation" 1864 + version = "1.12.0" 1865 + source = "registry+https://github.com/rust-lang/crates.io-index" 1866 + checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" 1867 + 1868 + [[package]] 1869 + name = "unicode-xid" 1870 + version = "0.2.6" 1871 + source = "registry+https://github.com/rust-lang/crates.io-index" 1872 + checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" 1873 + 1874 + [[package]] 1875 + name = "unicode_categories" 1876 + version = "0.1.1" 1877 + source = "registry+https://github.com/rust-lang/crates.io-index" 1878 + checksum = "39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e" 1879 + 1880 + [[package]] 1881 + name = "url" 1882 + version = "2.5.8" 1883 + source = "registry+https://github.com/rust-lang/crates.io-index" 1884 + checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" 1885 + dependencies = [ 1886 + "form_urlencoded", 1887 + "idna", 1888 + "percent-encoding", 1889 + ] 1890 + 1891 + [[package]] 1892 + name = "urlencoding" 1893 + version = "2.1.3" 1894 + source = "registry+https://github.com/rust-lang/crates.io-index" 1895 + checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" 1896 + 1897 + [[package]] 1898 + name = "utf8_iter" 1899 + version = "1.0.4" 1900 + source = "registry+https://github.com/rust-lang/crates.io-index" 1901 + checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" 1902 + 1903 + [[package]] 1904 + name = "utf8parse" 1905 + version = "0.2.2" 1906 + source = "registry+https://github.com/rust-lang/crates.io-index" 1907 + checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" 1908 + 1909 + [[package]] 1910 + name = "valuable" 1911 + version = "0.1.1" 1912 + source = "registry+https://github.com/rust-lang/crates.io-index" 1913 + checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" 1914 + 1915 + [[package]] 1916 + name = "vcpkg" 1917 + version = "0.2.15" 1918 + source = "registry+https://github.com/rust-lang/crates.io-index" 1919 + checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" 1920 + 1921 + [[package]] 1922 + name = "version_check" 1923 + version = "0.9.5" 1924 + source = "registry+https://github.com/rust-lang/crates.io-index" 1925 + checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" 1926 + 1927 + [[package]] 1928 + name = "wasi" 1929 + version = "0.11.1+wasi-snapshot-preview1" 1930 + source = "registry+https://github.com/rust-lang/crates.io-index" 1931 + checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" 1932 + 1933 + [[package]] 1934 + name = "wasip2" 1935 + version = "1.0.2+wasi-0.2.9" 1936 + source = "registry+https://github.com/rust-lang/crates.io-index" 1937 + checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" 1938 + dependencies = [ 1939 + "wit-bindgen", 1940 + ] 1941 + 1942 + [[package]] 1943 + name = "wasip3" 1944 + version = "0.4.0+wasi-0.3.0-rc-2026-01-06" 1945 + source = "registry+https://github.com/rust-lang/crates.io-index" 1946 + checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" 1947 + dependencies = [ 1948 + "wit-bindgen", 1949 + ] 1950 + 1951 + [[package]] 1952 + name = "wasite" 1953 + version = "0.1.0" 1954 + source = "registry+https://github.com/rust-lang/crates.io-index" 1955 + checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" 1956 + 1957 + [[package]] 1958 + name = "wasm-bindgen" 1959 + version = "0.2.114" 1960 + source = "registry+https://github.com/rust-lang/crates.io-index" 1961 + checksum = "6532f9a5c1ece3798cb1c2cfdba640b9b3ba884f5db45973a6f442510a87d38e" 1962 + dependencies = [ 1963 + "cfg-if", 1964 + "once_cell", 1965 + "rustversion", 1966 + "wasm-bindgen-macro", 1967 + "wasm-bindgen-shared", 1968 + ] 1969 + 1970 + [[package]] 1971 + name = "wasm-bindgen-macro" 1972 + version = "0.2.114" 1973 + source = "registry+https://github.com/rust-lang/crates.io-index" 1974 + checksum = "18a2d50fcf105fb33bb15f00e7a77b772945a2ee45dcf454961fd843e74c18e6" 1975 + dependencies = [ 1976 + "quote", 1977 + "wasm-bindgen-macro-support", 1978 + ] 1979 + 1980 + [[package]] 1981 + name = "wasm-bindgen-macro-support" 1982 + version = "0.2.114" 1983 + source = "registry+https://github.com/rust-lang/crates.io-index" 1984 + checksum = "03ce4caeaac547cdf713d280eda22a730824dd11e6b8c3ca9e42247b25c631e3" 1985 + dependencies = [ 1986 + "bumpalo", 1987 + "proc-macro2", 1988 + "quote", 1989 + "syn 2.0.117", 1990 + "wasm-bindgen-shared", 1991 + ] 1992 + 1993 + [[package]] 1994 + name = "wasm-bindgen-shared" 1995 + version = "0.2.114" 1996 + source = "registry+https://github.com/rust-lang/crates.io-index" 1997 + checksum = "75a326b8c223ee17883a4251907455a2431acc2791c98c26279376490c378c16" 1998 + dependencies = [ 1999 + "unicode-ident", 2000 + ] 2001 + 2002 + [[package]] 2003 + name = "wasm-encoder" 2004 + version = "0.244.0" 2005 + source = "registry+https://github.com/rust-lang/crates.io-index" 2006 + checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" 2007 + dependencies = [ 2008 + "leb128fmt", 2009 + "wasmparser", 2010 + ] 2011 + 2012 + [[package]] 2013 + name = "wasm-metadata" 2014 + version = "0.244.0" 2015 + source = "registry+https://github.com/rust-lang/crates.io-index" 2016 + checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" 2017 + dependencies = [ 2018 + "anyhow", 2019 + "indexmap", 2020 + "wasm-encoder", 2021 + "wasmparser", 2022 + ] 2023 + 2024 + [[package]] 2025 + name = "wasmparser" 2026 + version = "0.244.0" 2027 + source = "registry+https://github.com/rust-lang/crates.io-index" 2028 + checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" 2029 + dependencies = [ 2030 + "bitflags", 2031 + "hashbrown 0.15.5", 2032 + "indexmap", 2033 + "semver", 2034 + ] 2035 + 2036 + [[package]] 2037 + name = "whoami" 2038 + version = "1.6.1" 2039 + source = "registry+https://github.com/rust-lang/crates.io-index" 2040 + checksum = "5d4a4db5077702ca3015d3d02d74974948aba2ad9e12ab7df718ee64ccd7e97d" 2041 + dependencies = [ 2042 + "libredox", 2043 + "wasite", 2044 + ] 2045 + 2046 + [[package]] 2047 + name = "windows-core" 2048 + version = "0.62.2" 2049 + source = "registry+https://github.com/rust-lang/crates.io-index" 2050 + checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" 2051 + dependencies = [ 2052 + "windows-implement", 2053 + "windows-interface", 2054 + "windows-link", 2055 + "windows-result", 2056 + "windows-strings", 2057 + ] 2058 + 2059 + [[package]] 2060 + name = "windows-implement" 2061 + version = "0.60.2" 2062 + source = "registry+https://github.com/rust-lang/crates.io-index" 2063 + checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" 2064 + dependencies = [ 2065 + "proc-macro2", 2066 + "quote", 2067 + "syn 2.0.117", 2068 + ] 2069 + 2070 + [[package]] 2071 + name = "windows-interface" 2072 + version = "0.59.3" 2073 + source = "registry+https://github.com/rust-lang/crates.io-index" 2074 + checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" 2075 + dependencies = [ 2076 + "proc-macro2", 2077 + "quote", 2078 + "syn 2.0.117", 2079 + ] 2080 + 2081 + [[package]] 2082 + name = "windows-link" 2083 + version = "0.2.1" 2084 + source = "registry+https://github.com/rust-lang/crates.io-index" 2085 + checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" 2086 + 2087 + [[package]] 2088 + name = "windows-result" 2089 + version = "0.4.1" 2090 + source = "registry+https://github.com/rust-lang/crates.io-index" 2091 + checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" 2092 + dependencies = [ 2093 + "windows-link", 2094 + ] 2095 + 2096 + [[package]] 2097 + name = "windows-strings" 2098 + version = "0.5.1" 2099 + source = "registry+https://github.com/rust-lang/crates.io-index" 2100 + checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" 2101 + dependencies = [ 2102 + "windows-link", 2103 + ] 2104 + 2105 + [[package]] 2106 + name = "windows-sys" 2107 + version = "0.48.0" 2108 + source = "registry+https://github.com/rust-lang/crates.io-index" 2109 + checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" 2110 + dependencies = [ 2111 + "windows-targets", 2112 + ] 2113 + 2114 + [[package]] 2115 + name = "windows-sys" 2116 + version = "0.61.2" 2117 + source = "registry+https://github.com/rust-lang/crates.io-index" 2118 + checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" 2119 + dependencies = [ 2120 + "windows-link", 2121 + ] 2122 + 2123 + [[package]] 2124 + name = "windows-targets" 2125 + version = "0.48.5" 2126 + source = "registry+https://github.com/rust-lang/crates.io-index" 2127 + checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" 2128 + dependencies = [ 2129 + "windows_aarch64_gnullvm", 2130 + "windows_aarch64_msvc", 2131 + "windows_i686_gnu", 2132 + "windows_i686_msvc", 2133 + "windows_x86_64_gnu", 2134 + "windows_x86_64_gnullvm", 2135 + "windows_x86_64_msvc", 2136 + ] 2137 + 2138 + [[package]] 2139 + name = "windows_aarch64_gnullvm" 2140 + version = "0.48.5" 2141 + source = "registry+https://github.com/rust-lang/crates.io-index" 2142 + checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" 2143 + 2144 + [[package]] 2145 + name = "windows_aarch64_msvc" 2146 + version = "0.48.5" 2147 + source = "registry+https://github.com/rust-lang/crates.io-index" 2148 + checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" 2149 + 2150 + [[package]] 2151 + name = "windows_i686_gnu" 2152 + version = "0.48.5" 2153 + source = "registry+https://github.com/rust-lang/crates.io-index" 2154 + checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" 2155 + 2156 + [[package]] 2157 + name = "windows_i686_msvc" 2158 + version = "0.48.5" 2159 + source = "registry+https://github.com/rust-lang/crates.io-index" 2160 + checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" 2161 + 2162 + [[package]] 2163 + name = "windows_x86_64_gnu" 2164 + version = "0.48.5" 2165 + source = "registry+https://github.com/rust-lang/crates.io-index" 2166 + checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" 2167 + 2168 + [[package]] 2169 + name = "windows_x86_64_gnullvm" 2170 + version = "0.48.5" 2171 + source = "registry+https://github.com/rust-lang/crates.io-index" 2172 + checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" 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 = "wit-bindgen" 2182 + version = "0.51.0" 2183 + source = "registry+https://github.com/rust-lang/crates.io-index" 2184 + checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" 2185 + dependencies = [ 2186 + "wit-bindgen-rust-macro", 2187 + ] 2188 + 2189 + [[package]] 2190 + name = "wit-bindgen-core" 2191 + version = "0.51.0" 2192 + source = "registry+https://github.com/rust-lang/crates.io-index" 2193 + checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" 2194 + dependencies = [ 2195 + "anyhow", 2196 + "heck 0.5.0", 2197 + "wit-parser", 2198 + ] 2199 + 2200 + [[package]] 2201 + name = "wit-bindgen-rust" 2202 + version = "0.51.0" 2203 + source = "registry+https://github.com/rust-lang/crates.io-index" 2204 + checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" 2205 + dependencies = [ 2206 + "anyhow", 2207 + "heck 0.5.0", 2208 + "indexmap", 2209 + "prettyplease", 2210 + "syn 2.0.117", 2211 + "wasm-metadata", 2212 + "wit-bindgen-core", 2213 + "wit-component", 2214 + ] 2215 + 2216 + [[package]] 2217 + name = "wit-bindgen-rust-macro" 2218 + version = "0.51.0" 2219 + source = "registry+https://github.com/rust-lang/crates.io-index" 2220 + checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" 2221 + dependencies = [ 2222 + "anyhow", 2223 + "prettyplease", 2224 + "proc-macro2", 2225 + "quote", 2226 + "syn 2.0.117", 2227 + "wit-bindgen-core", 2228 + "wit-bindgen-rust", 2229 + ] 2230 + 2231 + [[package]] 2232 + name = "wit-component" 2233 + version = "0.244.0" 2234 + source = "registry+https://github.com/rust-lang/crates.io-index" 2235 + checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" 2236 + dependencies = [ 2237 + "anyhow", 2238 + "bitflags", 2239 + "indexmap", 2240 + "log", 2241 + "serde", 2242 + "serde_derive", 2243 + "serde_json", 2244 + "wasm-encoder", 2245 + "wasm-metadata", 2246 + "wasmparser", 2247 + "wit-parser", 2248 + ] 2249 + 2250 + [[package]] 2251 + name = "wit-parser" 2252 + version = "0.244.0" 2253 + source = "registry+https://github.com/rust-lang/crates.io-index" 2254 + checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" 2255 + dependencies = [ 2256 + "anyhow", 2257 + "id-arena", 2258 + "indexmap", 2259 + "log", 2260 + "semver", 2261 + "serde", 2262 + "serde_derive", 2263 + "serde_json", 2264 + "unicode-xid", 2265 + "wasmparser", 2266 + ] 2267 + 2268 + [[package]] 2269 + name = "writeable" 2270 + version = "0.6.2" 2271 + source = "registry+https://github.com/rust-lang/crates.io-index" 2272 + checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" 2273 + 2274 + [[package]] 2275 + name = "yoke" 2276 + version = "0.8.1" 2277 + source = "registry+https://github.com/rust-lang/crates.io-index" 2278 + checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" 2279 + dependencies = [ 2280 + "stable_deref_trait", 2281 + "yoke-derive", 2282 + "zerofrom", 2283 + ] 2284 + 2285 + [[package]] 2286 + name = "yoke-derive" 2287 + version = "0.8.1" 2288 + source = "registry+https://github.com/rust-lang/crates.io-index" 2289 + checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" 2290 + dependencies = [ 2291 + "proc-macro2", 2292 + "quote", 2293 + "syn 2.0.117", 2294 + "synstructure", 2295 + ] 2296 + 2297 + [[package]] 2298 + name = "zerocopy" 2299 + version = "0.8.42" 2300 + source = "registry+https://github.com/rust-lang/crates.io-index" 2301 + checksum = "f2578b716f8a7a858b7f02d5bd870c14bf4ddbbcf3a4c05414ba6503640505e3" 2302 + dependencies = [ 2303 + "zerocopy-derive", 2304 + ] 2305 + 2306 + [[package]] 2307 + name = "zerocopy-derive" 2308 + version = "0.8.42" 2309 + source = "registry+https://github.com/rust-lang/crates.io-index" 2310 + checksum = "7e6cc098ea4d3bd6246687de65af3f920c430e236bee1e3bf2e441463f08a02f" 2311 + dependencies = [ 2312 + "proc-macro2", 2313 + "quote", 2314 + "syn 2.0.117", 2315 + ] 2316 + 2317 + [[package]] 2318 + name = "zerofrom" 2319 + version = "0.1.6" 2320 + source = "registry+https://github.com/rust-lang/crates.io-index" 2321 + checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" 2322 + dependencies = [ 2323 + "zerofrom-derive", 2324 + ] 2325 + 2326 + [[package]] 2327 + name = "zerofrom-derive" 2328 + version = "0.1.6" 2329 + source = "registry+https://github.com/rust-lang/crates.io-index" 2330 + checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" 2331 + dependencies = [ 2332 + "proc-macro2", 2333 + "quote", 2334 + "syn 2.0.117", 2335 + "synstructure", 2336 + ] 2337 + 2338 + [[package]] 2339 + name = "zeroize" 2340 + version = "1.8.2" 2341 + source = "registry+https://github.com/rust-lang/crates.io-index" 2342 + checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" 2343 + 2344 + [[package]] 2345 + name = "zerotrie" 2346 + version = "0.2.3" 2347 + source = "registry+https://github.com/rust-lang/crates.io-index" 2348 + checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" 2349 + dependencies = [ 2350 + "displaydoc", 2351 + "yoke", 2352 + "zerofrom", 2353 + ] 2354 + 2355 + [[package]] 2356 + name = "zerovec" 2357 + version = "0.11.5" 2358 + source = "registry+https://github.com/rust-lang/crates.io-index" 2359 + checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" 2360 + dependencies = [ 2361 + "yoke", 2362 + "zerofrom", 2363 + "zerovec-derive", 2364 + ] 2365 + 2366 + [[package]] 2367 + name = "zerovec-derive" 2368 + version = "0.11.2" 2369 + source = "registry+https://github.com/rust-lang/crates.io-index" 2370 + checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" 2371 + dependencies = [ 2372 + "proc-macro2", 2373 + "quote", 2374 + "syn 2.0.117", 2375 + ] 2376 + 2377 + [[package]] 2378 + name = "zmij" 2379 + version = "1.0.21" 2380 + source = "registry+https://github.com/rust-lang/crates.io-index" 2381 + checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa"
+18
Cargo.toml
··· 1 + [package] 2 + name = "nix-observability-daemon" 3 + version = "0.1.0" 4 + edition = "2021" 5 + 6 + [dependencies] 7 + tokio = { version = "1", features = ["full"] } 8 + tokio-util = { version = "0.7", features = ["codec"] } 9 + futures = "0.3" 10 + tracing = "0.1" 11 + tracing-subscriber = "0.3" 12 + sqlx = { version = "0.7", features = ["runtime-tokio", "sqlite"] } 13 + chrono = "0.4" 14 + clap = { version = "4", features = ["derive"] } 15 + anyhow = "1.0" 16 + serde = { version = "1.0", features = ["derive"] } 17 + serde_json = "1.0" 18 + bytes = "1.0"
+96
flake.lock
··· 1 + { 2 + "nodes": { 3 + "flake-utils": { 4 + "inputs": { 5 + "systems": "systems" 6 + }, 7 + "locked": { 8 + "lastModified": 1731533236, 9 + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", 10 + "owner": "numtide", 11 + "repo": "flake-utils", 12 + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", 13 + "type": "github" 14 + }, 15 + "original": { 16 + "owner": "numtide", 17 + "repo": "flake-utils", 18 + "type": "github" 19 + } 20 + }, 21 + "nixpkgs": { 22 + "locked": { 23 + "lastModified": 1773122722, 24 + "narHash": "sha256-FIqHByVqxCprNjor1NqF80F2QQoiiyqanNNefdlvOg4=", 25 + "owner": "NixOS", 26 + "repo": "nixpkgs", 27 + "rev": "62dc67aa6a52b4364dd75994ec00b51fbf474e50", 28 + "type": "github" 29 + }, 30 + "original": { 31 + "owner": "NixOS", 32 + "ref": "nixos-unstable", 33 + "repo": "nixpkgs", 34 + "type": "github" 35 + } 36 + }, 37 + "nixpkgs_2": { 38 + "locked": { 39 + "lastModified": 1744536153, 40 + "narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=", 41 + "owner": "NixOS", 42 + "repo": "nixpkgs", 43 + "rev": "18dd725c29603f582cf1900e0d25f9f1063dbf11", 44 + "type": "github" 45 + }, 46 + "original": { 47 + "owner": "NixOS", 48 + "ref": "nixpkgs-unstable", 49 + "repo": "nixpkgs", 50 + "type": "github" 51 + } 52 + }, 53 + "root": { 54 + "inputs": { 55 + "flake-utils": "flake-utils", 56 + "nixpkgs": "nixpkgs", 57 + "rust-overlay": "rust-overlay" 58 + } 59 + }, 60 + "rust-overlay": { 61 + "inputs": { 62 + "nixpkgs": "nixpkgs_2" 63 + }, 64 + "locked": { 65 + "lastModified": 1773284828, 66 + "narHash": "sha256-0qI+a9z7KpYCBbp4ENN32b2tf0VmC3MhgFw1KAroqxQ=", 67 + "owner": "oxalica", 68 + "repo": "rust-overlay", 69 + "rev": "2b18fe48d9a8a4ff3850d56b67cfe72f2a589237", 70 + "type": "github" 71 + }, 72 + "original": { 73 + "owner": "oxalica", 74 + "repo": "rust-overlay", 75 + "type": "github" 76 + } 77 + }, 78 + "systems": { 79 + "locked": { 80 + "lastModified": 1681028828, 81 + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", 82 + "owner": "nix-systems", 83 + "repo": "default", 84 + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", 85 + "type": "github" 86 + }, 87 + "original": { 88 + "owner": "nix-systems", 89 + "repo": "default", 90 + "type": "github" 91 + } 92 + } 93 + }, 94 + "root": "root", 95 + "version": 7 96 + }
+42
flake.nix
··· 1 + { 2 + description = "A self-contained nix-observability-daemon"; 3 + 4 + inputs = { 5 + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; 6 + flake-utils.url = "github:numtide/flake-utils"; 7 + rust-overlay.url = "github:oxalica/rust-overlay"; 8 + }; 9 + 10 + outputs = { self, nixpkgs, flake-utils, rust-overlay }: 11 + flake-utils.lib.eachDefaultSystem (system: 12 + let 13 + overlays = [ (import rust-overlay) ]; 14 + pkgs = import nixpkgs { 15 + inherit system overlays; 16 + }; 17 + rustToolchain = pkgs.rust-bin.stable.latest.default; 18 + in 19 + { 20 + packages.default = pkgs.rustPlatform.buildRustPackage { 21 + pname = "nix-observability-daemon"; 22 + version = "0.1.0"; 23 + src = ./.; 24 + cargoLock.lockFile = ./Cargo.lock; 25 + nativeBuildInputs = [ pkgs.pkg-config ]; 26 + buildInputs = [ pkgs.sqlite ]; 27 + }; 28 + 29 + devShells.default = pkgs.mkShell { 30 + buildInputs = [ 31 + rustToolchain 32 + pkgs.pkg-config 33 + pkgs.sqlite 34 + pkgs.sqlx-cli 35 + ] ++ (if pkgs.stdenv.isDarwin then [ pkgs.iconv ] else []); 36 + shellHook = '' 37 + export DATABASE_URL="sqlite:nix-obs.db" 38 + ''; 39 + }; 40 + } 41 + ); 42 + }
+375
src/main.rs
··· 1 + use anyhow::{Context, Result}; 2 + use clap::{Parser, Subcommand}; 3 + use serde::{Deserialize, Serialize}; 4 + use std::collections::HashMap; 5 + use std::path::PathBuf; 6 + use std::sync::Arc; 7 + use tokio::io::{AsyncBufReadExt, BufReader}; 8 + use tokio::net::{UnixListener, UnixStream}; 9 + use tokio::sync::Mutex; 10 + use tracing::{error, info, debug}; 11 + use sqlx::{sqlite::SqlitePoolOptions, sqlite::SqliteConnectOptions, Pool, Sqlite, Row}; 12 + use chrono::Utc; 13 + use std::str::FromStr; 14 + use std::fmt; 15 + 16 + 17 + #[derive(Debug, Clone, Copy, PartialEq, Eq)] 18 + #[repr(u64)] 19 + enum ActivityType { 20 + Unknown = 0, 21 + CopyPath = 100, 22 + FileTransfer = 101, 23 + Realise = 102, 24 + CopyPaths = 103, 25 + Builds = 104, 26 + Build = 105, 27 + OptimiseStore = 106, 28 + VerifyPaths = 107, 29 + Substitute = 108, 30 + QueryPathInfo = 109, 31 + PostBuildHook = 110, 32 + BuildWaiting = 111, 33 + FetchTree = 112, 34 + } 35 + 36 + impl From<u64> for ActivityType { 37 + fn from(n: u64) -> Self { 38 + match n { 39 + 100 => Self::CopyPath, 40 + 101 => Self::FileTransfer, 41 + 102 => Self::Realise, 42 + 103 => Self::CopyPaths, 43 + 104 => Self::Builds, 44 + 105 => Self::Build, 45 + 106 => Self::OptimiseStore, 46 + 107 => Self::VerifyPaths, 47 + 108 => Self::Substitute, 48 + 109 => Self::QueryPathInfo, 49 + 110 => Self::PostBuildHook, 50 + 111 => Self::BuildWaiting, 51 + 112 => Self::FetchTree, 52 + _ => Self::Unknown, 53 + } 54 + } 55 + } 56 + 57 + impl fmt::Display for ActivityType { 58 + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { 59 + write!(f, "{:?}", self) 60 + } 61 + } 62 + 63 + #[derive(Parser)] 64 + struct Cli { 65 + #[arg(short, long, default_value = "/tmp/nix-observability.sock")] 66 + socket: PathBuf, 67 + 68 + #[arg(short, long, default_value = "sqlite:nix-obs.db")] 69 + db_url: String, 70 + 71 + #[command(subcommand)] 72 + command: Option<Commands>, 73 + } 74 + 75 + #[derive(Subcommand)] 76 + enum Commands { 77 + /// Start the observability daemon 78 + Daemon, 79 + /// Show build and substitution statistics 80 + Stats, 81 + } 82 + 83 + #[derive(Debug, Deserialize, Serialize)] 84 + #[serde(rename_all = "camelCase")] 85 + struct NixEvent { 86 + action: String, 87 + id: u64, 88 + #[serde(default)] 89 + #[serde(rename = "type")] 90 + event_type: u64, 91 + #[serde(default)] 92 + text: String, 93 + #[serde(default)] 94 + fields: Vec<serde_json::Value>, 95 + #[serde(default)] 96 + parent: u64, 97 + } 98 + 99 + struct State { 100 + active_activities: HashMap<u64, Activity>, 101 + pool: Pool<Sqlite>, 102 + } 103 + 104 + struct Activity { 105 + id: u64, 106 + event_type: u64, 107 + text: String, 108 + start_time: chrono::DateTime<Utc>, 109 + fields: Vec<serde_json::Value>, 110 + result_fields: Vec<serde_json::Value>, 111 + } 112 + 113 + #[tokio::main] 114 + async fn main() -> Result<()> { 115 + tracing_subscriber::fmt::init(); 116 + let cli = Cli::parse(); 117 + 118 + let connection_options = SqliteConnectOptions::from_str(&cli.db_url) 119 + .context("Invalid database URL")? 120 + .create_if_missing(true); 121 + 122 + let pool = SqlitePoolOptions::new() 123 + .max_connections(5) 124 + .connect_with(connection_options) 125 + .await 126 + .context("Failed to connect to/create database")?; 127 + 128 + sqlx::query( 129 + "CREATE TABLE IF NOT EXISTS events ( 130 + id INTEGER PRIMARY KEY, 131 + nix_id INTEGER, 132 + parent_id INTEGER, 133 + event_type INTEGER, 134 + text TEXT, 135 + start_time TEXT, 136 + end_time TEXT, 137 + duration_ms INTEGER, 138 + fields TEXT, 139 + result_fields TEXT, 140 + drv_path TEXT, 141 + cache_url TEXT 142 + )", 143 + ) 144 + .execute(&pool) 145 + .await?; 146 + 147 + match cli.command.unwrap_or(Commands::Daemon) { 148 + Commands::Daemon => run_daemon(cli.socket, pool).await?, 149 + Commands::Stats => show_stats(pool).await?, 150 + } 151 + 152 + Ok(()) 153 + } 154 + 155 + async fn run_daemon(socket_path: PathBuf, pool: Pool<Sqlite>) -> Result<()> { 156 + let state = Arc::new(Mutex::new(State { 157 + active_activities: HashMap::new(), 158 + pool, 159 + })); 160 + 161 + if socket_path.exists() { 162 + std::fs::remove_file(&socket_path)?; 163 + } 164 + 165 + let listener = UnixListener::bind(&socket_path) 166 + .with_context(|| format!("Failed to bind to {}", socket_path.display()))?; 167 + 168 + info!("Observability daemon listening on {}", socket_path.display()); 169 + 170 + loop { 171 + let (stream, _) = listener.accept().await?; 172 + let state = Arc::clone(&state); 173 + 174 + tokio::spawn(async move { 175 + if let Err(e) = handle_connection(stream, state).await { 176 + error!("Connection error: {}", e); 177 + } 178 + }); 179 + } 180 + } 181 + 182 + async fn handle_connection(stream: UnixStream, state: Arc<Mutex<State>>) -> Result<()> { 183 + let mut reader = BufReader::new(stream); 184 + let mut line = String::new(); 185 + 186 + loop { 187 + line.clear(); 188 + let n = reader.read_line(&mut line).await?; 189 + if n == 0 { break; } 190 + 191 + let event: NixEvent = match serde_json::from_str(&line) { 192 + Ok(e) => e, 193 + Err(e) => { 194 + debug!("Failed to parse JSON: {} (line: {})", e, line); 195 + continue; 196 + } 197 + }; 198 + 199 + process_event(event, &state).await?; 200 + } 201 + 202 + Ok(()) 203 + } 204 + 205 + async fn process_event(event: NixEvent, state: &Arc<Mutex<State>>) -> Result<()> { 206 + let mut s = state.lock().await; 207 + 208 + match event.action.as_str() { 209 + "start" => { 210 + info!(id = event.id, type = event.event_type, "Activity started: {}", event.text); 211 + s.active_activities.insert(event.id, Activity { 212 + id: event.id, 213 + event_type: event.event_type, 214 + text: event.text, 215 + start_time: Utc::now(), 216 + fields: event.fields, 217 + result_fields: Vec::new(), 218 + }); 219 + } 220 + "result" => { 221 + debug!(id = event.id, "Received result for activity"); 222 + if let Some(activity) = s.active_activities.get_mut(&event.id) { 223 + activity.result_fields = event.fields; 224 + } 225 + } 226 + "stop" => { 227 + if let Some(activity) = s.active_activities.remove(&event.id) { 228 + let end_time = Utc::now(); 229 + let duration = end_time.signed_duration_since(activity.start_time); 230 + 231 + info!( 232 + id = activity.id, 233 + duration_ms = duration.num_milliseconds(), 234 + "Activity finished: {}", 235 + activity.text 236 + ); 237 + 238 + let mut drv_path = None; 239 + let mut cache_url = None; 240 + 241 + // Expand detection to include more activity types 242 + match activity.event_type { 243 + // 101: CopyPath, 102: FileTransfer, 103: Realise, 105: Build 244 + 101 | 102 | 103 | 105 => { 245 + drv_path = activity.fields.get(0) 246 + .and_then(|v| v.as_str()) 247 + .map(|s| s.to_string()); 248 + } 249 + // 108: Substitute 250 + 108 => { 251 + drv_path = activity.fields.get(0) 252 + .and_then(|v| v.as_str()) 253 + .map(|s| s.to_string()); 254 + cache_url = activity.fields.get(1) 255 + .and_then(|v| v.as_str()) 256 + .map(|s| s.to_string()); 257 + } 258 + _ => {} 259 + } 260 + 261 + sqlx::query( 262 + "INSERT INTO events (nix_id, parent_id, event_type, text, start_time, end_time, duration_ms, fields, result_fields, drv_path, cache_url) 263 + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)" 264 + ) 265 + .bind(activity.id as i64) 266 + .bind(event.parent as i64) 267 + .bind(activity.event_type as i64) 268 + .bind(&activity.text) 269 + .bind(activity.start_time.to_rfc3339()) 270 + .bind(end_time.to_rfc3339()) 271 + .bind(duration.num_milliseconds()) 272 + .bind(serde_json::to_string(&activity.fields)?) 273 + .bind(serde_json::to_string(&activity.result_fields)?) 274 + .bind(drv_path) 275 + .bind(cache_url) 276 + .execute(&s.pool) 277 + .await?; 278 + } 279 + } 280 + _ => { 281 + debug!(action = %event.action, id = event.id, "Received unknown action"); 282 + } 283 + } 284 + 285 + Ok(()) 286 + } 287 + 288 + async fn show_stats(pool: Pool<Sqlite>) -> Result<()> { 289 + let rows = sqlx::query( 290 + "SELECT 291 + event_type, 292 + COUNT(*) as count, 293 + SUM(duration_ms) as total_ms, 294 + AVG(duration_ms) as avg_ms 295 + FROM events 296 + GROUP BY event_type 297 + ORDER BY total_ms DESC" 298 + ) 299 + .fetch_all(&pool) 300 + .await?; 301 + 302 + if rows.is_empty() { 303 + println!("No data available in database."); 304 + return Ok(()); 305 + } 306 + 307 + // Header 308 + println!("{:<20} {:>10} {:>15} {:>15}", "Activity", "Count", "Avg Time", "Total Time"); 309 + println!("{:-<20} {:->10} {:->15} {:->15}", "", "", "", ""); 310 + 311 + for row in rows { 312 + let ty: i64 = row.get("event_type"); 313 + let count: i64 = row.get("count"); 314 + let avg: f64 = row.get("avg_ms"); 315 + let total: i64 = row.get("total_ms"); 316 + 317 + let label = match ty { 318 + 0 => "Log/Output", 319 + 101 => "Copy Path", 320 + 102 => "File Transfer", 321 + 103 => "Realise", 322 + 104 => "Copy Paths", 323 + 105 => "Build", 324 + 108 => "Substitute", 325 + 109 => "Query Info", 326 + _ => "Other", 327 + }; 328 + 329 + println!( 330 + "{:<20} {:>10} {:>14.2}s {:>14.2}s", 331 + label, 332 + count, 333 + avg / 1000.0, 334 + total as f64 / 1000.0 335 + ); 336 + } 337 + 338 + // Top 5 most "expensive" individual events 339 + println!("\nTop 5 Most Time-Consuming Tasks:"); 340 + println!("{:<12} {:<15} {}", "Duration", "Type", "Resource/Text"); 341 + println!("{:-<12} {:-<15} {:-<30}", "", "", ""); 342 + 343 + let top_events = sqlx::query( 344 + "SELECT event_type, duration_ms, text, drv_path 345 + FROM events 346 + WHERE duration_ms > 0 347 + ORDER BY duration_ms DESC 348 + LIMIT 5" 349 + ) 350 + .fetch_all(&pool) 351 + .await?; 352 + 353 + for row in top_events { 354 + let dur: i64 = row.get("duration_ms"); 355 + let ty: i64 = row.get("event_type"); 356 + let path: String = row.get::<Option<String>, _>("drv_path") 357 + .or_else(|| row.get::<Option<String>, _>("text")) 358 + .unwrap_or_else(|| "unknown".to_string()); 359 + 360 + let short_path = if path.len() > 50 { 361 + format!("...{}", &path[path.len()-47..]) 362 + } else { 363 + path 364 + }; 365 + 366 + println!( 367 + "{:>10.2}s {:<15} {}", 368 + dur as f64 / 1000.0, 369 + match ty { 105 => "Build", 108 => "Subst", 102 => "Xfer", 103 => "Realise", _ => "Other" }, 370 + short_path 371 + ); 372 + } 373 + 374 + Ok(()) 375 + }