A better Rust ATProto crate

re-generated api with new auto-gating

+1804 -194
+211 -165
Cargo.lock
··· 107 107 108 108 [[package]] 109 109 name = "anstream" 110 - version = "0.6.20" 110 + version = "0.6.21" 111 111 source = "registry+https://github.com/rust-lang/crates.io-index" 112 - checksum = "3ae563653d1938f79b1ab1b5e668c87c76a9930414574a6583a7b7e11a8e6192" 112 + checksum = "43d5b281e737544384e969a5ccad3f1cdd24b48086a0fc1b2a5262a26b8f4f4a" 113 113 dependencies = [ 114 114 "anstyle", 115 115 "anstyle-parse", ··· 122 122 123 123 [[package]] 124 124 name = "anstyle" 125 - version = "1.0.11" 125 + version = "1.0.13" 126 126 source = "registry+https://github.com/rust-lang/crates.io-index" 127 - checksum = "862ed96ca487e809f1c8e5a8447f6ee2cf102f846893800b20cebdf541fc6bbd" 127 + checksum = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78" 128 128 129 129 [[package]] 130 130 name = "anstyle-parse" ··· 192 192 193 193 [[package]] 194 194 name = "async-compression" 195 - version = "0.4.30" 195 + version = "0.4.32" 196 196 source = "registry+https://github.com/rust-lang/crates.io-index" 197 - checksum = "977eb15ea9efd848bb8a4a1a2500347ed7f0bf794edf0dc3ddcf439f43d36b23" 197 + checksum = "5a89bce6054c720275ac2432fbba080a66a2106a44a1b804553930ca6909f4e0" 198 198 dependencies = [ 199 199 "compression-codecs", 200 200 "compression-core", ··· 353 353 "miniz_oxide 0.8.9", 354 354 "object", 355 355 "rustc-demangle", 356 - "windows-link 0.2.0", 356 + "windows-link 0.2.1", 357 357 ] 358 358 359 359 [[package]] ··· 376 376 version = "0.2.0" 377 377 source = "registry+https://github.com/rust-lang/crates.io-index" 378 378 checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" 379 + 380 + [[package]] 381 + name = "base256emoji" 382 + version = "1.0.2" 383 + source = "registry+https://github.com/rust-lang/crates.io-index" 384 + checksum = "b5e9430d9a245a77c92176e649af6e275f20839a48389859d1661e9a128d077c" 385 + dependencies = [ 386 + "const-str", 387 + "match-lookup", 388 + ] 379 389 380 390 [[package]] 381 391 name = "base64" ··· 424 434 425 435 [[package]] 426 436 name = "bon" 427 - version = "3.8.0" 437 + version = "3.8.1" 428 438 source = "registry+https://github.com/rust-lang/crates.io-index" 429 - checksum = "f44aa969f86ffb99e5c2d51f393ec9ed6e9fe2f47b609c917b0071f129854d29" 439 + checksum = "ebeb9aaf9329dff6ceb65c689ca3db33dbf15f324909c60e4e5eef5701ce31b1" 430 440 dependencies = [ 431 441 "bon-macros", 432 442 "rustversion", ··· 434 444 435 445 [[package]] 436 446 name = "bon-macros" 437 - version = "3.8.0" 447 + version = "3.8.1" 438 448 source = "registry+https://github.com/rust-lang/crates.io-index" 439 - checksum = "e1e78cd86b6a6515d87392332fd63c4950ed3e50eab54275259a5f59f3666f90" 449 + checksum = "77e9d642a7e3a318e37c2c9427b5a6a48aa1ad55dcd986f3034ab2239045a645" 440 450 dependencies = [ 441 451 "darling", 442 452 "ident_case", ··· 567 577 568 578 [[package]] 569 579 name = "cc" 570 - version = "1.2.39" 580 + version = "1.2.41" 571 581 source = "registry+https://github.com/rust-lang/crates.io-index" 572 - checksum = "e1354349954c6fc9cb0deab020f27f783cf0b604e8bb754dc4658ecf0d29c35f" 582 + checksum = "ac9fe6cdbb24b6ade63616c0a0688e45bb56732262c158df3c0c4bea4ca47cb7" 573 583 dependencies = [ 574 584 "find-msvc-tools", 575 585 "jobserver", ··· 604 614 605 615 [[package]] 606 616 name = "cfg-if" 607 - version = "1.0.3" 617 + version = "1.0.4" 608 618 source = "registry+https://github.com/rust-lang/crates.io-index" 609 - checksum = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9" 619 + checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" 610 620 611 621 [[package]] 612 622 name = "cfg_aliases" ··· 625 635 "num-traits", 626 636 "serde", 627 637 "wasm-bindgen", 628 - "windows-link 0.2.0", 638 + "windows-link 0.2.1", 629 639 ] 630 640 631 641 [[package]] ··· 677 687 678 688 [[package]] 679 689 name = "clap" 680 - version = "4.5.48" 690 + version = "4.5.49" 681 691 source = "registry+https://github.com/rust-lang/crates.io-index" 682 - checksum = "e2134bb3ea021b78629caa971416385309e0131b351b25e01dc16fb54e1b5fae" 692 + checksum = "f4512b90fa68d3a9932cea5184017c5d200f5921df706d45e853537dea51508f" 683 693 dependencies = [ 684 694 "clap_builder", 685 695 "clap_derive", ··· 687 697 688 698 [[package]] 689 699 name = "clap_builder" 690 - version = "4.5.48" 700 + version = "4.5.49" 691 701 source = "registry+https://github.com/rust-lang/crates.io-index" 692 - checksum = "c2ba64afa3c0a6df7fa517765e31314e983f51dda798ffba27b988194fb65dc9" 702 + checksum = "0025e98baa12e766c67ba13ff4695a887a1eba19569aad00a472546795bd6730" 693 703 dependencies = [ 694 704 "anstream", 695 705 "anstyle", ··· 699 709 700 710 [[package]] 701 711 name = "clap_derive" 702 - version = "4.5.47" 712 + version = "4.5.49" 703 713 source = "registry+https://github.com/rust-lang/crates.io-index" 704 - checksum = "bbfd7eae0b0f1a6e63d4b13c9c478de77c2eb546fba158ad50b4203dc24b9f9c" 714 + checksum = "2a0b5487afeab2deb2ff4e03a807ad1a03ac532ff5a2cee5d86884440c7f7671" 705 715 dependencies = [ 706 716 "heck 0.5.0", 707 717 "proc-macro2", ··· 711 721 712 722 [[package]] 713 723 name = "clap_lex" 714 - version = "0.7.5" 724 + version = "0.7.6" 715 725 source = "registry+https://github.com/rust-lang/crates.io-index" 716 - checksum = "b94f61472cee1439c0b966b47e3aca9ae07e45d070759512cd390ea2bebc6675" 726 + checksum = "a1d728cc89cf3aee9ff92b05e62b19ee65a02b5702cff7d5a377e32c6ae29d8d" 717 727 718 728 [[package]] 719 729 name = "color_quant" ··· 739 749 740 750 [[package]] 741 751 name = "compression-codecs" 742 - version = "0.4.30" 752 + version = "0.4.31" 743 753 source = "registry+https://github.com/rust-lang/crates.io-index" 744 - checksum = "485abf41ac0c8047c07c87c72c8fb3eb5197f6e9d7ded615dfd1a00ae00a0f64" 754 + checksum = "ef8a506ec4b81c460798f572caead636d57d3d7e940f998160f52bd254bf2d23" 745 755 dependencies = [ 746 756 "compression-core", 747 757 "flate2", ··· 771 781 version = "0.9.6" 772 782 source = "registry+https://github.com/rust-lang/crates.io-index" 773 783 checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" 784 + 785 + [[package]] 786 + name = "const-str" 787 + version = "0.4.3" 788 + source = "registry+https://github.com/rust-lang/crates.io-index" 789 + checksum = "2f421161cb492475f1661ddc9815a745a1c894592070661180fdec3d4872e9c3" 774 790 775 791 [[package]] 776 792 name = "cookie" ··· 1256 1272 checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" 1257 1273 dependencies = [ 1258 1274 "libc", 1259 - "windows-sys 0.61.1", 1275 + "windows-sys 0.61.2", 1260 1276 ] 1261 1277 1262 1278 [[package]] ··· 1367 1383 1368 1384 [[package]] 1369 1385 name = "find-msvc-tools" 1370 - version = "0.1.2" 1386 + version = "0.1.4" 1371 1387 source = "registry+https://github.com/rust-lang/crates.io-index" 1372 - checksum = "1ced73b1dacfc750a6db6c0a0c3a3853c8b41997e2e2c563dc90804ae6867959" 1388 + checksum = "52051878f80a721bb68ebfbc930e07b65ba72f2da88968ea5c06fd6ca3d3a127" 1373 1389 1374 1390 [[package]] 1375 1391 name = "flate2" 1376 - version = "1.1.2" 1392 + version = "1.1.4" 1377 1393 source = "registry+https://github.com/rust-lang/crates.io-index" 1378 - checksum = "4a3d7db9596fecd151c5f638c0ee5d5bd487b6e0ea232e5dc96d5250f6f94b1d" 1394 + checksum = "dc5a4e564e38c699f2880d3fda590bedc2e69f3f84cd48b457bd892ce61d0aa9" 1379 1395 dependencies = [ 1380 1396 "crc32fast", 1381 1397 "miniz_oxide 0.8.9", ··· 1558 1574 1559 1575 [[package]] 1560 1576 name = "generic-array" 1561 - version = "0.14.7" 1577 + version = "0.14.9" 1562 1578 source = "registry+https://github.com/rust-lang/crates.io-index" 1563 - checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" 1579 + checksum = "4bb6743198531e02858aeaea5398fcc883e71851fcbcb5a2f773e2fb6cb1edf2" 1564 1580 dependencies = [ 1565 1581 "typenum", 1566 1582 "version_check", ··· 1648 1664 "futures-core", 1649 1665 "futures-sink", 1650 1666 "http", 1651 - "indexmap 2.11.4", 1667 + "indexmap 2.12.0", 1652 1668 "slab", 1653 1669 "tokio", 1654 1670 "tokio-util", ··· 1657 1673 1658 1674 [[package]] 1659 1675 name = "half" 1660 - version = "2.6.0" 1676 + version = "2.7.1" 1661 1677 source = "registry+https://github.com/rust-lang/crates.io-index" 1662 - checksum = "459196ed295495a68f7d7fe1d84f6c4b7ff0e21fe3017b2f283c6fac3ad803c9" 1678 + checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" 1663 1679 dependencies = [ 1664 1680 "cfg-if", 1665 1681 "crunchy", 1682 + "zerocopy", 1666 1683 ] 1667 1684 1668 1685 [[package]] ··· 1880 1897 "libc", 1881 1898 "percent-encoding", 1882 1899 "pin-project-lite", 1883 - "socket2 0.5.10", 1900 + "socket2 0.6.1", 1884 1901 "system-configuration", 1885 1902 "tokio", 1886 1903 "tower-service", ··· 1900 1917 "js-sys", 1901 1918 "log", 1902 1919 "wasm-bindgen", 1903 - "windows-core", 1920 + "windows-core 0.62.2", 1904 1921 ] 1905 1922 1906 1923 [[package]] ··· 2078 2095 2079 2096 [[package]] 2080 2097 name = "indexmap" 2081 - version = "2.11.4" 2098 + version = "2.12.0" 2082 2099 source = "registry+https://github.com/rust-lang/crates.io-index" 2083 - checksum = "4b0f83760fb341a774ed326568e19f5a863af4a952def8c39f9ab92fd95b88e5" 2100 + checksum = "6717a8d2a5a929a1a2eb43a12812498ed141a0bcfb7e8f7844fbdbe4303bba9f" 2084 2101 dependencies = [ 2085 2102 "equivalent", 2086 2103 "hashbrown 0.16.0", ··· 2115 2132 ] 2116 2133 2117 2134 [[package]] 2118 - name = "io-uring" 2119 - version = "0.7.10" 2120 - source = "registry+https://github.com/rust-lang/crates.io-index" 2121 - checksum = "046fa2d4d00aea763528b4950358d0ead425372445dc8ff86312b3c69ff7727b" 2122 - dependencies = [ 2123 - "bitflags", 2124 - "cfg-if", 2125 - "libc", 2126 - ] 2127 - 2128 - [[package]] 2129 2135 name = "ipconfig" 2130 2136 version = "0.3.2" 2131 2137 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 2245 2251 [[package]] 2246 2252 name = "jacquard-api" 2247 2253 version = "0.6.0" 2248 - source = "git+https://tangled.org/@nonbinary.computer/jacquard#8546eeba588760175f40467a8788236140c26b56" 2254 + source = "git+https://tangled.org/@nonbinary.computer/jacquard#861d9e86c582939ed1d50201954ef1368a91f9b7" 2249 2255 dependencies = [ 2250 2256 "bon", 2251 2257 "bytes", ··· 2335 2341 [[package]] 2336 2342 name = "jacquard-common" 2337 2343 version = "0.6.0" 2338 - source = "git+https://tangled.org/@nonbinary.computer/jacquard#8546eeba588760175f40467a8788236140c26b56" 2344 + source = "git+https://tangled.org/@nonbinary.computer/jacquard#861d9e86c582939ed1d50201954ef1368a91f9b7" 2339 2345 dependencies = [ 2340 2346 "base64 0.22.1", 2341 2347 "bon", ··· 2384 2390 [[package]] 2385 2391 name = "jacquard-derive" 2386 2392 version = "0.6.0" 2387 - source = "git+https://tangled.org/@nonbinary.computer/jacquard#8546eeba588760175f40467a8788236140c26b56" 2393 + source = "git+https://tangled.org/@nonbinary.computer/jacquard#861d9e86c582939ed1d50201954ef1368a91f9b7" 2388 2394 dependencies = [ 2389 2395 "proc-macro2", 2390 2396 "quote", ··· 2419 2425 [[package]] 2420 2426 name = "jacquard-identity" 2421 2427 version = "0.6.0" 2422 - source = "git+https://tangled.org/@nonbinary.computer/jacquard#8546eeba588760175f40467a8788236140c26b56" 2428 + source = "git+https://tangled.org/@nonbinary.computer/jacquard#861d9e86c582939ed1d50201954ef1368a91f9b7" 2423 2429 dependencies = [ 2424 2430 "bon", 2425 2431 "bytes", ··· 2639 2645 2640 2646 [[package]] 2641 2647 name = "libc" 2642 - version = "0.2.176" 2648 + version = "0.2.177" 2643 2649 source = "registry+https://github.com/rust-lang/crates.io-index" 2644 - checksum = "58f929b4d672ea937a23a1ab494143d968337a5f47e56d0815df1e0890ddf174" 2650 + checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976" 2645 2651 2646 2652 [[package]] 2647 2653 name = "libfuzzer-sys" ··· 2762 2768 ] 2763 2769 2764 2770 [[package]] 2771 + name = "match-lookup" 2772 + version = "0.1.1" 2773 + source = "registry+https://github.com/rust-lang/crates.io-index" 2774 + checksum = "1265724d8cb29dbbc2b0f06fffb8bf1a8c0cf73a78eede9ba73a4a66c52a981e" 2775 + dependencies = [ 2776 + "proc-macro2", 2777 + "quote", 2778 + "syn 1.0.109", 2779 + ] 2780 + 2781 + [[package]] 2765 2782 name = "matchers" 2766 2783 version = "0.2.0" 2767 2784 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 2866 2883 2867 2884 [[package]] 2868 2885 name = "mio" 2869 - version = "1.0.4" 2886 + version = "1.1.0" 2870 2887 source = "registry+https://github.com/rust-lang/crates.io-index" 2871 - checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" 2888 + checksum = "69d83b0086dc8ecf3ce9ae2874b2d1290252e2a30720bea58a5c6639b0092873" 2872 2889 dependencies = [ 2873 2890 "libc", 2874 2891 "wasi", 2875 - "windows-sys 0.59.0", 2892 + "windows-sys 0.61.2", 2876 2893 ] 2877 2894 2878 2895 [[package]] ··· 2887 2904 2888 2905 [[package]] 2889 2906 name = "multibase" 2890 - version = "0.9.1" 2907 + version = "0.9.2" 2891 2908 source = "registry+https://github.com/rust-lang/crates.io-index" 2892 - checksum = "9b3539ec3c1f04ac9748a260728e855f261b4977f5c3406612c884564f329404" 2909 + checksum = "8694bb4835f452b0e3bb06dbebb1d6fc5385b6ca1caf2e55fd165c042390ec77" 2893 2910 dependencies = [ 2894 2911 "base-x", 2912 + "base256emoji", 2895 2913 "data-encoding", 2896 2914 "data-encoding-macro", 2897 2915 ] ··· 2980 2998 source = "registry+https://github.com/rust-lang/crates.io-index" 2981 2999 checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" 2982 3000 dependencies = [ 2983 - "windows-sys 0.61.1", 3001 + "windows-sys 0.61.2", 2984 3002 ] 2985 3003 2986 3004 [[package]] ··· 3172 3190 3173 3191 [[package]] 3174 3192 name = "owo-colors" 3175 - version = "4.2.2" 3193 + version = "4.2.3" 3176 3194 source = "registry+https://github.com/rust-lang/crates.io-index" 3177 - checksum = "48dd4f4a2c8405440fd0462561f0e5806bd0f77e86f51c761481bdd4018b545e" 3195 + checksum = "9c6901729fa79e91a0913333229e9ca5dc725089d1c363b2f4b4760709dc4a52" 3178 3196 3179 3197 [[package]] 3180 3198 name = "p256" ··· 3224 3242 "libc", 3225 3243 "redox_syscall", 3226 3244 "smallvec", 3227 - "windows-link 0.2.0", 3245 + "windows-link 0.2.1", 3228 3246 ] 3229 3247 3230 3248 [[package]] ··· 3513 3531 "quinn-udp", 3514 3532 "rustc-hash", 3515 3533 "rustls", 3516 - "socket2 0.5.10", 3534 + "socket2 0.6.1", 3517 3535 "thiserror 2.0.17", 3518 3536 "tokio", 3519 3537 "tracing", ··· 3550 3568 "cfg_aliases", 3551 3569 "libc", 3552 3570 "once_cell", 3553 - "socket2 0.5.10", 3571 + "socket2 0.6.1", 3554 3572 "tracing", 3555 3573 "windows-sys 0.60.2", 3556 3574 ] ··· 3722 3740 3723 3741 [[package]] 3724 3742 name = "ref-cast" 3725 - version = "1.0.24" 3743 + version = "1.0.25" 3726 3744 source = "registry+https://github.com/rust-lang/crates.io-index" 3727 - checksum = "4a0ae411dbe946a674d89546582cea4ba2bb8defac896622d6496f14c23ba5cf" 3745 + checksum = "f354300ae66f76f1c85c5f84693f0ce81d747e2c3f21a45fef496d89c960bf7d" 3728 3746 dependencies = [ 3729 3747 "ref-cast-impl", 3730 3748 ] 3731 3749 3732 3750 [[package]] 3733 3751 name = "ref-cast-impl" 3734 - version = "1.0.24" 3752 + version = "1.0.25" 3735 3753 source = "registry+https://github.com/rust-lang/crates.io-index" 3736 - checksum = "1165225c21bff1f3bbce98f5a1f889949bc902d3575308cc7b0de30b4f6d27c7" 3754 + checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da" 3737 3755 dependencies = [ 3738 3756 "proc-macro2", 3739 3757 "quote", ··· 3742 3760 3743 3761 [[package]] 3744 3762 name = "regex" 3745 - version = "1.11.3" 3763 + version = "1.12.2" 3746 3764 source = "registry+https://github.com/rust-lang/crates.io-index" 3747 - checksum = "8b5288124840bee7b386bc413c487869b360b2b4ec421ea56425128692f2a82c" 3765 + checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4" 3748 3766 dependencies = [ 3749 3767 "aho-corasick", 3750 3768 "memchr", ··· 3754 3772 3755 3773 [[package]] 3756 3774 name = "regex-automata" 3757 - version = "0.4.11" 3775 + version = "0.4.13" 3758 3776 source = "registry+https://github.com/rust-lang/crates.io-index" 3759 - checksum = "833eb9ce86d40ef33cb1306d8accf7bc8ec2bfea4355cbdebb3df68b40925cad" 3777 + checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c" 3760 3778 dependencies = [ 3761 3779 "aho-corasick", 3762 3780 "memchr", ··· 3765 3783 3766 3784 [[package]] 3767 3785 name = "regex-syntax" 3768 - version = "0.8.6" 3786 + version = "0.8.8" 3769 3787 source = "registry+https://github.com/rust-lang/crates.io-index" 3770 - checksum = "caf4aa5b0f434c91fe5c7f1ecb6a5ece2130b02ad2a590589dda5146df959001" 3788 + checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" 3771 3789 3772 3790 [[package]] 3773 3791 name = "reqwest" 3774 - version = "0.12.23" 3792 + version = "0.12.24" 3775 3793 source = "registry+https://github.com/rust-lang/crates.io-index" 3776 - checksum = "d429f34c8092b2d42c7c93cec323bb4adeb7c67698f70839adec842ec10c7ceb" 3794 + checksum = "9d0946410b9f7b082a427e4ef5c8ff541a88b357bc6c637c40db3a68ac70a36f" 3777 3795 dependencies = [ 3778 3796 "async-compression", 3779 3797 "base64 0.22.1", ··· 3965 3983 "errno", 3966 3984 "libc", 3967 3985 "linux-raw-sys 0.11.0", 3968 - "windows-sys 0.61.1", 3986 + "windows-sys 0.61.2", 3969 3987 ] 3970 3988 3971 3989 [[package]] 3972 3990 name = "rustls" 3973 - version = "0.23.32" 3991 + version = "0.23.33" 3974 3992 source = "registry+https://github.com/rust-lang/crates.io-index" 3975 - checksum = "cd3c25631629d034ce7cd9940adc9d45762d46de2b0f57193c4443b92c6d4d40" 3993 + checksum = "751e04a496ca00bb97a5e043158d23d66b5aabf2e1d5aa2a0aaebb1aafe6f82c" 3976 3994 dependencies = [ 3977 3995 "once_cell", 3978 3996 "ring", ··· 4048 4066 source = "registry+https://github.com/rust-lang/crates.io-index" 4049 4067 checksum = "891d81b926048e76efe18581bf793546b4c0eaf8448d72be8de2bbee5fd166e1" 4050 4068 dependencies = [ 4051 - "windows-sys 0.61.1", 4069 + "windows-sys 0.61.2", 4052 4070 ] 4053 4071 4054 4072 [[package]] ··· 4148 4166 4149 4167 [[package]] 4150 4168 name = "serde_bytes" 4151 - version = "0.11.17" 4169 + version = "0.11.19" 4152 4170 source = "registry+https://github.com/rust-lang/crates.io-index" 4153 - checksum = "8437fd221bde2d4ca316d61b90e337e9e702b3820b87d63caa9ba6c02bd06d96" 4171 + checksum = "a5d440709e79d88e51ac01c4b72fc6cb7314017bb7da9eeff678aa94c10e3ea8" 4154 4172 dependencies = [ 4155 4173 "serde", 4174 + "serde_core", 4156 4175 ] 4157 4176 4158 4177 [[package]] ··· 4182 4201 checksum = "b2f2d7ff8a2140333718bb329f5c40fc5f0865b84c426183ce14c97d2ab8154f" 4183 4202 dependencies = [ 4184 4203 "form_urlencoded", 4185 - "indexmap 2.11.4", 4204 + "indexmap 2.12.0", 4186 4205 "itoa", 4187 4206 "ryu", 4188 4207 "serde_core", ··· 4258 4277 4259 4278 [[package]] 4260 4279 name = "serde_with" 4261 - version = "3.14.1" 4280 + version = "3.15.0" 4262 4281 source = "registry+https://github.com/rust-lang/crates.io-index" 4263 - checksum = "c522100790450cf78eeac1507263d0a350d4d5b30df0c8e1fe051a10c22b376e" 4282 + checksum = "6093cd8c01b25262b84927e0f7151692158fab02d961e04c979d3903eba7ecc5" 4264 4283 dependencies = [ 4265 4284 "base64 0.22.1", 4266 4285 "chrono", 4267 4286 "hex", 4268 4287 "indexmap 1.9.3", 4269 - "indexmap 2.11.4", 4288 + "indexmap 2.12.0", 4270 4289 "schemars 0.9.0", 4271 4290 "schemars 1.0.4", 4272 - "serde", 4273 - "serde_derive", 4291 + "serde_core", 4274 4292 "serde_json", 4275 4293 "serde_with_macros", 4276 4294 "time", ··· 4278 4296 4279 4297 [[package]] 4280 4298 name = "serde_with_macros" 4281 - version = "3.14.1" 4299 + version = "3.15.0" 4282 4300 source = "registry+https://github.com/rust-lang/crates.io-index" 4283 - checksum = "327ada00f7d64abaac1e55a6911e90cf665aa051b9a561c7006c157f4633135e" 4301 + checksum = "a7e6c180db0816026a61afa1cff5344fb7ebded7e4d3062772179f2501481c27" 4284 4302 dependencies = [ 4285 4303 "darling", 4286 4304 "proc-macro2", ··· 4417 4435 4418 4436 [[package]] 4419 4437 name = "socket2" 4420 - version = "0.6.0" 4438 + version = "0.6.1" 4421 4439 source = "registry+https://github.com/rust-lang/crates.io-index" 4422 - checksum = "233504af464074f9d066d7b5416c5f9b894a5862a6506e306f7b816cdd6f1807" 4440 + checksum = "17129e116933cf371d018bb80ae557e889637989d8638274fb25622827b03881" 4423 4441 dependencies = [ 4424 4442 "libc", 4425 - "windows-sys 0.59.0", 4443 + "windows-sys 0.60.2", 4426 4444 ] 4427 4445 4428 4446 [[package]] ··· 4449 4467 4450 4468 [[package]] 4451 4469 name = "stable_deref_trait" 4452 - version = "1.2.0" 4470 + version = "1.2.1" 4453 4471 source = "registry+https://github.com/rust-lang/crates.io-index" 4454 - checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" 4472 + checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" 4455 4473 4456 4474 [[package]] 4457 4475 name = "static-regular-grammar" ··· 4615 4633 "getrandom 0.3.4", 4616 4634 "once_cell", 4617 4635 "rustix 1.1.2", 4618 - "windows-sys 0.61.1", 4636 + "windows-sys 0.61.2", 4619 4637 ] 4620 4638 4621 4639 [[package]] ··· 4644 4662 checksum = "c13547615a44dc9c452a8a534638acdf07120d4b6847c8178705da06306a3057" 4645 4663 dependencies = [ 4646 4664 "unicode-linebreak", 4647 - "unicode-width 0.2.1", 4665 + "unicode-width 0.2.2", 4648 4666 ] 4649 4667 4650 4668 [[package]] ··· 4802 4820 4803 4821 [[package]] 4804 4822 name = "tokio" 4805 - version = "1.47.1" 4823 + version = "1.48.0" 4806 4824 source = "registry+https://github.com/rust-lang/crates.io-index" 4807 - checksum = "89e49afdadebb872d3145a5638b59eb0691ea23e46ca484037cfab3b76b95038" 4825 + checksum = "ff360e02eab121e0bc37a2d3b4d4dc622e6eda3a8e5253d5435ecf5bd4c68408" 4808 4826 dependencies = [ 4809 - "backtrace", 4810 4827 "bytes", 4811 - "io-uring", 4812 4828 "libc", 4813 4829 "mio", 4814 4830 "parking_lot", 4815 4831 "pin-project-lite", 4816 4832 "signal-hook-registry", 4817 - "slab", 4818 - "socket2 0.6.0", 4833 + "socket2 0.6.1", 4819 4834 "tokio-macros", 4820 - "windows-sys 0.59.0", 4835 + "windows-sys 0.61.2", 4821 4836 ] 4822 4837 4823 4838 [[package]] 4824 4839 name = "tokio-macros" 4825 - version = "2.5.0" 4840 + version = "2.6.0" 4826 4841 source = "registry+https://github.com/rust-lang/crates.io-index" 4827 - checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" 4842 + checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" 4828 4843 dependencies = [ 4829 4844 "proc-macro2", 4830 4845 "quote", ··· 4917 4932 source = "registry+https://github.com/rust-lang/crates.io-index" 4918 4933 checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" 4919 4934 dependencies = [ 4920 - "indexmap 2.11.4", 4935 + "indexmap 2.12.0", 4921 4936 "serde", 4922 4937 "serde_spanned", 4923 4938 "toml_datetime", ··· 5088 5103 5089 5104 [[package]] 5090 5105 name = "typenum" 5091 - version = "1.18.0" 5106 + version = "1.19.0" 5092 5107 source = "registry+https://github.com/rust-lang/crates.io-index" 5093 - checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" 5108 + checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" 5094 5109 5095 5110 [[package]] 5096 5111 name = "typetag" ··· 5142 5157 5143 5158 [[package]] 5144 5159 name = "unicode-width" 5145 - version = "0.2.1" 5160 + version = "0.2.2" 5146 5161 source = "registry+https://github.com/rust-lang/crates.io-index" 5147 - checksum = "4a1a07cc7db3810833284e8d372ccdc6da29741639ecc70c9ec107df0fa6154c" 5162 + checksum = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254" 5148 5163 5149 5164 [[package]] 5150 5165 name = "unicode-xid" ··· 5414 5429 5415 5430 [[package]] 5416 5431 name = "webpki-roots" 5417 - version = "1.0.2" 5432 + version = "1.0.3" 5418 5433 source = "registry+https://github.com/rust-lang/crates.io-index" 5419 - checksum = "7e8983c3ab33d6fb807cfcdad2491c4ea8cbc8ed839181c7dfd9c67c83e261b2" 5434 + checksum = "32b130c0d2d49f8b6889abc456e795e82525204f27c42cf767cf0d7734e089b8" 5420 5435 dependencies = [ 5421 5436 "rustls-pki-types", 5422 5437 ] ··· 5429 5444 5430 5445 [[package]] 5431 5446 name = "widestring" 5432 - version = "1.2.0" 5447 + version = "1.2.1" 5433 5448 source = "registry+https://github.com/rust-lang/crates.io-index" 5434 - checksum = "dd7cf3379ca1aac9eea11fba24fd7e315d621f8dfe35c8d7d2be8b793726e07d" 5449 + checksum = "72069c3113ab32ab29e5584db3c6ec55d416895e60715417b5b883a357c3e471" 5435 5450 5436 5451 [[package]] 5437 5452 name = "winapi" ··· 5455 5470 source = "registry+https://github.com/rust-lang/crates.io-index" 5456 5471 checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" 5457 5472 dependencies = [ 5458 - "windows-sys 0.48.0", 5473 + "windows-sys 0.61.2", 5459 5474 ] 5460 5475 5461 5476 [[package]] ··· 5471 5486 checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893" 5472 5487 dependencies = [ 5473 5488 "windows-collections", 5474 - "windows-core", 5489 + "windows-core 0.61.2", 5475 5490 "windows-future", 5476 5491 "windows-link 0.1.3", 5477 5492 "windows-numerics", ··· 5483 5498 source = "registry+https://github.com/rust-lang/crates.io-index" 5484 5499 checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8" 5485 5500 dependencies = [ 5486 - "windows-core", 5501 + "windows-core 0.61.2", 5487 5502 ] 5488 5503 5489 5504 [[package]] ··· 5495 5510 "windows-implement", 5496 5511 "windows-interface", 5497 5512 "windows-link 0.1.3", 5498 - "windows-result", 5499 - "windows-strings", 5513 + "windows-result 0.3.4", 5514 + "windows-strings 0.4.2", 5515 + ] 5516 + 5517 + [[package]] 5518 + name = "windows-core" 5519 + version = "0.62.2" 5520 + source = "registry+https://github.com/rust-lang/crates.io-index" 5521 + checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" 5522 + dependencies = [ 5523 + "windows-implement", 5524 + "windows-interface", 5525 + "windows-link 0.2.1", 5526 + "windows-result 0.4.1", 5527 + "windows-strings 0.5.1", 5500 5528 ] 5501 5529 5502 5530 [[package]] ··· 5505 5533 source = "registry+https://github.com/rust-lang/crates.io-index" 5506 5534 checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e" 5507 5535 dependencies = [ 5508 - "windows-core", 5536 + "windows-core 0.61.2", 5509 5537 "windows-link 0.1.3", 5510 5538 "windows-threading", 5511 5539 ] 5512 5540 5513 5541 [[package]] 5514 5542 name = "windows-implement" 5515 - version = "0.60.1" 5543 + version = "0.60.2" 5516 5544 source = "registry+https://github.com/rust-lang/crates.io-index" 5517 - checksum = "edb307e42a74fb6de9bf3a02d9712678b22399c87e6fa869d6dfcd8c1b7754e0" 5545 + checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" 5518 5546 dependencies = [ 5519 5547 "proc-macro2", 5520 5548 "quote", ··· 5523 5551 5524 5552 [[package]] 5525 5553 name = "windows-interface" 5526 - version = "0.59.2" 5554 + version = "0.59.3" 5527 5555 source = "registry+https://github.com/rust-lang/crates.io-index" 5528 - checksum = "c0abd1ddbc6964ac14db11c7213d6532ef34bd9aa042c2e5935f59d7908b46a5" 5556 + checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" 5529 5557 dependencies = [ 5530 5558 "proc-macro2", 5531 5559 "quote", ··· 5540 5568 5541 5569 [[package]] 5542 5570 name = "windows-link" 5543 - version = "0.2.0" 5571 + version = "0.2.1" 5544 5572 source = "registry+https://github.com/rust-lang/crates.io-index" 5545 - checksum = "45e46c0661abb7180e7b9c281db115305d49ca1709ab8242adf09666d2173c65" 5573 + checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" 5546 5574 5547 5575 [[package]] 5548 5576 name = "windows-numerics" ··· 5550 5578 source = "registry+https://github.com/rust-lang/crates.io-index" 5551 5579 checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1" 5552 5580 dependencies = [ 5553 - "windows-core", 5581 + "windows-core 0.61.2", 5554 5582 "windows-link 0.1.3", 5555 5583 ] 5556 5584 ··· 5561 5589 checksum = "5b8a9ed28765efc97bbc954883f4e6796c33a06546ebafacbabee9696967499e" 5562 5590 dependencies = [ 5563 5591 "windows-link 0.1.3", 5564 - "windows-result", 5565 - "windows-strings", 5592 + "windows-result 0.3.4", 5593 + "windows-strings 0.4.2", 5566 5594 ] 5567 5595 5568 5596 [[package]] ··· 5575 5603 ] 5576 5604 5577 5605 [[package]] 5606 + name = "windows-result" 5607 + version = "0.4.1" 5608 + source = "registry+https://github.com/rust-lang/crates.io-index" 5609 + checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" 5610 + dependencies = [ 5611 + "windows-link 0.2.1", 5612 + ] 5613 + 5614 + [[package]] 5578 5615 name = "windows-strings" 5579 5616 version = "0.4.2" 5580 5617 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 5584 5621 ] 5585 5622 5586 5623 [[package]] 5624 + name = "windows-strings" 5625 + version = "0.5.1" 5626 + source = "registry+https://github.com/rust-lang/crates.io-index" 5627 + checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" 5628 + dependencies = [ 5629 + "windows-link 0.2.1", 5630 + ] 5631 + 5632 + [[package]] 5587 5633 name = "windows-sys" 5588 5634 version = "0.45.0" 5589 5635 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 5625 5671 source = "registry+https://github.com/rust-lang/crates.io-index" 5626 5672 checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" 5627 5673 dependencies = [ 5628 - "windows-targets 0.53.4", 5674 + "windows-targets 0.53.5", 5629 5675 ] 5630 5676 5631 5677 [[package]] 5632 5678 name = "windows-sys" 5633 - version = "0.61.1" 5679 + version = "0.61.2" 5634 5680 source = "registry+https://github.com/rust-lang/crates.io-index" 5635 - checksum = "6f109e41dd4a3c848907eb83d5a42ea98b3769495597450cf6d153507b166f0f" 5681 + checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" 5636 5682 dependencies = [ 5637 - "windows-link 0.2.0", 5683 + "windows-link 0.2.1", 5638 5684 ] 5639 5685 5640 5686 [[package]] ··· 5685 5731 5686 5732 [[package]] 5687 5733 name = "windows-targets" 5688 - version = "0.53.4" 5734 + version = "0.53.5" 5689 5735 source = "registry+https://github.com/rust-lang/crates.io-index" 5690 - checksum = "2d42b7b7f66d2a06854650af09cfdf8713e427a439c97ad65a6375318033ac4b" 5736 + checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" 5691 5737 dependencies = [ 5692 - "windows-link 0.2.0", 5693 - "windows_aarch64_gnullvm 0.53.0", 5694 - "windows_aarch64_msvc 0.53.0", 5695 - "windows_i686_gnu 0.53.0", 5696 - "windows_i686_gnullvm 0.53.0", 5697 - "windows_i686_msvc 0.53.0", 5698 - "windows_x86_64_gnu 0.53.0", 5699 - "windows_x86_64_gnullvm 0.53.0", 5700 - "windows_x86_64_msvc 0.53.0", 5738 + "windows-link 0.2.1", 5739 + "windows_aarch64_gnullvm 0.53.1", 5740 + "windows_aarch64_msvc 0.53.1", 5741 + "windows_i686_gnu 0.53.1", 5742 + "windows_i686_gnullvm 0.53.1", 5743 + "windows_i686_msvc 0.53.1", 5744 + "windows_x86_64_gnu 0.53.1", 5745 + "windows_x86_64_gnullvm 0.53.1", 5746 + "windows_x86_64_msvc 0.53.1", 5701 5747 ] 5702 5748 5703 5749 [[package]] ··· 5729 5775 5730 5776 [[package]] 5731 5777 name = "windows_aarch64_gnullvm" 5732 - version = "0.53.0" 5778 + version = "0.53.1" 5733 5779 source = "registry+https://github.com/rust-lang/crates.io-index" 5734 - checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" 5780 + checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" 5735 5781 5736 5782 [[package]] 5737 5783 name = "windows_aarch64_msvc" ··· 5753 5799 5754 5800 [[package]] 5755 5801 name = "windows_aarch64_msvc" 5756 - version = "0.53.0" 5802 + version = "0.53.1" 5757 5803 source = "registry+https://github.com/rust-lang/crates.io-index" 5758 - checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" 5804 + checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" 5759 5805 5760 5806 [[package]] 5761 5807 name = "windows_i686_gnu" ··· 5777 5823 5778 5824 [[package]] 5779 5825 name = "windows_i686_gnu" 5780 - version = "0.53.0" 5826 + version = "0.53.1" 5781 5827 source = "registry+https://github.com/rust-lang/crates.io-index" 5782 - checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" 5828 + checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" 5783 5829 5784 5830 [[package]] 5785 5831 name = "windows_i686_gnullvm" ··· 5789 5835 5790 5836 [[package]] 5791 5837 name = "windows_i686_gnullvm" 5792 - version = "0.53.0" 5838 + version = "0.53.1" 5793 5839 source = "registry+https://github.com/rust-lang/crates.io-index" 5794 - checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" 5840 + checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" 5795 5841 5796 5842 [[package]] 5797 5843 name = "windows_i686_msvc" ··· 5813 5859 5814 5860 [[package]] 5815 5861 name = "windows_i686_msvc" 5816 - version = "0.53.0" 5862 + version = "0.53.1" 5817 5863 source = "registry+https://github.com/rust-lang/crates.io-index" 5818 - checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" 5864 + checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" 5819 5865 5820 5866 [[package]] 5821 5867 name = "windows_x86_64_gnu" ··· 5837 5883 5838 5884 [[package]] 5839 5885 name = "windows_x86_64_gnu" 5840 - version = "0.53.0" 5886 + version = "0.53.1" 5841 5887 source = "registry+https://github.com/rust-lang/crates.io-index" 5842 - checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" 5888 + checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" 5843 5889 5844 5890 [[package]] 5845 5891 name = "windows_x86_64_gnullvm" ··· 5861 5907 5862 5908 [[package]] 5863 5909 name = "windows_x86_64_gnullvm" 5864 - version = "0.53.0" 5910 + version = "0.53.1" 5865 5911 source = "registry+https://github.com/rust-lang/crates.io-index" 5866 - checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" 5912 + checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" 5867 5913 5868 5914 [[package]] 5869 5915 name = "windows_x86_64_msvc" ··· 5885 5931 5886 5932 [[package]] 5887 5933 name = "windows_x86_64_msvc" 5888 - version = "0.53.0" 5934 + version = "0.53.1" 5889 5935 source = "registry+https://github.com/rust-lang/crates.io-index" 5890 - checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" 5936 + checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" 5891 5937 5892 5938 [[package]] 5893 5939 name = "winnow"
+1
crates/jacquard-api/Cargo.toml
··· 65 65 dev_ocbwoy3 = [] 66 66 dev_regnault = [] 67 67 events_smokesignal = [] 68 + fyi_frontpage = [] 68 69 fyi_unravel = [] 69 70 garden_lexicon = [] 70 71 moe_karashiiro = []
+43
crates/jacquard-api/lexicons/fyi_frontpage_feed_comment.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "fyi.frontpage.feed.comment", 4 + "defs": { 5 + "main": { 6 + "type": "record", 7 + "description": "Record containing a Frontpage comment.", 8 + "key": "tid", 9 + "record": { 10 + "type": "object", 11 + "required": [ 12 + "createdAt", 13 + "post", 14 + "blocks" 15 + ], 16 + "properties": { 17 + "blocks": { 18 + "type": "array", 19 + "description": "The content of the comment. Note, there are additional constraints placed on the total size of the content within the Frontpage AppView that are not possible to express in lexicon. Generally a comment can have a maximum length of 10,000 graphemes, the Frontpage AppView will enforce this limit.", 20 + "items": { 21 + "type": "ref", 22 + "ref": "fyi.frontpage.richtext.block" 23 + }, 24 + "maxLength": 50 25 + }, 26 + "createdAt": { 27 + "type": "string", 28 + "description": "Client-declared timestamp when this comment was originally created.", 29 + "format": "datetime" 30 + }, 31 + "parent": { 32 + "type": "ref", 33 + "ref": "com.atproto.repo.strongRef" 34 + }, 35 + "post": { 36 + "type": "ref", 37 + "ref": "com.atproto.repo.strongRef" 38 + } 39 + } 40 + } 41 + } 42 + } 43 + }
+50
crates/jacquard-api/lexicons/fyi_frontpage_feed_post.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "fyi.frontpage.feed.post", 4 + "defs": { 5 + "main": { 6 + "type": "record", 7 + "description": "Record containing a Frontpage post.", 8 + "key": "tid", 9 + "record": { 10 + "type": "object", 11 + "required": [ 12 + "title", 13 + "createdAt" 14 + ], 15 + "properties": { 16 + "createdAt": { 17 + "type": "string", 18 + "description": "Client-declared timestamp when this post was originally created.", 19 + "format": "datetime" 20 + }, 21 + "subject": { 22 + "type": "union", 23 + "description": "The piece of content that this Frontpage post is about.", 24 + "refs": [ 25 + "#urlSubject" 26 + ] 27 + }, 28 + "title": { 29 + "type": "string", 30 + "description": "The title of the post.", 31 + "maxLength": 3000, 32 + "maxGraphemes": 300 33 + } 34 + } 35 + } 36 + }, 37 + "urlSubject": { 38 + "type": "object", 39 + "required": [ 40 + "url" 41 + ], 42 + "properties": { 43 + "url": { 44 + "type": "string", 45 + "format": "uri" 46 + } 47 + } 48 + } 49 + } 50 + }
+30
crates/jacquard-api/lexicons/fyi_frontpage_feed_vote.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "fyi.frontpage.feed.vote", 4 + "defs": { 5 + "main": { 6 + "type": "record", 7 + "description": "Record containing a Frontpage vote.", 8 + "key": "tid", 9 + "record": { 10 + "type": "object", 11 + "required": [ 12 + "subject", 13 + "createdAt" 14 + ], 15 + "properties": { 16 + "createdAt": { 17 + "type": "string", 18 + "description": "Client-declared timestamp when this vote was originally created.", 19 + "format": "datetime" 20 + }, 21 + "subject": { 22 + "type": "ref", 23 + "description": "The post or comment that this Frontpage vote is for.", 24 + "ref": "com.atproto.repo.strongRef" 25 + } 26 + } 27 + } 28 + } 29 + } 30 + }
+30
crates/jacquard-api/lexicons/fyi_frontpage_richtext_block.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "fyi.frontpage.richtext.block", 4 + "defs": { 5 + "main": { 6 + "type": "object", 7 + "required": [ 8 + "content" 9 + ], 10 + "properties": { 11 + "content": { 12 + "type": "union", 13 + "refs": [ 14 + "#plaintextParagraph" 15 + ] 16 + } 17 + } 18 + }, 19 + "plaintextParagraph": { 20 + "type": "object", 21 + "properties": { 22 + "text": { 23 + "type": "string", 24 + "maxLength": 100000, 25 + "maxGraphemes": 10000 26 + } 27 + } 28 + } 29 + } 30 + }
+32
crates/jacquard-api/lexicons/place_stream_broadcast_defs.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "place.stream.broadcast.defs", 4 + "defs": { 5 + "broadcastOriginView": { 6 + "type": "object", 7 + "required": [ 8 + "uri", 9 + "cid", 10 + "author", 11 + "record" 12 + ], 13 + "properties": { 14 + "author": { 15 + "type": "ref", 16 + "ref": "app.bsky.actor.defs#profileViewBasic" 17 + }, 18 + "cid": { 19 + "type": "string", 20 + "format": "cid" 21 + }, 22 + "record": { 23 + "type": "unknown" 24 + }, 25 + "uri": { 26 + "type": "string", 27 + "format": "at-uri" 28 + } 29 + } 30 + } 31 + } 32 + }
+41
crates/jacquard-api/lexicons/place_stream_broadcast_origin.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "place.stream.broadcast.origin", 4 + "defs": { 5 + "main": { 6 + "type": "record", 7 + "description": "Record indicating a livestream is published and available for replication at a given address. By convention, the record key is streamer::server", 8 + "key": "any", 9 + "record": { 10 + "type": "object", 11 + "required": [ 12 + "streamer", 13 + "server", 14 + "updatedAt" 15 + ], 16 + "properties": { 17 + "irohTicket": { 18 + "type": "string", 19 + "description": "Iroh ticket that can be used to access the livestream from the server", 20 + "maxLength": 2048 21 + }, 22 + "server": { 23 + "type": "string", 24 + "description": "did:web of the server that's currently rebroadcasting the livestream", 25 + "format": "did" 26 + }, 27 + "streamer": { 28 + "type": "string", 29 + "description": "DID of the streamer whose livestream is being published", 30 + "format": "did" 31 + }, 32 + "updatedAt": { 33 + "type": "string", 34 + "description": "Periodically updated timestamp when this origin last saw a livestream", 35 + "format": "datetime" 36 + } 37 + } 38 + } 39 + } 40 + } 41 + }
+36
crates/jacquard-api/lexicons/place_stream_broadcast_syndication.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "place.stream.broadcast.syndication", 4 + "defs": { 5 + "main": { 6 + "type": "record", 7 + "description": "Record created by a Streamplace broadcaster to indicate that they will be replicating a livestream", 8 + "key": "tid", 9 + "record": { 10 + "type": "object", 11 + "required": [ 12 + "broadcaster", 13 + "streamer", 14 + "createdAt" 15 + ], 16 + "properties": { 17 + "broadcaster": { 18 + "type": "string", 19 + "description": "DID of the Streamplace broadcaster that will be replicating the livestream", 20 + "format": "did" 21 + }, 22 + "createdAt": { 23 + "type": "string", 24 + "description": "Client-declared timestamp when this syndication was created.", 25 + "format": "datetime" 26 + }, 27 + "streamer": { 28 + "type": "string", 29 + "description": "DID of the streamer whose livestream is being replicated", 30 + "format": "did" 31 + } 32 + } 33 + } 34 + } 35 + } 36 + }
+28
crates/jacquard-api/lexicons/place_stream_metadata_configuration.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "place.stream.metadata.configuration", 4 + "defs": { 5 + "main": { 6 + "type": "record", 7 + "description": "Default metadata record for livestream including content warnings, rights, and distribution policy", 8 + "key": "literal:self", 9 + "record": { 10 + "type": "object", 11 + "properties": { 12 + "contentRights": { 13 + "type": "ref", 14 + "ref": "place.stream.metadata.contentRights" 15 + }, 16 + "contentWarnings": { 17 + "type": "ref", 18 + "ref": "place.stream.metadata.contentWarnings" 19 + }, 20 + "distributionPolicy": { 21 + "type": "ref", 22 + "ref": "place.stream.metadata.distributionPolicy" 23 + } 24 + } 25 + } 26 + } 27 + } 28 + }
+74
crates/jacquard-api/lexicons/place_stream_metadata_contentRights.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "place.stream.metadata.contentRights", 4 + "defs": { 5 + "all-rights-reserved": { 6 + "type": "token", 7 + "description": "All rights reserved to the creator — others cannot use, modify, or share without explicit authorization." 8 + }, 9 + "cc-by-nc-nd_4__0": { 10 + "type": "token", 11 + "description": "Attribution + non-commercial + no derivatives. Others may download and share your work with credit, but cannot change it or use it commercially." 12 + }, 13 + "cc-by-nc-sa_4__0": { 14 + "type": "token", 15 + "description": "Attribution + non-commercial + share-alike. Others may adapt and build upon your work for non-commercial purposes only, must credit you, and must license their new creations under identical terms." 16 + }, 17 + "cc-by-nc_4__0": { 18 + "type": "token", 19 + "description": "Attribution + non-commercial. Others may adapt and build upon your work for non-commercial purposes only, and must credit you." 20 + }, 21 + "cc-by-nd_4__0": { 22 + "type": "token", 23 + "description": "Attribution + no derivatives. Others may reuse your work, even commercially, but it must remain unchanged and you must be credited." 24 + }, 25 + "cc-by-sa_4__0": { 26 + "type": "token", 27 + "description": "Attribution + share-alike. Others may adapt and build upon your work, even commercially, if they credit you and license their new creations under identical terms." 28 + }, 29 + "cc-by_4__0": { 30 + "type": "token", 31 + "description": "Attribution required. Others may copy, distribute, remix, and build upon your work, even commercially, if they credit you." 32 + }, 33 + "cc0_1__0": { 34 + "type": "token", 35 + "description": "Public domain dedication. You waive all copyright and related rights where possible. Others may copy, modify, distribute, or perform your work for any purpose without attribution." 36 + }, 37 + "main": { 38 + "type": "object", 39 + "description": "Content rights and attribution information.", 40 + "properties": { 41 + "copyrightNotice": { 42 + "type": "string", 43 + "description": "Copyright notice for the work." 44 + }, 45 + "copyrightYear": { 46 + "type": "integer", 47 + "description": "Year of creation or publication." 48 + }, 49 + "creator": { 50 + "type": "string", 51 + "description": "Name of the creator of the work." 52 + }, 53 + "creditLine": { 54 + "type": "string", 55 + "description": "Credit line for the work." 56 + }, 57 + "license": { 58 + "type": "string", 59 + "description": "License URL or identifier.", 60 + "knownValues": [ 61 + "place.stream.metadata.contentRights#all-rights-reserved", 62 + "place.stream.metadata.contentRights#cc0_1__0", 63 + "place.stream.metadata.contentRights#cc-by_4__0", 64 + "place.stream.metadata.contentRights#cc-by-sa_4__0", 65 + "place.stream.metadata.contentRights#cc-by-nc_4__0", 66 + "place.stream.metadata.contentRights#cc-by-nc-sa_4__0", 67 + "place.stream.metadata.contentRights#cc-by-nd_4__0", 68 + "place.stream.metadata.contentRights#cc-by-nc-nd_4__0" 69 + ] 70 + } 71 + } 72 + } 73 + } 74 + }
+70
crates/jacquard-api/lexicons/place_stream_metadata_contentWarnings.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "place.stream.metadata.contentWarnings", 4 + "defs": { 5 + "PII": { 6 + "type": "token", 7 + "description": "The content contains information that can be used to identify a particular individual, such as a name, phone number, email address, physical address, or IP address." 8 + }, 9 + "death": { 10 + "type": "token", 11 + "description": "The content could be perceived as offensive due to the discussion or display of death." 12 + }, 13 + "drugUse": { 14 + "type": "token", 15 + "description": "The content contains a portrayal of the use or abuse of mind altering substances." 16 + }, 17 + "fantasyViolence": { 18 + "type": "token", 19 + "description": "The content contains violent actions of a fantasy nature, involving human or non-human characters in situations easily distinguishable from real life." 20 + }, 21 + "flashingLights": { 22 + "type": "token", 23 + "description": "The content contains flashing lights that could be harmful to viewers with seizure disorders such as photosensitive epilepsy." 24 + }, 25 + "language": { 26 + "type": "token", 27 + "description": "The content could be perceived as offensive due to the language used." 28 + }, 29 + "main": { 30 + "type": "object", 31 + "description": "Content warnings for a stream.", 32 + "properties": { 33 + "warnings": { 34 + "type": "array", 35 + "items": { 36 + "type": "string", 37 + "knownValues": [ 38 + "place.stream.metadata.contentWarnings#death", 39 + "place.stream.metadata.contentWarnings#drugUse", 40 + "place.stream.metadata.contentWarnings#fantasyViolence", 41 + "place.stream.metadata.contentWarnings#flashingLights", 42 + "place.stream.metadata.contentWarnings#language", 43 + "place.stream.metadata.contentWarnings#nudity", 44 + "place.stream.metadata.contentWarnings#PII", 45 + "place.stream.metadata.contentWarnings#sexuality", 46 + "place.stream.metadata.contentWarnings#suffering", 47 + "place.stream.metadata.contentWarnings#violence" 48 + ] 49 + } 50 + } 51 + } 52 + }, 53 + "nudity": { 54 + "type": "token", 55 + "description": "The content could be perceived as offensive due to nudity." 56 + }, 57 + "sexuality": { 58 + "type": "token", 59 + "description": "The content could be perceived as offensive due to the discussion or display of sexuality." 60 + }, 61 + "suffering": { 62 + "type": "token", 63 + "description": "The content could be perceived as distressing due to the discussion or display of suffering or triggering topics, including suicide, eating disorders or self harm." 64 + }, 65 + "violence": { 66 + "type": "token", 67 + "description": "The content could be perceived as offensive due to the discussion or display of violence." 68 + } 69 + } 70 + }
+16
crates/jacquard-api/lexicons/place_stream_metadata_distributionPolicy.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "place.stream.metadata.distributionPolicy", 4 + "defs": { 5 + "main": { 6 + "type": "object", 7 + "description": "Distribution and rebroadcast policy.", 8 + "properties": { 9 + "deleteAfter": { 10 + "type": "integer", 11 + "description": "Duration in seconds after which segments should be deleted. Each segment will expire N seconds after its creation time." 12 + } 13 + } 14 + } 15 + } 16 + }
+8 -7
crates/jacquard-api/src/com_atproto/label.rs
··· 6 6 // Any manual changes will be overwritten on the next regeneration. 7 7 8 8 pub mod query_labels; 9 - #[cfg(feature = "streaming")] // manually added temporarily 9 + 10 + #[cfg(feature = "streaming")] 10 11 pub mod subscribe_labels; 11 12 12 13 /// Metadata tag on an atproto resource (eg, repo or record). ··· 19 20 PartialEq, 20 21 Eq, 21 22 jacquard_derive::IntoStatic, 22 - bon::Builder, 23 + bon::Builder 23 24 )] 24 25 #[serde(rename_all = "camelCase")] 25 26 pub struct Label<'a> { ··· 189 190 PartialEq, 190 191 Eq, 191 192 jacquard_derive::IntoStatic, 192 - bon::Builder, 193 + bon::Builder 193 194 )] 194 195 #[serde(rename_all = "camelCase")] 195 196 pub struct LabelValueDefinition<'a> { ··· 228 229 PartialEq, 229 230 Eq, 230 231 jacquard_derive::IntoStatic, 231 - bon::Builder, 232 + bon::Builder 232 233 )] 233 234 #[serde(rename_all = "camelCase")] 234 235 pub struct LabelValueDefinitionStrings<'a> { ··· 254 255 PartialEq, 255 256 Eq, 256 257 jacquard_derive::IntoStatic, 257 - Default, 258 + Default 258 259 )] 259 260 #[serde(rename_all = "camelCase")] 260 261 pub struct SelfLabel<'a> { ··· 273 274 PartialEq, 274 275 Eq, 275 276 jacquard_derive::IntoStatic, 276 - bon::Builder, 277 + bon::Builder 277 278 )] 278 279 #[serde(rename_all = "camelCase")] 279 280 pub struct SelfLabels<'a> { 280 281 #[serde(borrow)] 281 282 pub values: Vec<crate::com_atproto::label::SelfLabel<'a>>, 282 - } 283 + }
+3 -2
crates/jacquard-api/src/com_atproto/sync.rs
··· 20 20 pub mod list_repos_by_collection; 21 21 pub mod notify_of_update; 22 22 pub mod request_crawl; 23 - #[cfg(feature = "streaming")] // manually added temporarily 23 + 24 + #[cfg(feature = "streaming")] 24 25 pub mod subscribe_repos; 25 26 26 27 #[derive(Debug, Clone, PartialEq, Eq, Hash)] ··· 112 113 HostStatus::Other(v) => HostStatus::Other(v.into_static()), 113 114 } 114 115 } 115 - } 116 + }
+27 -20
crates/jacquard-api/src/com_atproto/sync/subscribe_repos.rs
··· 15 15 PartialEq, 16 16 Eq, 17 17 jacquard_derive::IntoStatic, 18 - bon::Builder, 18 + bon::Builder 19 19 )] 20 20 #[serde(rename_all = "camelCase")] 21 21 pub struct Account<'a> { ··· 42 42 PartialEq, 43 43 Eq, 44 44 jacquard_derive::IntoStatic, 45 - bon::Builder, 45 + bon::Builder 46 46 )] 47 47 #[serde(rename_all = "camelCase")] 48 48 pub struct Commit<'a> { ··· 87 87 PartialEq, 88 88 Eq, 89 89 jacquard_derive::IntoStatic, 90 - bon::Builder, 90 + bon::Builder 91 91 )] 92 92 #[serde(rename_all = "camelCase")] 93 93 pub struct Identity<'a> { ··· 111 111 PartialEq, 112 112 Eq, 113 113 jacquard_derive::IntoStatic, 114 - Default, 114 + Default 115 115 )] 116 116 #[serde(rename_all = "camelCase")] 117 117 pub struct Info<'a> { ··· 130 130 PartialEq, 131 131 Eq, 132 132 bon::Builder, 133 - jacquard_derive::IntoStatic, 133 + jacquard_derive::IntoStatic 134 134 )] 135 135 #[builder(start_fn = new)] 136 136 #[serde(rename_all = "camelCase")] ··· 141 141 142 142 #[jacquard_derive::open_union] 143 143 #[derive( 144 - serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq, jacquard_derive::IntoStatic, 144 + serde::Serialize, 145 + serde::Deserialize, 146 + Debug, 147 + Clone, 148 + PartialEq, 149 + Eq, 150 + jacquard_derive::IntoStatic 145 151 )] 146 152 #[serde(tag = "$type")] 147 153 #[serde(bound(deserialize = "'de: 'a"))] ··· 163 169 pub fn decode_framed<'de: 'a>( 164 170 bytes: &'de [u8], 165 171 ) -> Result<SubscribeReposMessage<'a>, jacquard_common::error::DecodeError> { 166 - let (header, body) = jacquard_common::xrpc::subscription::parse_event_header(bytes)?; 172 + let (header, body) = jacquard_common::xrpc::subscription::parse_event_header( 173 + bytes, 174 + )?; 167 175 match header.t.as_str() { 168 176 "#commit" => { 169 177 let variant = serde_ipld_dagcbor::from_slice(body)?; ··· 185 193 let variant = serde_ipld_dagcbor::from_slice(body)?; 186 194 Ok(Self::Info(Box::new(variant))) 187 195 } 188 - unknown => Err(jacquard_common::error::DecodeError::UnknownEventType( 189 - unknown.into(), 190 - )), 196 + unknown => { 197 + Err( 198 + jacquard_common::error::DecodeError::UnknownEventType(unknown.into()), 199 + ) 200 + } 191 201 } 192 202 } 193 203 } ··· 202 212 Eq, 203 213 thiserror::Error, 204 214 miette::Diagnostic, 205 - jacquard_derive::IntoStatic, 215 + jacquard_derive::IntoStatic 206 216 )] 207 217 #[serde(tag = "error", content = "message")] 208 218 #[serde(bound(deserialize = "'de: 'a"))] ··· 241 251 pub struct SubscribeReposStream; 242 252 impl jacquard_common::xrpc::SubscriptionResp for SubscribeReposStream { 243 253 const NSID: &'static str = "com.atproto.sync.subscribeRepos"; 244 - const ENCODING: jacquard_common::xrpc::MessageEncoding = 245 - jacquard_common::xrpc::MessageEncoding::DagCbor; 254 + const ENCODING: jacquard_common::xrpc::MessageEncoding = jacquard_common::xrpc::MessageEncoding::DagCbor; 246 255 type Message<'de> = SubscribeReposMessage<'de>; 247 256 type Error<'de> = SubscribeReposError<'de>; 248 257 fn decode_message<'de>( ··· 254 263 255 264 impl jacquard_common::xrpc::XrpcSubscription for SubscribeRepos { 256 265 const NSID: &'static str = "com.atproto.sync.subscribeRepos"; 257 - const ENCODING: jacquard_common::xrpc::MessageEncoding = 258 - jacquard_common::xrpc::MessageEncoding::DagCbor; 266 + const ENCODING: jacquard_common::xrpc::MessageEncoding = jacquard_common::xrpc::MessageEncoding::DagCbor; 259 267 type Stream = SubscribeReposStream; 260 268 } 261 269 262 270 pub struct SubscribeReposEndpoint; 263 271 impl jacquard_common::xrpc::SubscriptionEndpoint for SubscribeReposEndpoint { 264 272 const PATH: &'static str = "/xrpc/com.atproto.sync.subscribeRepos"; 265 - const ENCODING: jacquard_common::xrpc::MessageEncoding = 266 - jacquard_common::xrpc::MessageEncoding::DagCbor; 273 + const ENCODING: jacquard_common::xrpc::MessageEncoding = jacquard_common::xrpc::MessageEncoding::DagCbor; 267 274 type Params<'de> = SubscribeRepos; 268 275 type Stream = SubscribeReposStream; 269 276 } ··· 278 285 PartialEq, 279 286 Eq, 280 287 jacquard_derive::IntoStatic, 281 - bon::Builder, 288 + bon::Builder 282 289 )] 283 290 #[serde(rename_all = "camelCase")] 284 291 pub struct RepoOp<'a> { ··· 308 315 PartialEq, 309 316 Eq, 310 317 jacquard_derive::IntoStatic, 311 - bon::Builder, 318 + bon::Builder 312 319 )] 313 320 #[serde(rename_all = "camelCase")] 314 321 pub struct Sync<'a> { ··· 325 332 pub seq: i64, 326 333 /// Timestamp of when this message was originally broadcast. 327 334 pub time: jacquard_common::types::string::Datetime, 328 - } 335 + }
+7
crates/jacquard-api/src/fyi_frontpage.rs
··· 1 + // @generated by jacquard-lexicon. DO NOT EDIT. 2 + // 3 + // This file was automatically generated from Lexicon schemas. 4 + // Any manual changes will be overwritten on the next regeneration. 5 + 6 + pub mod feed; 7 + pub mod richtext;
+8
crates/jacquard-api/src/fyi_frontpage/feed.rs
··· 1 + // @generated by jacquard-lexicon. DO NOT EDIT. 2 + // 3 + // This file was automatically generated from Lexicon schemas. 4 + // Any manual changes will be overwritten on the next regeneration. 5 + 6 + pub mod comment; 7 + pub mod post; 8 + pub mod vote;
+94
crates/jacquard-api/src/fyi_frontpage/feed/comment.rs
··· 1 + // @generated by jacquard-lexicon. DO NOT EDIT. 2 + // 3 + // Lexicon: fyi.frontpage.feed.comment 4 + // 5 + // This file was automatically generated from Lexicon schemas. 6 + // Any manual changes will be overwritten on the next regeneration. 7 + 8 + /// Record containing a Frontpage comment. 9 + #[jacquard_derive::lexicon] 10 + #[derive( 11 + serde::Serialize, 12 + serde::Deserialize, 13 + Debug, 14 + Clone, 15 + PartialEq, 16 + Eq, 17 + jacquard_derive::IntoStatic, 18 + bon::Builder 19 + )] 20 + #[serde(rename_all = "camelCase")] 21 + pub struct Comment<'a> { 22 + /// The content of the comment. Note, there are additional constraints placed on the total size of the content within the Frontpage AppView that are not possible to express in lexicon. Generally a comment can have a maximum length of 10,000 graphemes, the Frontpage AppView will enforce this limit. 23 + #[serde(borrow)] 24 + pub blocks: Vec<crate::fyi_frontpage::richtext::block::Block<'a>>, 25 + /// Client-declared timestamp when this comment was originally created. 26 + pub created_at: jacquard_common::types::string::Datetime, 27 + #[serde(skip_serializing_if = "std::option::Option::is_none")] 28 + #[builder(into)] 29 + #[serde(borrow)] 30 + pub parent: Option<crate::com_atproto::repo::strong_ref::StrongRef<'a>>, 31 + #[serde(borrow)] 32 + pub post: crate::com_atproto::repo::strong_ref::StrongRef<'a>, 33 + } 34 + 35 + impl<'a> Comment<'a> { 36 + pub fn uri( 37 + uri: impl Into<jacquard_common::CowStr<'a>>, 38 + ) -> Result< 39 + jacquard_common::types::uri::RecordUri<'a, CommentRecord>, 40 + jacquard_common::types::uri::UriError, 41 + > { 42 + jacquard_common::types::uri::RecordUri::try_from_uri( 43 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 44 + ) 45 + } 46 + } 47 + 48 + /// Typed wrapper for GetRecord response with this collection's record type. 49 + #[derive( 50 + serde::Serialize, 51 + serde::Deserialize, 52 + Debug, 53 + Clone, 54 + PartialEq, 55 + Eq, 56 + jacquard_derive::IntoStatic 57 + )] 58 + #[serde(rename_all = "camelCase")] 59 + pub struct CommentGetRecordOutput<'a> { 60 + #[serde(skip_serializing_if = "std::option::Option::is_none")] 61 + #[serde(borrow)] 62 + pub cid: std::option::Option<jacquard_common::types::string::Cid<'a>>, 63 + #[serde(borrow)] 64 + pub uri: jacquard_common::types::string::AtUri<'a>, 65 + #[serde(borrow)] 66 + pub value: Comment<'a>, 67 + } 68 + 69 + impl From<CommentGetRecordOutput<'_>> for Comment<'_> { 70 + fn from(output: CommentGetRecordOutput<'_>) -> Self { 71 + use jacquard_common::IntoStatic; 72 + output.value.into_static() 73 + } 74 + } 75 + 76 + impl jacquard_common::types::collection::Collection for Comment<'_> { 77 + const NSID: &'static str = "fyi.frontpage.feed.comment"; 78 + type Record = CommentRecord; 79 + } 80 + 81 + /// Marker type for deserializing records from this collection. 82 + #[derive(Debug, serde::Serialize, serde::Deserialize)] 83 + pub struct CommentRecord; 84 + impl jacquard_common::xrpc::XrpcResp for CommentRecord { 85 + const NSID: &'static str = "fyi.frontpage.feed.comment"; 86 + const ENCODING: &'static str = "application/json"; 87 + type Output<'de> = CommentGetRecordOutput<'de>; 88 + type Err<'de> = jacquard_common::types::collection::RecordError<'de>; 89 + } 90 + 91 + impl jacquard_common::types::collection::Collection for CommentRecord { 92 + const NSID: &'static str = "fyi.frontpage.feed.comment"; 93 + type Record = CommentRecord; 94 + }
+111
crates/jacquard-api/src/fyi_frontpage/feed/post.rs
··· 1 + // @generated by jacquard-lexicon. DO NOT EDIT. 2 + // 3 + // Lexicon: fyi.frontpage.feed.post 4 + // 5 + // This file was automatically generated from Lexicon schemas. 6 + // Any manual changes will be overwritten on the next regeneration. 7 + 8 + /// Record containing a Frontpage post. 9 + #[jacquard_derive::lexicon] 10 + #[derive( 11 + serde::Serialize, 12 + serde::Deserialize, 13 + Debug, 14 + Clone, 15 + PartialEq, 16 + Eq, 17 + jacquard_derive::IntoStatic, 18 + bon::Builder 19 + )] 20 + #[serde(rename_all = "camelCase")] 21 + pub struct Post<'a> { 22 + /// Client-declared timestamp when this post was originally created. 23 + pub created_at: jacquard_common::types::string::Datetime, 24 + /// The piece of content that this Frontpage post is about. 25 + #[serde(skip_serializing_if = "std::option::Option::is_none")] 26 + #[builder(into)] 27 + #[serde(borrow)] 28 + pub subject: Option<crate::fyi_frontpage::feed::post::UrlSubject<'a>>, 29 + /// The title of the post. 30 + #[serde(borrow)] 31 + #[builder(into)] 32 + pub title: jacquard_common::CowStr<'a>, 33 + } 34 + 35 + impl<'a> Post<'a> { 36 + pub fn uri( 37 + uri: impl Into<jacquard_common::CowStr<'a>>, 38 + ) -> Result< 39 + jacquard_common::types::uri::RecordUri<'a, PostRecord>, 40 + jacquard_common::types::uri::UriError, 41 + > { 42 + jacquard_common::types::uri::RecordUri::try_from_uri( 43 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 44 + ) 45 + } 46 + } 47 + 48 + /// Typed wrapper for GetRecord response with this collection's record type. 49 + #[derive( 50 + serde::Serialize, 51 + serde::Deserialize, 52 + Debug, 53 + Clone, 54 + PartialEq, 55 + Eq, 56 + jacquard_derive::IntoStatic 57 + )] 58 + #[serde(rename_all = "camelCase")] 59 + pub struct PostGetRecordOutput<'a> { 60 + #[serde(skip_serializing_if = "std::option::Option::is_none")] 61 + #[serde(borrow)] 62 + pub cid: std::option::Option<jacquard_common::types::string::Cid<'a>>, 63 + #[serde(borrow)] 64 + pub uri: jacquard_common::types::string::AtUri<'a>, 65 + #[serde(borrow)] 66 + pub value: Post<'a>, 67 + } 68 + 69 + impl From<PostGetRecordOutput<'_>> for Post<'_> { 70 + fn from(output: PostGetRecordOutput<'_>) -> Self { 71 + use jacquard_common::IntoStatic; 72 + output.value.into_static() 73 + } 74 + } 75 + 76 + impl jacquard_common::types::collection::Collection for Post<'_> { 77 + const NSID: &'static str = "fyi.frontpage.feed.post"; 78 + type Record = PostRecord; 79 + } 80 + 81 + /// Marker type for deserializing records from this collection. 82 + #[derive(Debug, serde::Serialize, serde::Deserialize)] 83 + pub struct PostRecord; 84 + impl jacquard_common::xrpc::XrpcResp for PostRecord { 85 + const NSID: &'static str = "fyi.frontpage.feed.post"; 86 + const ENCODING: &'static str = "application/json"; 87 + type Output<'de> = PostGetRecordOutput<'de>; 88 + type Err<'de> = jacquard_common::types::collection::RecordError<'de>; 89 + } 90 + 91 + impl jacquard_common::types::collection::Collection for PostRecord { 92 + const NSID: &'static str = "fyi.frontpage.feed.post"; 93 + type Record = PostRecord; 94 + } 95 + 96 + #[jacquard_derive::lexicon] 97 + #[derive( 98 + serde::Serialize, 99 + serde::Deserialize, 100 + Debug, 101 + Clone, 102 + PartialEq, 103 + Eq, 104 + jacquard_derive::IntoStatic, 105 + bon::Builder 106 + )] 107 + #[serde(rename_all = "camelCase")] 108 + pub struct UrlSubject<'a> { 109 + #[serde(borrow)] 110 + pub url: jacquard_common::types::string::Uri<'a>, 111 + }
+88
crates/jacquard-api/src/fyi_frontpage/feed/vote.rs
··· 1 + // @generated by jacquard-lexicon. DO NOT EDIT. 2 + // 3 + // Lexicon: fyi.frontpage.feed.vote 4 + // 5 + // This file was automatically generated from Lexicon schemas. 6 + // Any manual changes will be overwritten on the next regeneration. 7 + 8 + /// Record containing a Frontpage vote. 9 + #[jacquard_derive::lexicon] 10 + #[derive( 11 + serde::Serialize, 12 + serde::Deserialize, 13 + Debug, 14 + Clone, 15 + PartialEq, 16 + Eq, 17 + jacquard_derive::IntoStatic, 18 + bon::Builder 19 + )] 20 + #[serde(rename_all = "camelCase")] 21 + pub struct Vote<'a> { 22 + /// Client-declared timestamp when this vote was originally created. 23 + pub created_at: jacquard_common::types::string::Datetime, 24 + /// The post or comment that this Frontpage vote is for. 25 + #[serde(borrow)] 26 + pub subject: crate::com_atproto::repo::strong_ref::StrongRef<'a>, 27 + } 28 + 29 + impl<'a> Vote<'a> { 30 + pub fn uri( 31 + uri: impl Into<jacquard_common::CowStr<'a>>, 32 + ) -> Result< 33 + jacquard_common::types::uri::RecordUri<'a, VoteRecord>, 34 + jacquard_common::types::uri::UriError, 35 + > { 36 + jacquard_common::types::uri::RecordUri::try_from_uri( 37 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 38 + ) 39 + } 40 + } 41 + 42 + /// Typed wrapper for GetRecord response with this collection's record type. 43 + #[derive( 44 + serde::Serialize, 45 + serde::Deserialize, 46 + Debug, 47 + Clone, 48 + PartialEq, 49 + Eq, 50 + jacquard_derive::IntoStatic 51 + )] 52 + #[serde(rename_all = "camelCase")] 53 + pub struct VoteGetRecordOutput<'a> { 54 + #[serde(skip_serializing_if = "std::option::Option::is_none")] 55 + #[serde(borrow)] 56 + pub cid: std::option::Option<jacquard_common::types::string::Cid<'a>>, 57 + #[serde(borrow)] 58 + pub uri: jacquard_common::types::string::AtUri<'a>, 59 + #[serde(borrow)] 60 + pub value: Vote<'a>, 61 + } 62 + 63 + impl From<VoteGetRecordOutput<'_>> for Vote<'_> { 64 + fn from(output: VoteGetRecordOutput<'_>) -> Self { 65 + use jacquard_common::IntoStatic; 66 + output.value.into_static() 67 + } 68 + } 69 + 70 + impl jacquard_common::types::collection::Collection for Vote<'_> { 71 + const NSID: &'static str = "fyi.frontpage.feed.vote"; 72 + type Record = VoteRecord; 73 + } 74 + 75 + /// Marker type for deserializing records from this collection. 76 + #[derive(Debug, serde::Serialize, serde::Deserialize)] 77 + pub struct VoteRecord; 78 + impl jacquard_common::xrpc::XrpcResp for VoteRecord { 79 + const NSID: &'static str = "fyi.frontpage.feed.vote"; 80 + const ENCODING: &'static str = "application/json"; 81 + type Output<'de> = VoteGetRecordOutput<'de>; 82 + type Err<'de> = jacquard_common::types::collection::RecordError<'de>; 83 + } 84 + 85 + impl jacquard_common::types::collection::Collection for VoteRecord { 86 + const NSID: &'static str = "fyi.frontpage.feed.vote"; 87 + type Record = VoteRecord; 88 + }
+6
crates/jacquard-api/src/fyi_frontpage/richtext.rs
··· 1 + // @generated by jacquard-lexicon. DO NOT EDIT. 2 + // 3 + // This file was automatically generated from Lexicon schemas. 4 + // Any manual changes will be overwritten on the next regeneration. 5 + 6 + pub mod block;
+41
crates/jacquard-api/src/fyi_frontpage/richtext/block.rs
··· 1 + // @generated by jacquard-lexicon. DO NOT EDIT. 2 + // 3 + // Lexicon: fyi.frontpage.richtext.block 4 + // 5 + // This file was automatically generated from Lexicon schemas. 6 + // Any manual changes will be overwritten on the next regeneration. 7 + 8 + #[jacquard_derive::lexicon] 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + jacquard_derive::IntoStatic, 17 + bon::Builder 18 + )] 19 + #[serde(rename_all = "camelCase")] 20 + pub struct Block<'a> { 21 + #[serde(borrow)] 22 + pub content: crate::fyi_frontpage::richtext::block::PlaintextParagraph<'a>, 23 + } 24 + 25 + #[jacquard_derive::lexicon] 26 + #[derive( 27 + serde::Serialize, 28 + serde::Deserialize, 29 + Debug, 30 + Clone, 31 + PartialEq, 32 + Eq, 33 + jacquard_derive::IntoStatic, 34 + Default 35 + )] 36 + #[serde(rename_all = "camelCase")] 37 + pub struct PlaintextParagraph<'a> { 38 + #[serde(skip_serializing_if = "std::option::Option::is_none")] 39 + #[serde(borrow)] 40 + pub text: std::option::Option<jacquard_common::CowStr<'a>>, 41 + }
+3
crates/jacquard-api/src/lib.rs
··· 75 75 #[cfg(feature = "events_smokesignal")] 76 76 pub mod events_smokesignal; 77 77 78 + #[cfg(feature = "fyi_frontpage")] 79 + pub mod fyi_frontpage; 80 + 78 81 #[cfg(feature = "fyi_unravel")] 79 82 pub mod fyi_unravel; 80 83
+2
crates/jacquard-api/src/place_stream.rs
··· 5 5 // This file was automatically generated from Lexicon schemas. 6 6 // Any manual changes will be overwritten on the next regeneration. 7 7 8 + pub mod broadcast; 8 9 pub mod chat; 9 10 pub mod graph; 10 11 pub mod key; 11 12 pub mod live; 12 13 pub mod livestream; 14 + pub mod metadata; 13 15 pub mod richtext; 14 16 pub mod segment; 15 17 pub mod server;
+32
crates/jacquard-api/src/place_stream/broadcast.rs
··· 1 + // @generated by jacquard-lexicon. DO NOT EDIT. 2 + // 3 + // Lexicon: place.stream.broadcast.defs 4 + // 5 + // This file was automatically generated from Lexicon schemas. 6 + // Any manual changes will be overwritten on the next regeneration. 7 + 8 + pub mod origin; 9 + pub mod syndication; 10 + 11 + #[jacquard_derive::lexicon] 12 + #[derive( 13 + serde::Serialize, 14 + serde::Deserialize, 15 + Debug, 16 + Clone, 17 + PartialEq, 18 + Eq, 19 + jacquard_derive::IntoStatic, 20 + bon::Builder 21 + )] 22 + #[serde(rename_all = "camelCase")] 23 + pub struct BroadcastOriginView<'a> { 24 + #[serde(borrow)] 25 + pub author: crate::app_bsky::actor::ProfileViewBasic<'a>, 26 + #[serde(borrow)] 27 + pub cid: jacquard_common::types::string::Cid<'a>, 28 + #[serde(borrow)] 29 + pub record: jacquard_common::types::value::Data<'a>, 30 + #[serde(borrow)] 31 + pub uri: jacquard_common::types::string::AtUri<'a>, 32 + }
+96
crates/jacquard-api/src/place_stream/broadcast/origin.rs
··· 1 + // @generated by jacquard-lexicon. DO NOT EDIT. 2 + // 3 + // Lexicon: place.stream.broadcast.origin 4 + // 5 + // This file was automatically generated from Lexicon schemas. 6 + // Any manual changes will be overwritten on the next regeneration. 7 + 8 + /// Record indicating a livestream is published and available for replication at a given address. By convention, the record key is streamer::server 9 + #[jacquard_derive::lexicon] 10 + #[derive( 11 + serde::Serialize, 12 + serde::Deserialize, 13 + Debug, 14 + Clone, 15 + PartialEq, 16 + Eq, 17 + jacquard_derive::IntoStatic, 18 + bon::Builder 19 + )] 20 + #[serde(rename_all = "camelCase")] 21 + pub struct Origin<'a> { 22 + /// Iroh ticket that can be used to access the livestream from the server 23 + #[serde(skip_serializing_if = "std::option::Option::is_none")] 24 + #[builder(into)] 25 + #[serde(borrow)] 26 + pub iroh_ticket: Option<jacquard_common::CowStr<'a>>, 27 + /// did:web of the server that's currently rebroadcasting the livestream 28 + #[serde(borrow)] 29 + pub server: jacquard_common::types::string::Did<'a>, 30 + /// DID of the streamer whose livestream is being published 31 + #[serde(borrow)] 32 + pub streamer: jacquard_common::types::string::Did<'a>, 33 + /// Periodically updated timestamp when this origin last saw a livestream 34 + pub updated_at: jacquard_common::types::string::Datetime, 35 + } 36 + 37 + impl<'a> Origin<'a> { 38 + pub fn uri( 39 + uri: impl Into<jacquard_common::CowStr<'a>>, 40 + ) -> Result< 41 + jacquard_common::types::uri::RecordUri<'a, OriginRecord>, 42 + jacquard_common::types::uri::UriError, 43 + > { 44 + jacquard_common::types::uri::RecordUri::try_from_uri( 45 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 46 + ) 47 + } 48 + } 49 + 50 + /// Typed wrapper for GetRecord response with this collection's record type. 51 + #[derive( 52 + serde::Serialize, 53 + serde::Deserialize, 54 + Debug, 55 + Clone, 56 + PartialEq, 57 + Eq, 58 + jacquard_derive::IntoStatic 59 + )] 60 + #[serde(rename_all = "camelCase")] 61 + pub struct OriginGetRecordOutput<'a> { 62 + #[serde(skip_serializing_if = "std::option::Option::is_none")] 63 + #[serde(borrow)] 64 + pub cid: std::option::Option<jacquard_common::types::string::Cid<'a>>, 65 + #[serde(borrow)] 66 + pub uri: jacquard_common::types::string::AtUri<'a>, 67 + #[serde(borrow)] 68 + pub value: Origin<'a>, 69 + } 70 + 71 + impl From<OriginGetRecordOutput<'_>> for Origin<'_> { 72 + fn from(output: OriginGetRecordOutput<'_>) -> Self { 73 + use jacquard_common::IntoStatic; 74 + output.value.into_static() 75 + } 76 + } 77 + 78 + impl jacquard_common::types::collection::Collection for Origin<'_> { 79 + const NSID: &'static str = "place.stream.broadcast.origin"; 80 + type Record = OriginRecord; 81 + } 82 + 83 + /// Marker type for deserializing records from this collection. 84 + #[derive(Debug, serde::Serialize, serde::Deserialize)] 85 + pub struct OriginRecord; 86 + impl jacquard_common::xrpc::XrpcResp for OriginRecord { 87 + const NSID: &'static str = "place.stream.broadcast.origin"; 88 + const ENCODING: &'static str = "application/json"; 89 + type Output<'de> = OriginGetRecordOutput<'de>; 90 + type Err<'de> = jacquard_common::types::collection::RecordError<'de>; 91 + } 92 + 93 + impl jacquard_common::types::collection::Collection for OriginRecord { 94 + const NSID: &'static str = "place.stream.broadcast.origin"; 95 + type Record = OriginRecord; 96 + }
+91
crates/jacquard-api/src/place_stream/broadcast/syndication.rs
··· 1 + // @generated by jacquard-lexicon. DO NOT EDIT. 2 + // 3 + // Lexicon: place.stream.broadcast.syndication 4 + // 5 + // This file was automatically generated from Lexicon schemas. 6 + // Any manual changes will be overwritten on the next regeneration. 7 + 8 + /// Record created by a Streamplace broadcaster to indicate that they will be replicating a livestream 9 + #[jacquard_derive::lexicon] 10 + #[derive( 11 + serde::Serialize, 12 + serde::Deserialize, 13 + Debug, 14 + Clone, 15 + PartialEq, 16 + Eq, 17 + jacquard_derive::IntoStatic, 18 + bon::Builder 19 + )] 20 + #[serde(rename_all = "camelCase")] 21 + pub struct Syndication<'a> { 22 + /// DID of the Streamplace broadcaster that will be replicating the livestream 23 + #[serde(borrow)] 24 + pub broadcaster: jacquard_common::types::string::Did<'a>, 25 + /// Client-declared timestamp when this syndication was created. 26 + pub created_at: jacquard_common::types::string::Datetime, 27 + /// DID of the streamer whose livestream is being replicated 28 + #[serde(borrow)] 29 + pub streamer: jacquard_common::types::string::Did<'a>, 30 + } 31 + 32 + impl<'a> Syndication<'a> { 33 + pub fn uri( 34 + uri: impl Into<jacquard_common::CowStr<'a>>, 35 + ) -> Result< 36 + jacquard_common::types::uri::RecordUri<'a, SyndicationRecord>, 37 + jacquard_common::types::uri::UriError, 38 + > { 39 + jacquard_common::types::uri::RecordUri::try_from_uri( 40 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 41 + ) 42 + } 43 + } 44 + 45 + /// Typed wrapper for GetRecord response with this collection's record type. 46 + #[derive( 47 + serde::Serialize, 48 + serde::Deserialize, 49 + Debug, 50 + Clone, 51 + PartialEq, 52 + Eq, 53 + jacquard_derive::IntoStatic 54 + )] 55 + #[serde(rename_all = "camelCase")] 56 + pub struct SyndicationGetRecordOutput<'a> { 57 + #[serde(skip_serializing_if = "std::option::Option::is_none")] 58 + #[serde(borrow)] 59 + pub cid: std::option::Option<jacquard_common::types::string::Cid<'a>>, 60 + #[serde(borrow)] 61 + pub uri: jacquard_common::types::string::AtUri<'a>, 62 + #[serde(borrow)] 63 + pub value: Syndication<'a>, 64 + } 65 + 66 + impl From<SyndicationGetRecordOutput<'_>> for Syndication<'_> { 67 + fn from(output: SyndicationGetRecordOutput<'_>) -> Self { 68 + use jacquard_common::IntoStatic; 69 + output.value.into_static() 70 + } 71 + } 72 + 73 + impl jacquard_common::types::collection::Collection for Syndication<'_> { 74 + const NSID: &'static str = "place.stream.broadcast.syndication"; 75 + type Record = SyndicationRecord; 76 + } 77 + 78 + /// Marker type for deserializing records from this collection. 79 + #[derive(Debug, serde::Serialize, serde::Deserialize)] 80 + pub struct SyndicationRecord; 81 + impl jacquard_common::xrpc::XrpcResp for SyndicationRecord { 82 + const NSID: &'static str = "place.stream.broadcast.syndication"; 83 + const ENCODING: &'static str = "application/json"; 84 + type Output<'de> = SyndicationGetRecordOutput<'de>; 85 + type Err<'de> = jacquard_common::types::collection::RecordError<'de>; 86 + } 87 + 88 + impl jacquard_common::types::collection::Collection for SyndicationRecord { 89 + const NSID: &'static str = "place.stream.broadcast.syndication"; 90 + type Record = SyndicationRecord; 91 + }
+9
crates/jacquard-api/src/place_stream/metadata.rs
··· 1 + // @generated by jacquard-lexicon. DO NOT EDIT. 2 + // 3 + // This file was automatically generated from Lexicon schemas. 4 + // Any manual changes will be overwritten on the next regeneration. 5 + 6 + pub mod configuration; 7 + pub mod content_rights; 8 + pub mod content_warnings; 9 + pub mod distribution_policy;
+101
crates/jacquard-api/src/place_stream/metadata/configuration.rs
··· 1 + // @generated by jacquard-lexicon. DO NOT EDIT. 2 + // 3 + // Lexicon: place.stream.metadata.configuration 4 + // 5 + // This file was automatically generated from Lexicon schemas. 6 + // Any manual changes will be overwritten on the next regeneration. 7 + 8 + /// Default metadata record for livestream including content warnings, rights, and distribution policy 9 + #[jacquard_derive::lexicon] 10 + #[derive( 11 + serde::Serialize, 12 + serde::Deserialize, 13 + Debug, 14 + Clone, 15 + PartialEq, 16 + Eq, 17 + jacquard_derive::IntoStatic, 18 + bon::Builder 19 + )] 20 + #[serde(rename_all = "camelCase")] 21 + pub struct Configuration<'a> { 22 + #[serde(skip_serializing_if = "std::option::Option::is_none")] 23 + #[builder(into)] 24 + #[serde(borrow)] 25 + pub content_rights: Option< 26 + crate::place_stream::metadata::content_rights::ContentRights<'a>, 27 + >, 28 + #[serde(skip_serializing_if = "std::option::Option::is_none")] 29 + #[builder(into)] 30 + #[serde(borrow)] 31 + pub content_warnings: Option< 32 + crate::place_stream::metadata::content_warnings::ContentWarnings<'a>, 33 + >, 34 + #[serde(skip_serializing_if = "std::option::Option::is_none")] 35 + #[builder(into)] 36 + #[serde(borrow)] 37 + pub distribution_policy: Option< 38 + crate::place_stream::metadata::distribution_policy::DistributionPolicy<'a>, 39 + >, 40 + } 41 + 42 + impl<'a> Configuration<'a> { 43 + pub fn uri( 44 + uri: impl Into<jacquard_common::CowStr<'a>>, 45 + ) -> Result< 46 + jacquard_common::types::uri::RecordUri<'a, ConfigurationRecord>, 47 + jacquard_common::types::uri::UriError, 48 + > { 49 + jacquard_common::types::uri::RecordUri::try_from_uri( 50 + jacquard_common::types::string::AtUri::new_cow(uri.into())?, 51 + ) 52 + } 53 + } 54 + 55 + /// Typed wrapper for GetRecord response with this collection's record type. 56 + #[derive( 57 + serde::Serialize, 58 + serde::Deserialize, 59 + Debug, 60 + Clone, 61 + PartialEq, 62 + Eq, 63 + jacquard_derive::IntoStatic 64 + )] 65 + #[serde(rename_all = "camelCase")] 66 + pub struct ConfigurationGetRecordOutput<'a> { 67 + #[serde(skip_serializing_if = "std::option::Option::is_none")] 68 + #[serde(borrow)] 69 + pub cid: std::option::Option<jacquard_common::types::string::Cid<'a>>, 70 + #[serde(borrow)] 71 + pub uri: jacquard_common::types::string::AtUri<'a>, 72 + #[serde(borrow)] 73 + pub value: Configuration<'a>, 74 + } 75 + 76 + impl From<ConfigurationGetRecordOutput<'_>> for Configuration<'_> { 77 + fn from(output: ConfigurationGetRecordOutput<'_>) -> Self { 78 + use jacquard_common::IntoStatic; 79 + output.value.into_static() 80 + } 81 + } 82 + 83 + impl jacquard_common::types::collection::Collection for Configuration<'_> { 84 + const NSID: &'static str = "place.stream.metadata.configuration"; 85 + type Record = ConfigurationRecord; 86 + } 87 + 88 + /// Marker type for deserializing records from this collection. 89 + #[derive(Debug, serde::Serialize, serde::Deserialize)] 90 + pub struct ConfigurationRecord; 91 + impl jacquard_common::xrpc::XrpcResp for ConfigurationRecord { 92 + const NSID: &'static str = "place.stream.metadata.configuration"; 93 + const ENCODING: &'static str = "application/json"; 94 + type Output<'de> = ConfigurationGetRecordOutput<'de>; 95 + type Err<'de> = jacquard_common::types::collection::RecordError<'de>; 96 + } 97 + 98 + impl jacquard_common::types::collection::Collection for ConfigurationRecord { 99 + const NSID: &'static str = "place.stream.metadata.configuration"; 100 + type Record = ConfigurationRecord; 101 + }
+185
crates/jacquard-api/src/place_stream/metadata/content_rights.rs
··· 1 + // @generated by jacquard-lexicon. DO NOT EDIT. 2 + // 3 + // Lexicon: place.stream.metadata.contentRights 4 + // 5 + // This file was automatically generated from Lexicon schemas. 6 + // Any manual changes will be overwritten on the next regeneration. 7 + 8 + /// All rights reserved to the creator — others cannot use, modify, or share without explicit authorization. 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + Hash, 17 + jacquard_derive::IntoStatic 18 + )] 19 + pub struct AllRightsReserved; 20 + impl std::fmt::Display for AllRightsReserved { 21 + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { 22 + write!(f, "all-rights-reserved") 23 + } 24 + } 25 + 26 + /// Attribution + non-commercial + no derivatives. Others may download and share your work with credit, but cannot change it or use it commercially. 27 + #[derive( 28 + serde::Serialize, 29 + serde::Deserialize, 30 + Debug, 31 + Clone, 32 + PartialEq, 33 + Eq, 34 + Hash, 35 + jacquard_derive::IntoStatic 36 + )] 37 + pub struct CcByNcNd40; 38 + impl std::fmt::Display for CcByNcNd40 { 39 + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { 40 + write!(f, "cc-by-nc-nd_4__0") 41 + } 42 + } 43 + 44 + /// Attribution + non-commercial + share-alike. Others may adapt and build upon your work for non-commercial purposes only, must credit you, and must license their new creations under identical terms. 45 + #[derive( 46 + serde::Serialize, 47 + serde::Deserialize, 48 + Debug, 49 + Clone, 50 + PartialEq, 51 + Eq, 52 + Hash, 53 + jacquard_derive::IntoStatic 54 + )] 55 + pub struct CcByNcSa40; 56 + impl std::fmt::Display for CcByNcSa40 { 57 + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { 58 + write!(f, "cc-by-nc-sa_4__0") 59 + } 60 + } 61 + 62 + /// Attribution + non-commercial. Others may adapt and build upon your work for non-commercial purposes only, and must credit you. 63 + #[derive( 64 + serde::Serialize, 65 + serde::Deserialize, 66 + Debug, 67 + Clone, 68 + PartialEq, 69 + Eq, 70 + Hash, 71 + jacquard_derive::IntoStatic 72 + )] 73 + pub struct CcByNc40; 74 + impl std::fmt::Display for CcByNc40 { 75 + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { 76 + write!(f, "cc-by-nc_4__0") 77 + } 78 + } 79 + 80 + /// Attribution + no derivatives. Others may reuse your work, even commercially, but it must remain unchanged and you must be credited. 81 + #[derive( 82 + serde::Serialize, 83 + serde::Deserialize, 84 + Debug, 85 + Clone, 86 + PartialEq, 87 + Eq, 88 + Hash, 89 + jacquard_derive::IntoStatic 90 + )] 91 + pub struct CcByNd40; 92 + impl std::fmt::Display for CcByNd40 { 93 + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { 94 + write!(f, "cc-by-nd_4__0") 95 + } 96 + } 97 + 98 + /// Attribution + share-alike. Others may adapt and build upon your work, even commercially, if they credit you and license their new creations under identical terms. 99 + #[derive( 100 + serde::Serialize, 101 + serde::Deserialize, 102 + Debug, 103 + Clone, 104 + PartialEq, 105 + Eq, 106 + Hash, 107 + jacquard_derive::IntoStatic 108 + )] 109 + pub struct CcBySa40; 110 + impl std::fmt::Display for CcBySa40 { 111 + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { 112 + write!(f, "cc-by-sa_4__0") 113 + } 114 + } 115 + 116 + /// Attribution required. Others may copy, distribute, remix, and build upon your work, even commercially, if they credit you. 117 + #[derive( 118 + serde::Serialize, 119 + serde::Deserialize, 120 + Debug, 121 + Clone, 122 + PartialEq, 123 + Eq, 124 + Hash, 125 + jacquard_derive::IntoStatic 126 + )] 127 + pub struct CcBy40; 128 + impl std::fmt::Display for CcBy40 { 129 + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { 130 + write!(f, "cc-by_4__0") 131 + } 132 + } 133 + 134 + /// Public domain dedication. You waive all copyright and related rights where possible. Others may copy, modify, distribute, or perform your work for any purpose without attribution. 135 + #[derive( 136 + serde::Serialize, 137 + serde::Deserialize, 138 + Debug, 139 + Clone, 140 + PartialEq, 141 + Eq, 142 + Hash, 143 + jacquard_derive::IntoStatic 144 + )] 145 + pub struct Cc010; 146 + impl std::fmt::Display for Cc010 { 147 + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { 148 + write!(f, "cc0_1__0") 149 + } 150 + } 151 + 152 + /// Content rights and attribution information. 153 + #[jacquard_derive::lexicon] 154 + #[derive( 155 + serde::Serialize, 156 + serde::Deserialize, 157 + Debug, 158 + Clone, 159 + PartialEq, 160 + Eq, 161 + jacquard_derive::IntoStatic, 162 + Default 163 + )] 164 + #[serde(rename_all = "camelCase")] 165 + pub struct ContentRights<'a> { 166 + /// Copyright notice for the work. 167 + #[serde(skip_serializing_if = "std::option::Option::is_none")] 168 + #[serde(borrow)] 169 + pub copyright_notice: std::option::Option<jacquard_common::CowStr<'a>>, 170 + /// Year of creation or publication. 171 + #[serde(skip_serializing_if = "std::option::Option::is_none")] 172 + pub copyright_year: std::option::Option<i64>, 173 + /// Name of the creator of the work. 174 + #[serde(skip_serializing_if = "std::option::Option::is_none")] 175 + #[serde(borrow)] 176 + pub creator: std::option::Option<jacquard_common::CowStr<'a>>, 177 + /// Credit line for the work. 178 + #[serde(skip_serializing_if = "std::option::Option::is_none")] 179 + #[serde(borrow)] 180 + pub credit_line: std::option::Option<jacquard_common::CowStr<'a>>, 181 + /// License URL or identifier. 182 + #[serde(skip_serializing_if = "std::option::Option::is_none")] 183 + #[serde(borrow)] 184 + pub license: std::option::Option<jacquard_common::CowStr<'a>>, 185 + }
+205
crates/jacquard-api/src/place_stream/metadata/content_warnings.rs
··· 1 + // @generated by jacquard-lexicon. DO NOT EDIT. 2 + // 3 + // Lexicon: place.stream.metadata.contentWarnings 4 + // 5 + // This file was automatically generated from Lexicon schemas. 6 + // Any manual changes will be overwritten on the next regeneration. 7 + 8 + /// The content contains information that can be used to identify a particular individual, such as a name, phone number, email address, physical address, or IP address. 9 + #[derive( 10 + serde::Serialize, 11 + serde::Deserialize, 12 + Debug, 13 + Clone, 14 + PartialEq, 15 + Eq, 16 + Hash, 17 + jacquard_derive::IntoStatic 18 + )] 19 + pub struct Pii; 20 + impl std::fmt::Display for Pii { 21 + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { 22 + write!(f, "PII") 23 + } 24 + } 25 + 26 + /// The content could be perceived as offensive due to the discussion or display of death. 27 + #[derive( 28 + serde::Serialize, 29 + serde::Deserialize, 30 + Debug, 31 + Clone, 32 + PartialEq, 33 + Eq, 34 + Hash, 35 + jacquard_derive::IntoStatic 36 + )] 37 + pub struct Death; 38 + impl std::fmt::Display for Death { 39 + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { 40 + write!(f, "death") 41 + } 42 + } 43 + 44 + /// The content contains a portrayal of the use or abuse of mind altering substances. 45 + #[derive( 46 + serde::Serialize, 47 + serde::Deserialize, 48 + Debug, 49 + Clone, 50 + PartialEq, 51 + Eq, 52 + Hash, 53 + jacquard_derive::IntoStatic 54 + )] 55 + pub struct DrugUse; 56 + impl std::fmt::Display for DrugUse { 57 + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { 58 + write!(f, "drugUse") 59 + } 60 + } 61 + 62 + /// The content contains violent actions of a fantasy nature, involving human or non-human characters in situations easily distinguishable from real life. 63 + #[derive( 64 + serde::Serialize, 65 + serde::Deserialize, 66 + Debug, 67 + Clone, 68 + PartialEq, 69 + Eq, 70 + Hash, 71 + jacquard_derive::IntoStatic 72 + )] 73 + pub struct FantasyViolence; 74 + impl std::fmt::Display for FantasyViolence { 75 + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { 76 + write!(f, "fantasyViolence") 77 + } 78 + } 79 + 80 + /// The content contains flashing lights that could be harmful to viewers with seizure disorders such as photosensitive epilepsy. 81 + #[derive( 82 + serde::Serialize, 83 + serde::Deserialize, 84 + Debug, 85 + Clone, 86 + PartialEq, 87 + Eq, 88 + Hash, 89 + jacquard_derive::IntoStatic 90 + )] 91 + pub struct FlashingLights; 92 + impl std::fmt::Display for FlashingLights { 93 + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { 94 + write!(f, "flashingLights") 95 + } 96 + } 97 + 98 + /// The content could be perceived as offensive due to the language used. 99 + #[derive( 100 + serde::Serialize, 101 + serde::Deserialize, 102 + Debug, 103 + Clone, 104 + PartialEq, 105 + Eq, 106 + Hash, 107 + jacquard_derive::IntoStatic 108 + )] 109 + pub struct Language; 110 + impl std::fmt::Display for Language { 111 + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { 112 + write!(f, "language") 113 + } 114 + } 115 + 116 + /// Content warnings for a stream. 117 + #[jacquard_derive::lexicon] 118 + #[derive( 119 + serde::Serialize, 120 + serde::Deserialize, 121 + Debug, 122 + Clone, 123 + PartialEq, 124 + Eq, 125 + jacquard_derive::IntoStatic, 126 + Default 127 + )] 128 + #[serde(rename_all = "camelCase")] 129 + pub struct ContentWarnings<'a> { 130 + #[serde(skip_serializing_if = "std::option::Option::is_none")] 131 + #[serde(borrow)] 132 + pub warnings: std::option::Option<Vec<jacquard_common::CowStr<'a>>>, 133 + } 134 + 135 + /// The content could be perceived as offensive due to nudity. 136 + #[derive( 137 + serde::Serialize, 138 + serde::Deserialize, 139 + Debug, 140 + Clone, 141 + PartialEq, 142 + Eq, 143 + Hash, 144 + jacquard_derive::IntoStatic 145 + )] 146 + pub struct Nudity; 147 + impl std::fmt::Display for Nudity { 148 + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { 149 + write!(f, "nudity") 150 + } 151 + } 152 + 153 + /// The content could be perceived as offensive due to the discussion or display of sexuality. 154 + #[derive( 155 + serde::Serialize, 156 + serde::Deserialize, 157 + Debug, 158 + Clone, 159 + PartialEq, 160 + Eq, 161 + Hash, 162 + jacquard_derive::IntoStatic 163 + )] 164 + pub struct Sexuality; 165 + impl std::fmt::Display for Sexuality { 166 + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { 167 + write!(f, "sexuality") 168 + } 169 + } 170 + 171 + /// The content could be perceived as distressing due to the discussion or display of suffering or triggering topics, including suicide, eating disorders or self harm. 172 + #[derive( 173 + serde::Serialize, 174 + serde::Deserialize, 175 + Debug, 176 + Clone, 177 + PartialEq, 178 + Eq, 179 + Hash, 180 + jacquard_derive::IntoStatic 181 + )] 182 + pub struct Suffering; 183 + impl std::fmt::Display for Suffering { 184 + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { 185 + write!(f, "suffering") 186 + } 187 + } 188 + 189 + /// The content could be perceived as offensive due to the discussion or display of violence. 190 + #[derive( 191 + serde::Serialize, 192 + serde::Deserialize, 193 + Debug, 194 + Clone, 195 + PartialEq, 196 + Eq, 197 + Hash, 198 + jacquard_derive::IntoStatic 199 + )] 200 + pub struct Violence; 201 + impl std::fmt::Display for Violence { 202 + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { 203 + write!(f, "violence") 204 + } 205 + }
+25
crates/jacquard-api/src/place_stream/metadata/distribution_policy.rs
··· 1 + // @generated by jacquard-lexicon. DO NOT EDIT. 2 + // 3 + // Lexicon: place.stream.metadata.distributionPolicy 4 + // 5 + // This file was automatically generated from Lexicon schemas. 6 + // Any manual changes will be overwritten on the next regeneration. 7 + 8 + /// Distribution and rebroadcast policy. 9 + #[jacquard_derive::lexicon] 10 + #[derive( 11 + serde::Serialize, 12 + serde::Deserialize, 13 + Debug, 14 + Clone, 15 + PartialEq, 16 + Eq, 17 + jacquard_derive::IntoStatic, 18 + Default 19 + )] 20 + #[serde(rename_all = "camelCase")] 21 + pub struct DistributionPolicy<'a> { 22 + /// Duration in seconds after which segments should be deleted. Each segment will expire N seconds after its creation time. 23 + #[serde(skip_serializing_if = "std::option::Option::is_none")] 24 + pub delete_after: std::option::Option<i64>, 25 + }