+4
README.md
+4
README.md
+486
-807
crates/ott-ingest/Cargo.lock
+486
-807
crates/ott-ingest/Cargo.lock
···
9
9
checksum = "ffd5e23cd33dd73c030d1c424967eb2fbdc917d89e0bdcf1162edc4cf504f756"
10
10
dependencies = [
11
11
"anyhow",
12
-
"thiserror 2.0.17",
12
+
"thiserror",
13
13
]
14
14
15
15
[[package]]
···
167
167
]
168
168
169
169
[[package]]
170
-
name = "atomic-waker"
171
-
version = "1.1.2"
172
-
source = "registry+https://github.com/rust-lang/crates.io-index"
173
-
checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
174
-
175
-
[[package]]
176
-
name = "atproto-client"
177
-
version = "0.13.0"
178
-
source = "registry+https://github.com/rust-lang/crates.io-index"
179
-
checksum = "c34ed7ebeec01cd7775c1c7841838c142d123d403983ed7179b31850435b5c7c"
180
-
dependencies = [
181
-
"anyhow",
182
-
"atproto-identity",
183
-
"atproto-oauth",
184
-
"atproto-record",
185
-
"bytes",
186
-
"reqwest",
187
-
"reqwest-chain",
188
-
"reqwest-middleware",
189
-
"serde",
190
-
"serde_json",
191
-
"thiserror 2.0.17",
192
-
"tokio",
193
-
"tracing",
194
-
"urlencoding",
195
-
]
196
-
197
-
[[package]]
198
-
name = "atproto-identity"
199
-
version = "0.13.0"
170
+
name = "atoi"
171
+
version = "2.0.0"
200
172
source = "registry+https://github.com/rust-lang/crates.io-index"
201
-
checksum = "b956c07726fce812630be63c5cb31b1961cbb70f0a05614278523102d78c3a48"
202
-
dependencies = [
203
-
"anyhow",
204
-
"async-trait",
205
-
"ecdsa",
206
-
"elliptic-curve",
207
-
"hickory-resolver",
208
-
"k256",
209
-
"lru",
210
-
"multibase",
211
-
"p256",
212
-
"p384",
213
-
"rand 0.8.5",
214
-
"reqwest",
215
-
"serde",
216
-
"serde_ipld_dagcbor",
217
-
"serde_json",
218
-
"thiserror 2.0.17",
219
-
"tokio",
220
-
"tracing",
221
-
"urlencoding",
222
-
]
223
-
224
-
[[package]]
225
-
name = "atproto-lexicon"
226
-
version = "0.13.0"
227
-
source = "registry+https://github.com/rust-lang/crates.io-index"
228
-
checksum = "602d31385e34d3098f530ebbaa592861e920a36d117ade3c4ce6378b4cd4c709"
229
-
dependencies = [
230
-
"anyhow",
231
-
"async-trait",
232
-
"atproto-client",
233
-
"atproto-identity",
234
-
"hickory-resolver",
235
-
"reqwest",
236
-
"serde",
237
-
"serde_json",
238
-
"thiserror 2.0.17",
239
-
"tokio",
240
-
"tracing",
241
-
]
242
-
243
-
[[package]]
244
-
name = "atproto-oauth"
245
-
version = "0.13.0"
246
-
source = "registry+https://github.com/rust-lang/crates.io-index"
247
-
checksum = "3ea205901c33d074a1b498591d0511bcd788b6772ec0ca6e09a92c4327ddbdff"
173
+
checksum = "f28d99ec8bfea296261ca1af174f24225171fea9664ba9003cbebee704810528"
248
174
dependencies = [
249
-
"anyhow",
250
-
"async-trait",
251
-
"atproto-identity",
252
-
"base64",
253
-
"chrono",
254
-
"ecdsa",
255
-
"elliptic-curve",
256
-
"k256",
257
-
"lru",
258
-
"multibase",
259
-
"p256",
260
-
"p384",
261
-
"rand 0.8.5",
262
-
"reqwest",
263
-
"reqwest-chain",
264
-
"reqwest-middleware",
265
-
"serde",
266
-
"serde_ipld_dagcbor",
267
-
"serde_json",
268
-
"sha2",
269
-
"thiserror 2.0.17",
270
-
"tokio",
271
-
"tracing",
272
-
"ulid",
175
+
"num-traits",
273
176
]
274
177
275
178
[[package]]
276
-
name = "atproto-record"
277
-
version = "0.13.0"
179
+
name = "atomic-waker"
180
+
version = "1.1.2"
278
181
source = "registry+https://github.com/rust-lang/crates.io-index"
279
-
checksum = "0550f74423ca745132dc07ba1cb01f2f08243a7bf7497f5c3f2185a774c92ca2"
280
-
dependencies = [
281
-
"anyhow",
282
-
"atproto-identity",
283
-
"base64",
284
-
"chrono",
285
-
"serde",
286
-
"serde_ipld_dagcbor",
287
-
"serde_json",
288
-
"thiserror 2.0.17",
289
-
]
182
+
checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
290
183
291
184
[[package]]
292
185
name = "autocfg"
···
334
227
]
335
228
336
229
[[package]]
337
-
name = "base-x"
338
-
version = "0.2.11"
339
-
source = "registry+https://github.com/rust-lang/crates.io-index"
340
-
checksum = "4cbbc9d0964165b47557570cce6c952866c2678457aca742aafc9fb771d30270"
341
-
342
-
[[package]]
343
-
name = "base16ct"
344
-
version = "0.2.0"
345
-
source = "registry+https://github.com/rust-lang/crates.io-index"
346
-
checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf"
347
-
348
-
[[package]]
349
-
name = "base256emoji"
350
-
version = "1.0.2"
351
-
source = "registry+https://github.com/rust-lang/crates.io-index"
352
-
checksum = "b5e9430d9a245a77c92176e649af6e275f20839a48389859d1661e9a128d077c"
353
-
dependencies = [
354
-
"const-str",
355
-
"match-lookup",
356
-
]
357
-
358
-
[[package]]
359
230
name = "base64"
360
231
version = "0.22.1"
361
232
source = "registry+https://github.com/rust-lang/crates.io-index"
···
398
269
version = "2.9.4"
399
270
source = "registry+https://github.com/rust-lang/crates.io-index"
400
271
checksum = "2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394"
272
+
dependencies = [
273
+
"serde",
274
+
]
401
275
402
276
[[package]]
403
277
name = "block-buffer"
···
455
329
]
456
330
457
331
[[package]]
458
-
name = "cbor4ii"
459
-
version = "0.2.14"
460
-
source = "registry+https://github.com/rust-lang/crates.io-index"
461
-
checksum = "b544cf8c89359205f4f990d0e6f3828db42df85b5dac95d09157a250eb0749c4"
462
-
dependencies = [
463
-
"serde",
464
-
]
465
-
466
-
[[package]]
467
332
name = "cc"
468
333
version = "1.2.39"
469
334
source = "registry+https://github.com/rust-lang/crates.io-index"
···
505
370
"iana-time-zone",
506
371
"js-sys",
507
372
"num-traits",
508
-
"serde",
509
373
"wasm-bindgen",
510
374
"windows-link 0.2.0",
511
375
]
512
376
513
377
[[package]]
514
-
name = "cid"
515
-
version = "0.11.1"
516
-
source = "registry+https://github.com/rust-lang/crates.io-index"
517
-
checksum = "3147d8272e8fa0ccd29ce51194dd98f79ddfb8191ba9e3409884e751798acf3a"
518
-
dependencies = [
519
-
"core2",
520
-
"multibase",
521
-
"multihash",
522
-
"serde",
523
-
"serde_bytes",
524
-
"unsigned-varint",
525
-
]
526
-
527
-
[[package]]
528
378
name = "clang-sys"
529
379
version = "1.8.1"
530
380
source = "registry+https://github.com/rust-lang/crates.io-index"
···
560
410
checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8"
561
411
562
412
[[package]]
563
-
name = "const-str"
564
-
version = "0.4.3"
565
-
source = "registry+https://github.com/rust-lang/crates.io-index"
566
-
checksum = "2f421161cb492475f1661ddc9815a745a1c894592070661180fdec3d4872e9c3"
567
-
568
-
[[package]]
569
413
name = "content_inspector"
570
414
version = "0.2.4"
571
415
source = "registry+https://github.com/rust-lang/crates.io-index"
···
591
435
checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
592
436
593
437
[[package]]
594
-
name = "core2"
595
-
version = "0.4.0"
438
+
name = "cpufeatures"
439
+
version = "0.2.17"
596
440
source = "registry+https://github.com/rust-lang/crates.io-index"
597
-
checksum = "b49ba7ef1ad6107f8824dbe97de947cbaac53c44e7f9756a1fba0d37c1eec505"
441
+
checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280"
598
442
dependencies = [
599
-
"memchr",
443
+
"libc",
600
444
]
601
445
602
446
[[package]]
603
-
name = "cpufeatures"
604
-
version = "0.2.17"
447
+
name = "crc"
448
+
version = "3.3.0"
605
449
source = "registry+https://github.com/rust-lang/crates.io-index"
606
-
checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280"
450
+
checksum = "9710d3b3739c2e349eb44fe848ad0b7c8cb1e42bd87ee49371df2f7acaf3e675"
607
451
dependencies = [
608
-
"libc",
452
+
"crc-catalog",
609
453
]
454
+
455
+
[[package]]
456
+
name = "crc-catalog"
457
+
version = "2.4.0"
458
+
source = "registry+https://github.com/rust-lang/crates.io-index"
459
+
checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5"
610
460
611
461
[[package]]
612
462
name = "crc32c"
···
627
477
]
628
478
629
479
[[package]]
630
-
name = "critical-section"
631
-
version = "1.2.0"
632
-
source = "registry+https://github.com/rust-lang/crates.io-index"
633
-
checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b"
634
-
635
-
[[package]]
636
480
name = "crossbeam-channel"
637
481
version = "0.5.15"
638
482
source = "registry+https://github.com/rust-lang/crates.io-index"
···
651
495
]
652
496
653
497
[[package]]
654
-
name = "crossbeam-utils"
655
-
version = "0.8.21"
498
+
name = "crossbeam-queue"
499
+
version = "0.3.12"
656
500
source = "registry+https://github.com/rust-lang/crates.io-index"
657
-
checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28"
501
+
checksum = "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115"
502
+
dependencies = [
503
+
"crossbeam-utils",
504
+
]
658
505
659
506
[[package]]
660
-
name = "crypto-bigint"
661
-
version = "0.5.5"
507
+
name = "crossbeam-utils"
508
+
version = "0.8.21"
662
509
source = "registry+https://github.com/rust-lang/crates.io-index"
663
-
checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76"
664
-
dependencies = [
665
-
"generic-array",
666
-
"rand_core 0.6.4",
667
-
"subtle",
668
-
"zeroize",
669
-
]
510
+
checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28"
670
511
671
512
[[package]]
672
513
name = "crypto-common"
···
714
555
]
715
556
716
557
[[package]]
717
-
name = "data-encoding"
718
-
version = "2.9.0"
719
-
source = "registry+https://github.com/rust-lang/crates.io-index"
720
-
checksum = "2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476"
721
-
722
-
[[package]]
723
-
name = "data-encoding-macro"
724
-
version = "0.1.18"
725
-
source = "registry+https://github.com/rust-lang/crates.io-index"
726
-
checksum = "47ce6c96ea0102f01122a185683611bd5ac8d99e62bc59dd12e6bda344ee673d"
727
-
dependencies = [
728
-
"data-encoding",
729
-
"data-encoding-macro-internal",
730
-
]
731
-
732
-
[[package]]
733
-
name = "data-encoding-macro-internal"
734
-
version = "0.1.16"
735
-
source = "registry+https://github.com/rust-lang/crates.io-index"
736
-
checksum = "8d162beedaa69905488a8da94f5ac3edb4dd4788b732fadb7bd120b2625c1976"
737
-
dependencies = [
738
-
"data-encoding",
739
-
"syn 2.0.106",
740
-
]
741
-
742
-
[[package]]
743
558
name = "der"
744
559
version = "0.7.10"
745
560
source = "registry+https://github.com/rust-lang/crates.io-index"
···
826
641
]
827
642
828
643
[[package]]
644
+
name = "dotenvy"
645
+
version = "0.15.7"
646
+
source = "registry+https://github.com/rust-lang/crates.io-index"
647
+
checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b"
648
+
649
+
[[package]]
829
650
name = "dunce"
830
651
version = "1.0.5"
831
652
source = "registry+https://github.com/rust-lang/crates.io-index"
···
838
659
checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555"
839
660
840
661
[[package]]
841
-
name = "ecdsa"
842
-
version = "0.16.9"
843
-
source = "registry+https://github.com/rust-lang/crates.io-index"
844
-
checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca"
845
-
dependencies = [
846
-
"der",
847
-
"digest",
848
-
"elliptic-curve",
849
-
"rfc6979",
850
-
"serdect",
851
-
"signature",
852
-
"spki",
853
-
]
854
-
855
-
[[package]]
856
662
name = "educe"
857
663
version = "0.6.0"
858
664
source = "registry+https://github.com/rust-lang/crates.io-index"
···
869
675
version = "1.15.0"
870
676
source = "registry+https://github.com/rust-lang/crates.io-index"
871
677
checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719"
872
-
873
-
[[package]]
874
-
name = "elliptic-curve"
875
-
version = "0.13.8"
876
-
source = "registry+https://github.com/rust-lang/crates.io-index"
877
-
checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47"
878
678
dependencies = [
879
-
"base16ct",
880
-
"base64ct",
881
-
"crypto-bigint",
882
-
"digest",
883
-
"ff",
884
-
"generic-array",
885
-
"group",
886
-
"hkdf",
887
-
"pem-rfc7468",
888
-
"pkcs8",
889
-
"rand_core 0.6.4",
890
-
"sec1",
891
-
"serde_json",
892
-
"serdect",
893
-
"subtle",
894
-
"zeroize",
679
+
"serde",
895
680
]
896
681
897
682
[[package]]
···
904
689
]
905
690
906
691
[[package]]
907
-
name = "enum-as-inner"
908
-
version = "0.6.1"
909
-
source = "registry+https://github.com/rust-lang/crates.io-index"
910
-
checksum = "a1e6a265c649f3f5979b601d26f1d05ada116434c87741c9493cb56218f76cbc"
911
-
dependencies = [
912
-
"heck",
913
-
"proc-macro2",
914
-
"quote",
915
-
"syn 2.0.106",
916
-
]
917
-
918
-
[[package]]
919
692
name = "enum-ordinalize"
920
693
version = "4.3.0"
921
694
source = "registry+https://github.com/rust-lang/crates.io-index"
···
949
722
dependencies = [
950
723
"libc",
951
724
"windows-sys 0.61.1",
725
+
]
726
+
727
+
[[package]]
728
+
name = "etcetera"
729
+
version = "0.8.0"
730
+
source = "registry+https://github.com/rust-lang/crates.io-index"
731
+
checksum = "136d1b5283a1ab77bd9257427ffd09d8667ced0570b6f938942bc7568ed5b943"
732
+
dependencies = [
733
+
"cfg-if",
734
+
"home",
735
+
"windows-sys 0.48.0",
952
736
]
953
737
954
738
[[package]]
···
995
779
checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be"
996
780
997
781
[[package]]
998
-
name = "ff"
999
-
version = "0.13.1"
1000
-
source = "registry+https://github.com/rust-lang/crates.io-index"
1001
-
checksum = "c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393"
1002
-
dependencies = [
1003
-
"rand_core 0.6.4",
1004
-
"subtle",
1005
-
]
1006
-
1007
-
[[package]]
1008
782
name = "find-msvc-tools"
1009
783
version = "0.1.2"
1010
784
source = "registry+https://github.com/rust-lang/crates.io-index"
···
1021
795
]
1022
796
1023
797
[[package]]
798
+
name = "flume"
799
+
version = "0.11.1"
800
+
source = "registry+https://github.com/rust-lang/crates.io-index"
801
+
checksum = "da0e4dd2a88388a1f4ccc7c9ce104604dab68d9f408dc34cd45823d5a9069095"
802
+
dependencies = [
803
+
"futures-core",
804
+
"futures-sink",
805
+
"spin",
806
+
]
807
+
808
+
[[package]]
1024
809
name = "fluvio"
1025
810
version = "0.50.1"
1026
811
source = "registry+https://github.com/rust-lang/crates.io-index"
···
1053
838
"semver",
1054
839
"serde",
1055
840
"siphasher",
1056
-
"thiserror 2.0.17",
841
+
"thiserror",
1057
842
"tokio",
1058
843
"toml",
1059
844
"tracing",
···
1072
857
"lz4_flex",
1073
858
"serde",
1074
859
"snap",
1075
-
"thiserror 2.0.17",
860
+
"thiserror",
1076
861
"zstd",
1077
862
]
1078
863
···
1095
880
"flv-util",
1096
881
"humantime-serde",
1097
882
"lenient_semver",
1098
-
"schemars 1.0.4",
883
+
"schemars",
1099
884
"semver",
1100
885
"serde",
1101
886
"serde_yaml",
1102
-
"thiserror 2.0.17",
887
+
"thiserror",
1103
888
"toml",
1104
889
"tracing",
1105
890
]
···
1124
909
"pin-project",
1125
910
"rustls-pemfile",
1126
911
"socket2 0.5.10",
1127
-
"thiserror 2.0.17",
912
+
"thiserror",
1128
913
"tokio",
1129
914
"tracing",
1130
915
"wasm-bindgen-futures",
···
1149
934
"flv-util",
1150
935
"once_cell",
1151
936
"semver",
1152
-
"thiserror 2.0.17",
937
+
"thiserror",
1153
938
"tokio-util",
1154
939
"tracing",
1155
940
]
···
1179
964
"fluvio-stream-model",
1180
965
"paste",
1181
966
"static_assertions",
1182
-
"thiserror 2.0.17",
967
+
"thiserror",
1183
968
"tracing",
1184
969
]
1185
970
···
1192
977
"eyre",
1193
978
"fluvio-protocol",
1194
979
"fluvio-smartmodule-derive",
1195
-
"thiserror 2.0.17",
980
+
"thiserror",
1196
981
"tracing",
1197
982
]
1198
983
···
1227
1012
"once_cell",
1228
1013
"pin-project",
1229
1014
"semver",
1230
-
"thiserror 2.0.17",
1015
+
"thiserror",
1231
1016
"tokio",
1232
1017
"tokio-util",
1233
1018
"tracing",
···
1297
1082
checksum = "abe5675758c2ae542f6c2c64cca1f187b26c22708c2a7358d6454dd9c6d8561d"
1298
1083
dependencies = [
1299
1084
"event-listener",
1300
-
"schemars 1.0.4",
1085
+
"schemars",
1301
1086
"serde",
1302
-
"thiserror 2.0.17",
1087
+
"thiserror",
1303
1088
"toml",
1304
1089
"tracing",
1305
1090
]
···
1414
1199
]
1415
1200
1416
1201
[[package]]
1202
+
name = "futures-intrusive"
1203
+
version = "0.5.0"
1204
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1205
+
checksum = "1d930c203dd0b6ff06e0201a4a2fe9149b43c684fd4420555b26d21b1a02956f"
1206
+
dependencies = [
1207
+
"futures-core",
1208
+
"lock_api",
1209
+
"parking_lot 0.12.4",
1210
+
]
1211
+
1212
+
[[package]]
1417
1213
name = "futures-io"
1418
1214
version = "0.3.31"
1419
1215
source = "registry+https://github.com/rust-lang/crates.io-index"
···
1467
1263
checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988"
1468
1264
1469
1265
[[package]]
1266
+
name = "futures-timer"
1267
+
version = "3.0.3"
1268
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1269
+
checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24"
1270
+
1271
+
[[package]]
1470
1272
name = "futures-util"
1471
1273
version = "0.3.31"
1472
1274
source = "registry+https://github.com/rust-lang/crates.io-index"
···
1492
1294
dependencies = [
1493
1295
"typenum",
1494
1296
"version_check",
1495
-
"zeroize",
1496
1297
]
1497
1298
1498
1299
[[package]]
···
1502
1303
checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592"
1503
1304
dependencies = [
1504
1305
"cfg-if",
1505
-
"js-sys",
1506
1306
"libc",
1507
1307
"wasi 0.11.1+wasi-snapshot-preview1",
1508
-
"wasm-bindgen",
1509
1308
]
1510
1309
1511
1310
[[package]]
···
1515
1314
checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4"
1516
1315
dependencies = [
1517
1316
"cfg-if",
1518
-
"js-sys",
1519
1317
"libc",
1520
1318
"r-efi",
1521
1319
"wasi 0.14.7+wasi-0.2.4",
1522
-
"wasm-bindgen",
1523
1320
]
1524
1321
1525
1322
[[package]]
···
1535
1332
checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280"
1536
1333
1537
1334
[[package]]
1538
-
name = "group"
1539
-
version = "0.13.0"
1540
-
source = "registry+https://github.com/rust-lang/crates.io-index"
1541
-
checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63"
1542
-
dependencies = [
1543
-
"ff",
1544
-
"rand_core 0.6.4",
1545
-
"subtle",
1546
-
]
1547
-
1548
-
[[package]]
1549
1335
name = "h2"
1550
1336
version = "0.4.12"
1551
1337
source = "registry+https://github.com/rust-lang/crates.io-index"
···
1580
1366
version = "0.16.0"
1581
1367
source = "registry+https://github.com/rust-lang/crates.io-index"
1582
1368
checksum = "5419bdc4f6a9207fbeba6d11b604d481addf78ecd10c11ad51e76c2f6482748d"
1369
+
1370
+
[[package]]
1371
+
name = "hashlink"
1372
+
version = "0.10.0"
1373
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1374
+
checksum = "7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1"
1375
+
dependencies = [
1376
+
"hashbrown 0.15.5",
1377
+
]
1583
1378
1584
1379
[[package]]
1585
1380
name = "heck"
···
1594
1389
checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c"
1595
1390
1596
1391
[[package]]
1597
-
name = "hickory-proto"
1598
-
version = "0.25.2"
1392
+
name = "hex"
1393
+
version = "0.4.3"
1599
1394
source = "registry+https://github.com/rust-lang/crates.io-index"
1600
-
checksum = "f8a6fe56c0038198998a6f217ca4e7ef3a5e51f46163bd6dd60b5c71ca6c6502"
1601
-
dependencies = [
1602
-
"async-trait",
1603
-
"cfg-if",
1604
-
"data-encoding",
1605
-
"enum-as-inner",
1606
-
"futures-channel",
1607
-
"futures-io",
1608
-
"futures-util",
1609
-
"idna",
1610
-
"ipnet",
1611
-
"once_cell",
1612
-
"rand 0.9.2",
1613
-
"ring",
1614
-
"thiserror 2.0.17",
1615
-
"tinyvec",
1616
-
"tokio",
1617
-
"tracing",
1618
-
"url",
1619
-
]
1620
-
1621
-
[[package]]
1622
-
name = "hickory-resolver"
1623
-
version = "0.25.2"
1624
-
source = "registry+https://github.com/rust-lang/crates.io-index"
1625
-
checksum = "dc62a9a99b0bfb44d2ab95a7208ac952d31060efc16241c87eaf36406fecf87a"
1626
-
dependencies = [
1627
-
"cfg-if",
1628
-
"futures-util",
1629
-
"hickory-proto",
1630
-
"ipconfig",
1631
-
"moka",
1632
-
"once_cell",
1633
-
"parking_lot 0.12.4",
1634
-
"rand 0.9.2",
1635
-
"resolv-conf",
1636
-
"smallvec",
1637
-
"thiserror 2.0.17",
1638
-
"tokio",
1639
-
"tracing",
1640
-
]
1395
+
checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
1641
1396
1642
1397
[[package]]
1643
1398
name = "hkdf"
···
1655
1410
checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e"
1656
1411
dependencies = [
1657
1412
"digest",
1413
+
]
1414
+
1415
+
[[package]]
1416
+
name = "home"
1417
+
version = "0.5.11"
1418
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1419
+
checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf"
1420
+
dependencies = [
1421
+
"windows-sys 0.59.0",
1658
1422
]
1659
1423
1660
1424
[[package]]
···
1749
1513
"tokio",
1750
1514
"tokio-rustls",
1751
1515
"tower-service",
1752
-
"webpki-roots",
1753
1516
]
1754
1517
1755
1518
[[package]]
···
1971
1734
]
1972
1735
1973
1736
[[package]]
1974
-
name = "ipconfig"
1975
-
version = "0.3.2"
1976
-
source = "registry+https://github.com/rust-lang/crates.io-index"
1977
-
checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f"
1978
-
dependencies = [
1979
-
"socket2 0.5.10",
1980
-
"widestring",
1981
-
"windows-sys 0.48.0",
1982
-
"winreg",
1983
-
]
1984
-
1985
-
[[package]]
1986
-
name = "ipld-core"
1987
-
version = "0.4.2"
1988
-
source = "registry+https://github.com/rust-lang/crates.io-index"
1989
-
checksum = "104718b1cc124d92a6d01ca9c9258a7df311405debb3408c445a36452f9bf8db"
1990
-
dependencies = [
1991
-
"cid",
1992
-
"serde",
1993
-
"serde_bytes",
1994
-
]
1995
-
1996
-
[[package]]
1997
1737
name = "ipnet"
1998
1738
version = "2.11.0"
1999
1739
source = "registry+https://github.com/rust-lang/crates.io-index"
···
2045
1785
]
2046
1786
2047
1787
[[package]]
2048
-
name = "k256"
2049
-
version = "0.13.4"
2050
-
source = "registry+https://github.com/rust-lang/crates.io-index"
2051
-
checksum = "f6e3919bbaa2945715f0bb6d3934a173d1e9a59ac23767fbaaef277265a7411b"
2052
-
dependencies = [
2053
-
"cfg-if",
2054
-
"ecdsa",
2055
-
"elliptic-curve",
2056
-
"once_cell",
2057
-
"sha2",
2058
-
"signature",
2059
-
]
2060
-
2061
-
[[package]]
2062
1788
name = "k8-types"
2063
1789
version = "0.9.0"
2064
1790
source = "registry+https://github.com/rust-lang/crates.io-index"
···
2073
1799
version = "1.5.0"
2074
1800
source = "registry+https://github.com/rust-lang/crates.io-index"
2075
1801
checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
1802
+
dependencies = [
1803
+
"spin",
1804
+
]
2076
1805
2077
1806
[[package]]
2078
1807
name = "lenient_semver"
···
2118
1847
"cfg-if",
2119
1848
"windows-targets 0.53.4",
2120
1849
]
1850
+
1851
+
[[package]]
1852
+
name = "libm"
1853
+
version = "0.2.15"
1854
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1855
+
checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de"
2121
1856
2122
1857
[[package]]
2123
1858
name = "libredox"
···
2131
1866
]
2132
1867
2133
1868
[[package]]
1869
+
name = "libsqlite3-sys"
1870
+
version = "0.30.1"
1871
+
source = "registry+https://github.com/rust-lang/crates.io-index"
1872
+
checksum = "2e99fb7a497b1e3339bc746195567ed8d3e24945ecd636e3619d20b9de9e9149"
1873
+
dependencies = [
1874
+
"pkg-config",
1875
+
"vcpkg",
1876
+
]
1877
+
1878
+
[[package]]
2134
1879
name = "linux-raw-sys"
2135
1880
version = "0.11.0"
2136
1881
source = "registry+https://github.com/rust-lang/crates.io-index"
···
2159
1904
checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432"
2160
1905
2161
1906
[[package]]
2162
-
name = "lru"
2163
-
version = "0.12.5"
2164
-
source = "registry+https://github.com/rust-lang/crates.io-index"
2165
-
checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38"
2166
-
dependencies = [
2167
-
"hashbrown 0.15.5",
2168
-
]
2169
-
2170
-
[[package]]
2171
-
name = "lru-slab"
2172
-
version = "0.1.2"
2173
-
source = "registry+https://github.com/rust-lang/crates.io-index"
2174
-
checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154"
2175
-
2176
-
[[package]]
2177
1907
name = "lz4_flex"
2178
1908
version = "0.11.5"
2179
1909
source = "registry+https://github.com/rust-lang/crates.io-index"
2180
1910
checksum = "08ab2867e3eeeca90e844d1940eab391c9dc5228783db2ed999acbc0a9ed375a"
2181
1911
dependencies = [
2182
1912
"twox-hash",
2183
-
]
2184
-
2185
-
[[package]]
2186
-
name = "match-lookup"
2187
-
version = "0.1.1"
2188
-
source = "registry+https://github.com/rust-lang/crates.io-index"
2189
-
checksum = "1265724d8cb29dbbc2b0f06fffb8bf1a8c0cf73a78eede9ba73a4a66c52a981e"
2190
-
dependencies = [
2191
-
"proc-macro2",
2192
-
"quote",
2193
-
"syn 1.0.109",
2194
1913
]
2195
1914
2196
1915
[[package]]
···
2225
1944
checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
2226
1945
2227
1946
[[package]]
2228
-
name = "mime_guess"
2229
-
version = "2.0.5"
2230
-
source = "registry+https://github.com/rust-lang/crates.io-index"
2231
-
checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e"
2232
-
dependencies = [
2233
-
"mime",
2234
-
"unicase",
2235
-
]
2236
-
2237
-
[[package]]
2238
1947
name = "minimal-lexical"
2239
1948
version = "0.2.1"
2240
1949
source = "registry+https://github.com/rust-lang/crates.io-index"
···
2279
1988
]
2280
1989
2281
1990
[[package]]
2282
-
name = "multibase"
2283
-
version = "0.9.2"
2284
-
source = "registry+https://github.com/rust-lang/crates.io-index"
2285
-
checksum = "8694bb4835f452b0e3bb06dbebb1d6fc5385b6ca1caf2e55fd165c042390ec77"
2286
-
dependencies = [
2287
-
"base-x",
2288
-
"base256emoji",
2289
-
"data-encoding",
2290
-
"data-encoding-macro",
2291
-
]
2292
-
2293
-
[[package]]
2294
-
name = "multihash"
2295
-
version = "0.19.3"
2296
-
source = "registry+https://github.com/rust-lang/crates.io-index"
2297
-
checksum = "6b430e7953c29dd6a09afc29ff0bb69c6e306329ee6794700aee27b76a1aea8d"
2298
-
dependencies = [
2299
-
"core2",
2300
-
"serde",
2301
-
"unsigned-varint",
2302
-
]
2303
-
2304
-
[[package]]
2305
1991
name = "native-tls"
2306
1992
version = "0.2.14"
2307
1993
source = "registry+https://github.com/rust-lang/crates.io-index"
···
2350
2036
]
2351
2037
2352
2038
[[package]]
2039
+
name = "num-bigint-dig"
2040
+
version = "0.8.4"
2041
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2042
+
checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151"
2043
+
dependencies = [
2044
+
"byteorder",
2045
+
"lazy_static",
2046
+
"libm",
2047
+
"num-integer",
2048
+
"num-iter",
2049
+
"num-traits",
2050
+
"rand 0.8.5",
2051
+
"smallvec",
2052
+
"zeroize",
2053
+
]
2054
+
2055
+
[[package]]
2056
+
name = "num-integer"
2057
+
version = "0.1.46"
2058
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2059
+
checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f"
2060
+
dependencies = [
2061
+
"num-traits",
2062
+
]
2063
+
2064
+
[[package]]
2065
+
name = "num-iter"
2066
+
version = "0.1.45"
2067
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2068
+
checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf"
2069
+
dependencies = [
2070
+
"autocfg",
2071
+
"num-integer",
2072
+
"num-traits",
2073
+
]
2074
+
2075
+
[[package]]
2353
2076
name = "num-traits"
2354
2077
version = "0.2.19"
2355
2078
source = "registry+https://github.com/rust-lang/crates.io-index"
2356
2079
checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
2357
2080
dependencies = [
2358
2081
"autocfg",
2082
+
"libm",
2359
2083
]
2360
2084
2361
2085
[[package]]
···
2372
2096
version = "1.21.3"
2373
2097
source = "registry+https://github.com/rust-lang/crates.io-index"
2374
2098
checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
2375
-
dependencies = [
2376
-
"critical-section",
2377
-
"portable-atomic",
2378
-
]
2379
2099
2380
2100
[[package]]
2381
2101
name = "openssl"
···
2431
2151
name = "ott-ingest"
2432
2152
version = "0.1.0"
2433
2153
dependencies = [
2434
-
"anyhow",
2435
-
"atproto-identity",
2436
-
"atproto-lexicon",
2437
2154
"fluvio",
2438
2155
"moka",
2439
-
"prettyplease",
2156
+
"pgvector",
2440
2157
"reqwest",
2441
-
"schemars 1.0.4",
2158
+
"rstest",
2442
2159
"serde",
2443
2160
"serde_json",
2444
-
"syn 2.0.106",
2161
+
"sqlx",
2445
2162
"tokio",
2446
2163
"tokio-postgres",
2447
2164
"tokio-stream",
2448
2165
"tracing",
2449
2166
"tracing-subscriber",
2450
-
"typify",
2451
-
]
2452
-
2453
-
[[package]]
2454
-
name = "p256"
2455
-
version = "0.13.2"
2456
-
source = "registry+https://github.com/rust-lang/crates.io-index"
2457
-
checksum = "c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b"
2458
-
dependencies = [
2459
-
"ecdsa",
2460
-
"elliptic-curve",
2461
-
"primeorder",
2462
-
"serdect",
2463
-
"sha2",
2464
-
]
2465
-
2466
-
[[package]]
2467
-
name = "p384"
2468
-
version = "0.13.1"
2469
-
source = "registry+https://github.com/rust-lang/crates.io-index"
2470
-
checksum = "fe42f1670a52a47d448f14b6a5c61dd78fce51856e68edaa38f7ae3a46b8d6b6"
2471
-
dependencies = [
2472
-
"ecdsa",
2473
-
"elliptic-curve",
2474
-
"primeorder",
2475
-
"serdect",
2476
-
"sha2",
2477
2167
]
2478
2168
2479
2169
[[package]]
···
2552
2242
checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220"
2553
2243
2554
2244
[[package]]
2245
+
name = "pgvector"
2246
+
version = "0.4.1"
2247
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2248
+
checksum = "fc58e2d255979a31caa7cabfa7aac654af0354220719ab7a68520ae7a91e8c0b"
2249
+
dependencies = [
2250
+
"sqlx",
2251
+
]
2252
+
2253
+
[[package]]
2555
2254
name = "pharos"
2556
2255
version = "0.5.3"
2557
2256
source = "registry+https://github.com/rust-lang/crates.io-index"
···
2624
2323
]
2625
2324
2626
2325
[[package]]
2326
+
name = "pkcs1"
2327
+
version = "0.7.5"
2328
+
source = "registry+https://github.com/rust-lang/crates.io-index"
2329
+
checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f"
2330
+
dependencies = [
2331
+
"der",
2332
+
"pkcs8",
2333
+
"spki",
2334
+
]
2335
+
2336
+
[[package]]
2627
2337
name = "pkcs8"
2628
2338
version = "0.10.2"
2629
2339
source = "registry+https://github.com/rust-lang/crates.io-index"
···
2717
2427
]
2718
2428
2719
2429
[[package]]
2720
-
name = "primeorder"
2721
-
version = "0.13.6"
2430
+
name = "proc-macro-crate"
2431
+
version = "3.4.0"
2722
2432
source = "registry+https://github.com/rust-lang/crates.io-index"
2723
-
checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6"
2433
+
checksum = "219cb19e96be00ab2e37d6e299658a0cfa83e52429179969b0f0121b4ac46983"
2724
2434
dependencies = [
2725
-
"elliptic-curve",
2726
-
"serdect",
2435
+
"toml_edit 0.23.6",
2727
2436
]
2728
2437
2729
2438
[[package]]
···
2736
2445
]
2737
2446
2738
2447
[[package]]
2739
-
name = "quinn"
2740
-
version = "0.11.9"
2741
-
source = "registry+https://github.com/rust-lang/crates.io-index"
2742
-
checksum = "b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20"
2743
-
dependencies = [
2744
-
"bytes",
2745
-
"cfg_aliases",
2746
-
"pin-project-lite",
2747
-
"quinn-proto",
2748
-
"quinn-udp",
2749
-
"rustc-hash",
2750
-
"rustls",
2751
-
"socket2 0.6.0",
2752
-
"thiserror 2.0.17",
2753
-
"tokio",
2754
-
"tracing",
2755
-
"web-time",
2756
-
]
2757
-
2758
-
[[package]]
2759
-
name = "quinn-proto"
2760
-
version = "0.11.13"
2761
-
source = "registry+https://github.com/rust-lang/crates.io-index"
2762
-
checksum = "f1906b49b0c3bc04b5fe5d86a77925ae6524a19b816ae38ce1e426255f1d8a31"
2763
-
dependencies = [
2764
-
"bytes",
2765
-
"getrandom 0.3.3",
2766
-
"lru-slab",
2767
-
"rand 0.9.2",
2768
-
"ring",
2769
-
"rustc-hash",
2770
-
"rustls",
2771
-
"rustls-pki-types",
2772
-
"slab",
2773
-
"thiserror 2.0.17",
2774
-
"tinyvec",
2775
-
"tracing",
2776
-
"web-time",
2777
-
]
2778
-
2779
-
[[package]]
2780
-
name = "quinn-udp"
2781
-
version = "0.5.14"
2782
-
source = "registry+https://github.com/rust-lang/crates.io-index"
2783
-
checksum = "addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd"
2784
-
dependencies = [
2785
-
"cfg_aliases",
2786
-
"libc",
2787
-
"once_cell",
2788
-
"socket2 0.6.0",
2789
-
"tracing",
2790
-
"windows-sys 0.60.2",
2791
-
]
2792
-
2793
-
[[package]]
2794
2448
name = "quote"
2795
2449
version = "1.0.41"
2796
2450
source = "registry+https://github.com/rust-lang/crates.io-index"
···
2890
2544
dependencies = [
2891
2545
"getrandom 0.2.16",
2892
2546
"libredox",
2893
-
"thiserror 2.0.17",
2547
+
"thiserror",
2894
2548
]
2895
2549
2896
2550
[[package]]
···
2943
2597
checksum = "caf4aa5b0f434c91fe5c7f1ecb6a5ece2130b02ad2a590589dda5146df959001"
2944
2598
2945
2599
[[package]]
2946
-
name = "regress"
2947
-
version = "0.10.4"
2600
+
name = "relative-path"
2601
+
version = "1.9.3"
2948
2602
source = "registry+https://github.com/rust-lang/crates.io-index"
2949
-
checksum = "145bb27393fe455dd64d6cbc8d059adfa392590a45eadf079c01b11857e7b010"
2950
-
dependencies = [
2951
-
"hashbrown 0.15.5",
2952
-
"memchr",
2953
-
]
2603
+
checksum = "ba39f3699c378cd8970968dcbff9c43159ea4cfbd88d43c00b22f2ef10a435d2"
2954
2604
2955
2605
[[package]]
2956
2606
name = "reqwest"
···
2962
2612
"bytes",
2963
2613
"encoding_rs",
2964
2614
"futures-core",
2965
-
"futures-util",
2966
2615
"h2",
2967
2616
"http",
2968
2617
"http-body",
···
2974
2623
"js-sys",
2975
2624
"log",
2976
2625
"mime",
2977
-
"mime_guess",
2978
2626
"native-tls",
2979
2627
"percent-encoding",
2980
2628
"pin-project-lite",
2981
-
"quinn",
2982
-
"rustls",
2983
2629
"rustls-pki-types",
2984
2630
"serde",
2985
2631
"serde_json",
···
2987
2633
"sync_wrapper",
2988
2634
"tokio",
2989
2635
"tokio-native-tls",
2990
-
"tokio-rustls",
2991
2636
"tower",
2992
2637
"tower-http",
2993
2638
"tower-service",
···
2995
2640
"wasm-bindgen",
2996
2641
"wasm-bindgen-futures",
2997
2642
"web-sys",
2998
-
"webpki-roots",
2999
2643
]
3000
2644
3001
2645
[[package]]
3002
-
name = "reqwest-chain"
3003
-
version = "1.0.0"
2646
+
name = "ring"
2647
+
version = "0.17.14"
3004
2648
source = "registry+https://github.com/rust-lang/crates.io-index"
3005
-
checksum = "da5c014fb79a8227db44a0433d748107750d2550b7fca55c59a3d7ee7d2ee2b2"
2649
+
checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7"
3006
2650
dependencies = [
3007
-
"anyhow",
3008
-
"async-trait",
3009
-
"http",
3010
-
"reqwest-middleware",
2651
+
"cc",
2652
+
"cfg-if",
2653
+
"getrandom 0.2.16",
2654
+
"libc",
2655
+
"untrusted",
2656
+
"windows-sys 0.52.0",
3011
2657
]
3012
2658
3013
2659
[[package]]
3014
-
name = "reqwest-middleware"
3015
-
version = "0.4.2"
2660
+
name = "rsa"
2661
+
version = "0.9.8"
3016
2662
source = "registry+https://github.com/rust-lang/crates.io-index"
3017
-
checksum = "57f17d28a6e6acfe1733fe24bcd30774d13bffa4b8a22535b4c8c98423088d4e"
2663
+
checksum = "78928ac1ed176a5ca1d17e578a1825f3d81ca54cf41053a592584b020cfd691b"
3018
2664
dependencies = [
3019
-
"anyhow",
3020
-
"async-trait",
3021
-
"http",
3022
-
"reqwest",
3023
-
"serde",
3024
-
"thiserror 1.0.69",
3025
-
"tower-service",
2665
+
"const-oid",
2666
+
"digest",
2667
+
"num-bigint-dig",
2668
+
"num-integer",
2669
+
"num-traits",
2670
+
"pkcs1",
2671
+
"pkcs8",
2672
+
"rand_core 0.6.4",
2673
+
"signature",
2674
+
"spki",
2675
+
"subtle",
2676
+
"zeroize",
3026
2677
]
3027
2678
3028
2679
[[package]]
3029
-
name = "resolv-conf"
3030
-
version = "0.7.5"
3031
-
source = "registry+https://github.com/rust-lang/crates.io-index"
3032
-
checksum = "6b3789b30bd25ba102de4beabd95d21ac45b69b1be7d14522bab988c526d6799"
3033
-
3034
-
[[package]]
3035
-
name = "rfc6979"
3036
-
version = "0.4.0"
2680
+
name = "rstest"
2681
+
version = "0.26.1"
3037
2682
source = "registry+https://github.com/rust-lang/crates.io-index"
3038
-
checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2"
2683
+
checksum = "f5a3193c063baaa2a95a33f03035c8a72b83d97a54916055ba22d35ed3839d49"
3039
2684
dependencies = [
3040
-
"hmac",
3041
-
"subtle",
2685
+
"futures-timer",
2686
+
"futures-util",
2687
+
"rstest_macros",
3042
2688
]
3043
2689
3044
2690
[[package]]
3045
-
name = "ring"
3046
-
version = "0.17.14"
2691
+
name = "rstest_macros"
2692
+
version = "0.26.1"
3047
2693
source = "registry+https://github.com/rust-lang/crates.io-index"
3048
-
checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7"
2694
+
checksum = "9c845311f0ff7951c5506121a9ad75aec44d083c31583b2ea5a30bcb0b0abba0"
3049
2695
dependencies = [
3050
-
"cc",
3051
2696
"cfg-if",
3052
-
"getrandom 0.2.16",
3053
-
"libc",
3054
-
"untrusted",
3055
-
"windows-sys 0.52.0",
2697
+
"glob",
2698
+
"proc-macro-crate",
2699
+
"proc-macro2",
2700
+
"quote",
2701
+
"regex",
2702
+
"relative-path",
2703
+
"rustc_version",
2704
+
"syn 2.0.106",
2705
+
"unicode-ident",
3056
2706
]
3057
2707
3058
2708
[[package]]
···
3098
2748
"aws-lc-rs",
3099
2749
"log",
3100
2750
"once_cell",
3101
-
"ring",
3102
2751
"rustls-pki-types",
3103
2752
"rustls-webpki",
3104
2753
"subtle",
···
3120
2769
source = "registry+https://github.com/rust-lang/crates.io-index"
3121
2770
checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79"
3122
2771
dependencies = [
3123
-
"web-time",
3124
2772
"zeroize",
3125
2773
]
3126
2774
···
3159
2807
3160
2808
[[package]]
3161
2809
name = "schemars"
3162
-
version = "0.8.22"
3163
-
source = "registry+https://github.com/rust-lang/crates.io-index"
3164
-
checksum = "3fbf2ae1b8bc8e02df939598064d22402220cd5bbcca1c76f7d6a310974d5615"
3165
-
dependencies = [
3166
-
"dyn-clone",
3167
-
"schemars_derive 0.8.22",
3168
-
"serde",
3169
-
"serde_json",
3170
-
]
3171
-
3172
-
[[package]]
3173
-
name = "schemars"
3174
2810
version = "1.0.4"
3175
2811
source = "registry+https://github.com/rust-lang/crates.io-index"
3176
2812
checksum = "82d20c4491bc164fa2f6c5d44565947a52ad80b9505d8e36f8d54c27c739fcd0"
3177
2813
dependencies = [
3178
2814
"dyn-clone",
3179
2815
"ref-cast",
3180
-
"schemars_derive 1.0.4",
2816
+
"schemars_derive",
3181
2817
"serde",
3182
2818
"serde_json",
3183
2819
]
3184
2820
3185
2821
[[package]]
3186
2822
name = "schemars_derive"
3187
-
version = "0.8.22"
3188
-
source = "registry+https://github.com/rust-lang/crates.io-index"
3189
-
checksum = "32e265784ad618884abaea0600a9adf15393368d840e0222d101a072f3f7534d"
3190
-
dependencies = [
3191
-
"proc-macro2",
3192
-
"quote",
3193
-
"serde_derive_internals",
3194
-
"syn 2.0.106",
3195
-
]
3196
-
3197
-
[[package]]
3198
-
name = "schemars_derive"
3199
2823
version = "1.0.4"
3200
2824
source = "registry+https://github.com/rust-lang/crates.io-index"
3201
2825
checksum = "33d020396d1d138dc19f1165df7545479dcd58d93810dc5d646a16e55abefa80"
···
3213
2837
checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
3214
2838
3215
2839
[[package]]
3216
-
name = "sec1"
3217
-
version = "0.7.3"
3218
-
source = "registry+https://github.com/rust-lang/crates.io-index"
3219
-
checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc"
3220
-
dependencies = [
3221
-
"base16ct",
3222
-
"der",
3223
-
"generic-array",
3224
-
"pkcs8",
3225
-
"serdect",
3226
-
"subtle",
3227
-
"zeroize",
3228
-
]
3229
-
3230
-
[[package]]
3231
2840
name = "security-framework"
3232
2841
version = "2.11.1"
3233
2842
source = "registry+https://github.com/rust-lang/crates.io-index"
···
3277
2886
]
3278
2887
3279
2888
[[package]]
3280
-
name = "serde_bytes"
3281
-
version = "0.11.19"
3282
-
source = "registry+https://github.com/rust-lang/crates.io-index"
3283
-
checksum = "a5d440709e79d88e51ac01c4b72fc6cb7314017bb7da9eeff678aa94c10e3ea8"
3284
-
dependencies = [
3285
-
"serde",
3286
-
"serde_core",
3287
-
]
3288
-
3289
-
[[package]]
3290
2889
name = "serde_core"
3291
2890
version = "1.0.228"
3292
2891
source = "registry+https://github.com/rust-lang/crates.io-index"
···
3318
2917
]
3319
2918
3320
2919
[[package]]
3321
-
name = "serde_ipld_dagcbor"
3322
-
version = "0.6.4"
3323
-
source = "registry+https://github.com/rust-lang/crates.io-index"
3324
-
checksum = "46182f4f08349a02b45c998ba3215d3f9de826246ba02bb9dddfe9a2a2100778"
3325
-
dependencies = [
3326
-
"cbor4ii",
3327
-
"ipld-core",
3328
-
"scopeguard",
3329
-
"serde",
3330
-
]
3331
-
3332
-
[[package]]
3333
2920
name = "serde_json"
3334
2921
version = "1.0.145"
3335
2922
source = "registry+https://github.com/rust-lang/crates.io-index"
···
3352
2939
]
3353
2940
3354
2941
[[package]]
3355
-
name = "serde_tokenstream"
3356
-
version = "0.2.2"
3357
-
source = "registry+https://github.com/rust-lang/crates.io-index"
3358
-
checksum = "64060d864397305347a78851c51588fd283767e7e7589829e8121d65512340f1"
3359
-
dependencies = [
3360
-
"proc-macro2",
3361
-
"quote",
3362
-
"serde",
3363
-
"syn 2.0.106",
3364
-
]
3365
-
3366
-
[[package]]
3367
2942
name = "serde_urlencoded"
3368
2943
version = "0.7.1"
3369
2944
source = "registry+https://github.com/rust-lang/crates.io-index"
···
3389
2964
]
3390
2965
3391
2966
[[package]]
3392
-
name = "serdect"
3393
-
version = "0.2.0"
2967
+
name = "sha1"
2968
+
version = "0.10.6"
3394
2969
source = "registry+https://github.com/rust-lang/crates.io-index"
3395
-
checksum = "a84f14a19e9a014bb9f4512488d9829a68e04ecabffb0f9904cd1ace94598177"
2970
+
checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba"
3396
2971
dependencies = [
3397
-
"base16ct",
3398
-
"serde",
2972
+
"cfg-if",
2973
+
"cpufeatures",
2974
+
"digest",
3399
2975
]
3400
2976
3401
2977
[[package]]
···
3460
3036
version = "1.15.1"
3461
3037
source = "registry+https://github.com/rust-lang/crates.io-index"
3462
3038
checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03"
3039
+
dependencies = [
3040
+
"serde",
3041
+
]
3463
3042
3464
3043
[[package]]
3465
3044
name = "snap"
···
3488
3067
]
3489
3068
3490
3069
[[package]]
3070
+
name = "spin"
3071
+
version = "0.9.8"
3072
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3073
+
checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
3074
+
dependencies = [
3075
+
"lock_api",
3076
+
]
3077
+
3078
+
[[package]]
3491
3079
name = "spki"
3492
3080
version = "0.7.3"
3493
3081
source = "registry+https://github.com/rust-lang/crates.io-index"
···
3498
3086
]
3499
3087
3500
3088
[[package]]
3089
+
name = "sqlx"
3090
+
version = "0.8.6"
3091
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3092
+
checksum = "1fefb893899429669dcdd979aff487bd78f4064e5e7907e4269081e0ef7d97dc"
3093
+
dependencies = [
3094
+
"sqlx-core",
3095
+
"sqlx-macros",
3096
+
"sqlx-mysql",
3097
+
"sqlx-postgres",
3098
+
"sqlx-sqlite",
3099
+
]
3100
+
3101
+
[[package]]
3102
+
name = "sqlx-core"
3103
+
version = "0.8.6"
3104
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3105
+
checksum = "ee6798b1838b6a0f69c007c133b8df5866302197e404e8b6ee8ed3e3a5e68dc6"
3106
+
dependencies = [
3107
+
"base64",
3108
+
"bytes",
3109
+
"crc",
3110
+
"crossbeam-queue",
3111
+
"either",
3112
+
"event-listener",
3113
+
"futures-core",
3114
+
"futures-intrusive",
3115
+
"futures-io",
3116
+
"futures-util",
3117
+
"hashbrown 0.15.5",
3118
+
"hashlink",
3119
+
"indexmap",
3120
+
"log",
3121
+
"memchr",
3122
+
"native-tls",
3123
+
"once_cell",
3124
+
"percent-encoding",
3125
+
"serde",
3126
+
"serde_json",
3127
+
"sha2",
3128
+
"smallvec",
3129
+
"thiserror",
3130
+
"tokio",
3131
+
"tokio-stream",
3132
+
"tracing",
3133
+
"url",
3134
+
]
3135
+
3136
+
[[package]]
3137
+
name = "sqlx-macros"
3138
+
version = "0.8.6"
3139
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3140
+
checksum = "a2d452988ccaacfbf5e0bdbc348fb91d7c8af5bee192173ac3636b5fb6e6715d"
3141
+
dependencies = [
3142
+
"proc-macro2",
3143
+
"quote",
3144
+
"sqlx-core",
3145
+
"sqlx-macros-core",
3146
+
"syn 2.0.106",
3147
+
]
3148
+
3149
+
[[package]]
3150
+
name = "sqlx-macros-core"
3151
+
version = "0.8.6"
3152
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3153
+
checksum = "19a9c1841124ac5a61741f96e1d9e2ec77424bf323962dd894bdb93f37d5219b"
3154
+
dependencies = [
3155
+
"dotenvy",
3156
+
"either",
3157
+
"heck",
3158
+
"hex",
3159
+
"once_cell",
3160
+
"proc-macro2",
3161
+
"quote",
3162
+
"serde",
3163
+
"serde_json",
3164
+
"sha2",
3165
+
"sqlx-core",
3166
+
"sqlx-mysql",
3167
+
"sqlx-postgres",
3168
+
"sqlx-sqlite",
3169
+
"syn 2.0.106",
3170
+
"tokio",
3171
+
"url",
3172
+
]
3173
+
3174
+
[[package]]
3175
+
name = "sqlx-mysql"
3176
+
version = "0.8.6"
3177
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3178
+
checksum = "aa003f0038df784eb8fecbbac13affe3da23b45194bd57dba231c8f48199c526"
3179
+
dependencies = [
3180
+
"atoi",
3181
+
"base64",
3182
+
"bitflags 2.9.4",
3183
+
"byteorder",
3184
+
"bytes",
3185
+
"crc",
3186
+
"digest",
3187
+
"dotenvy",
3188
+
"either",
3189
+
"futures-channel",
3190
+
"futures-core",
3191
+
"futures-io",
3192
+
"futures-util",
3193
+
"generic-array",
3194
+
"hex",
3195
+
"hkdf",
3196
+
"hmac",
3197
+
"itoa",
3198
+
"log",
3199
+
"md-5",
3200
+
"memchr",
3201
+
"once_cell",
3202
+
"percent-encoding",
3203
+
"rand 0.8.5",
3204
+
"rsa",
3205
+
"serde",
3206
+
"sha1",
3207
+
"sha2",
3208
+
"smallvec",
3209
+
"sqlx-core",
3210
+
"stringprep",
3211
+
"thiserror",
3212
+
"tracing",
3213
+
"whoami",
3214
+
]
3215
+
3216
+
[[package]]
3217
+
name = "sqlx-postgres"
3218
+
version = "0.8.6"
3219
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3220
+
checksum = "db58fcd5a53cf07c184b154801ff91347e4c30d17a3562a635ff028ad5deda46"
3221
+
dependencies = [
3222
+
"atoi",
3223
+
"base64",
3224
+
"bitflags 2.9.4",
3225
+
"byteorder",
3226
+
"crc",
3227
+
"dotenvy",
3228
+
"etcetera",
3229
+
"futures-channel",
3230
+
"futures-core",
3231
+
"futures-util",
3232
+
"hex",
3233
+
"hkdf",
3234
+
"hmac",
3235
+
"home",
3236
+
"itoa",
3237
+
"log",
3238
+
"md-5",
3239
+
"memchr",
3240
+
"once_cell",
3241
+
"rand 0.8.5",
3242
+
"serde",
3243
+
"serde_json",
3244
+
"sha2",
3245
+
"smallvec",
3246
+
"sqlx-core",
3247
+
"stringprep",
3248
+
"thiserror",
3249
+
"tracing",
3250
+
"whoami",
3251
+
]
3252
+
3253
+
[[package]]
3254
+
name = "sqlx-sqlite"
3255
+
version = "0.8.6"
3256
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3257
+
checksum = "c2d12fe70b2c1b4401038055f90f151b78208de1f9f89a7dbfd41587a10c3eea"
3258
+
dependencies = [
3259
+
"atoi",
3260
+
"flume",
3261
+
"futures-channel",
3262
+
"futures-core",
3263
+
"futures-executor",
3264
+
"futures-intrusive",
3265
+
"futures-util",
3266
+
"libsqlite3-sys",
3267
+
"log",
3268
+
"percent-encoding",
3269
+
"serde",
3270
+
"serde_urlencoded",
3271
+
"sqlx-core",
3272
+
"thiserror",
3273
+
"tracing",
3274
+
"url",
3275
+
]
3276
+
3277
+
[[package]]
3501
3278
name = "stable_deref_trait"
3502
3279
version = "1.2.0"
3503
3280
source = "registry+https://github.com/rust-lang/crates.io-index"
···
3612
3389
"once_cell",
3613
3390
"rustix",
3614
3391
"windows-sys 0.61.1",
3615
-
]
3616
-
3617
-
[[package]]
3618
-
name = "thiserror"
3619
-
version = "1.0.69"
3620
-
source = "registry+https://github.com/rust-lang/crates.io-index"
3621
-
checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52"
3622
-
dependencies = [
3623
-
"thiserror-impl 1.0.69",
3624
3392
]
3625
3393
3626
3394
[[package]]
···
3629
3397
source = "registry+https://github.com/rust-lang/crates.io-index"
3630
3398
checksum = "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8"
3631
3399
dependencies = [
3632
-
"thiserror-impl 2.0.17",
3633
-
]
3634
-
3635
-
[[package]]
3636
-
name = "thiserror-impl"
3637
-
version = "1.0.69"
3638
-
source = "registry+https://github.com/rust-lang/crates.io-index"
3639
-
checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
3640
-
dependencies = [
3641
-
"proc-macro2",
3642
-
"quote",
3643
-
"syn 2.0.106",
3400
+
"thiserror-impl",
3644
3401
]
3645
3402
3646
3403
[[package]]
···
3799
3556
"indexmap",
3800
3557
"serde",
3801
3558
"serde_spanned",
3802
-
"toml_datetime",
3803
-
"toml_edit",
3559
+
"toml_datetime 0.6.11",
3560
+
"toml_edit 0.22.27",
3804
3561
]
3805
3562
3806
3563
[[package]]
···
3813
3570
]
3814
3571
3815
3572
[[package]]
3573
+
name = "toml_datetime"
3574
+
version = "0.7.2"
3575
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3576
+
checksum = "32f1085dec27c2b6632b04c80b3bb1b4300d6495d1e129693bdda7d91e72eec1"
3577
+
dependencies = [
3578
+
"serde_core",
3579
+
]
3580
+
3581
+
[[package]]
3816
3582
name = "toml_edit"
3817
3583
version = "0.22.27"
3818
3584
source = "registry+https://github.com/rust-lang/crates.io-index"
···
3821
3587
"indexmap",
3822
3588
"serde",
3823
3589
"serde_spanned",
3824
-
"toml_datetime",
3590
+
"toml_datetime 0.6.11",
3825
3591
"toml_write",
3826
3592
"winnow",
3827
3593
]
3828
3594
3829
3595
[[package]]
3596
+
name = "toml_edit"
3597
+
version = "0.23.6"
3598
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3599
+
checksum = "f3effe7c0e86fdff4f69cdd2ccc1b96f933e24811c5441d44904e8683e27184b"
3600
+
dependencies = [
3601
+
"indexmap",
3602
+
"toml_datetime 0.7.2",
3603
+
"toml_parser",
3604
+
"winnow",
3605
+
]
3606
+
3607
+
[[package]]
3608
+
name = "toml_parser"
3609
+
version = "1.0.3"
3610
+
source = "registry+https://github.com/rust-lang/crates.io-index"
3611
+
checksum = "4cf893c33be71572e0e9aa6dd15e6677937abd686b066eac3f8cd3531688a627"
3612
+
dependencies = [
3613
+
"winnow",
3614
+
]
3615
+
3616
+
[[package]]
3830
3617
name = "toml_write"
3831
3618
version = "0.1.2"
3832
3619
source = "registry+https://github.com/rust-lang/crates.io-index"
···
3883
3670
source = "registry+https://github.com/rust-lang/crates.io-index"
3884
3671
checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0"
3885
3672
dependencies = [
3673
+
"log",
3886
3674
"pin-project-lite",
3887
3675
"tracing-attributes",
3888
3676
"tracing-core",
···
3957
3745
checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f"
3958
3746
3959
3747
[[package]]
3960
-
name = "typify"
3961
-
version = "0.4.3"
3962
-
source = "registry+https://github.com/rust-lang/crates.io-index"
3963
-
checksum = "7144144e97e987c94758a3017c920a027feac0799df325d6df4fc8f08d02068e"
3964
-
dependencies = [
3965
-
"typify-impl",
3966
-
"typify-macro",
3967
-
]
3968
-
3969
-
[[package]]
3970
-
name = "typify-impl"
3971
-
version = "0.4.3"
3972
-
source = "registry+https://github.com/rust-lang/crates.io-index"
3973
-
checksum = "062879d46aa4c9dfe0d33b035bbaf512da192131645d05deacb7033ec8581a09"
3974
-
dependencies = [
3975
-
"heck",
3976
-
"log",
3977
-
"proc-macro2",
3978
-
"quote",
3979
-
"regress",
3980
-
"schemars 0.8.22",
3981
-
"semver",
3982
-
"serde",
3983
-
"serde_json",
3984
-
"syn 2.0.106",
3985
-
"thiserror 2.0.17",
3986
-
"unicode-ident",
3987
-
]
3988
-
3989
-
[[package]]
3990
-
name = "typify-macro"
3991
-
version = "0.4.3"
3992
-
source = "registry+https://github.com/rust-lang/crates.io-index"
3993
-
checksum = "9708a3ceb6660ba3f8d2b8f0567e7d4b8b198e2b94d093b8a6077a751425de9e"
3994
-
dependencies = [
3995
-
"proc-macro2",
3996
-
"quote",
3997
-
"schemars 0.8.22",
3998
-
"semver",
3999
-
"serde",
4000
-
"serde_json",
4001
-
"serde_tokenstream",
4002
-
"syn 2.0.106",
4003
-
"typify-impl",
4004
-
]
4005
-
4006
-
[[package]]
4007
-
name = "ulid"
4008
-
version = "1.2.1"
4009
-
source = "registry+https://github.com/rust-lang/crates.io-index"
4010
-
checksum = "470dbf6591da1b39d43c14523b2b469c86879a53e8b758c8e090a470fe7b1fbe"
4011
-
dependencies = [
4012
-
"rand 0.9.2",
4013
-
"web-time",
4014
-
]
4015
-
4016
-
[[package]]
4017
-
name = "unicase"
4018
-
version = "2.8.1"
4019
-
source = "registry+https://github.com/rust-lang/crates.io-index"
4020
-
checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539"
4021
-
4022
-
[[package]]
4023
3748
name = "unicode-bidi"
4024
3749
version = "0.3.18"
4025
3750
source = "registry+https://github.com/rust-lang/crates.io-index"
···
4053
3778
checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861"
4054
3779
4055
3780
[[package]]
4056
-
name = "unsigned-varint"
4057
-
version = "0.8.0"
4058
-
source = "registry+https://github.com/rust-lang/crates.io-index"
4059
-
checksum = "eb066959b24b5196ae73cb057f45598450d2c5f71460e98c49b738086eff9c06"
4060
-
4061
-
[[package]]
4062
3781
name = "untrusted"
4063
3782
version = "0.9.0"
4064
3783
source = "registry+https://github.com/rust-lang/crates.io-index"
···
4077
3796
]
4078
3797
4079
3798
[[package]]
4080
-
name = "urlencoding"
4081
-
version = "2.1.3"
4082
-
source = "registry+https://github.com/rust-lang/crates.io-index"
4083
-
checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da"
4084
-
4085
-
[[package]]
4086
3799
name = "utf8_iter"
4087
3800
version = "1.0.4"
4088
3801
source = "registry+https://github.com/rust-lang/crates.io-index"
···
4249
3962
]
4250
3963
4251
3964
[[package]]
4252
-
name = "webpki-roots"
4253
-
version = "1.0.2"
4254
-
source = "registry+https://github.com/rust-lang/crates.io-index"
4255
-
checksum = "7e8983c3ab33d6fb807cfcdad2491c4ea8cbc8ed839181c7dfd9c67c83e261b2"
4256
-
dependencies = [
4257
-
"rustls-pki-types",
4258
-
]
4259
-
4260
-
[[package]]
4261
3965
name = "whoami"
4262
3966
version = "1.6.1"
4263
3967
source = "registry+https://github.com/rust-lang/crates.io-index"
···
4267
3971
"wasite",
4268
3972
"web-sys",
4269
3973
]
4270
-
4271
-
[[package]]
4272
-
name = "widestring"
4273
-
version = "1.2.0"
4274
-
source = "registry+https://github.com/rust-lang/crates.io-index"
4275
-
checksum = "dd7cf3379ca1aac9eea11fba24fd7e315d621f8dfe35c8d7d2be8b793726e07d"
4276
3974
4277
3975
[[package]]
4278
3976
name = "winapi"
···
4419
4117
4420
4118
[[package]]
4421
4119
name = "windows-sys"
4422
-
version = "0.60.2"
4423
-
source = "registry+https://github.com/rust-lang/crates.io-index"
4424
-
checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb"
4425
-
dependencies = [
4426
-
"windows-targets 0.53.4",
4427
-
]
4428
-
4429
-
[[package]]
4430
-
name = "windows-sys"
4431
4120
version = "0.61.1"
4432
4121
source = "registry+https://github.com/rust-lang/crates.io-index"
4433
4122
checksum = "6f109e41dd4a3c848907eb83d5a42ea98b3769495597450cf6d153507b166f0f"
···
4631
4320
]
4632
4321
4633
4322
[[package]]
4634
-
name = "winreg"
4635
-
version = "0.50.0"
4636
-
source = "registry+https://github.com/rust-lang/crates.io-index"
4637
-
checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1"
4638
-
dependencies = [
4639
-
"cfg-if",
4640
-
"windows-sys 0.48.0",
4641
-
]
4642
-
4643
-
[[package]]
4644
4323
name = "wit-bindgen"
4645
4324
version = "0.46.0"
4646
4325
source = "registry+https://github.com/rust-lang/crates.io-index"
···
4665
4344
"pharos",
4666
4345
"rustc_version",
4667
4346
"send_wrapper",
4668
-
"thiserror 2.0.17",
4347
+
"thiserror",
4669
4348
"wasm-bindgen",
4670
4349
"wasm-bindgen-futures",
4671
4350
"web-sys",
+5
-12
crates/ott-ingest/Cargo.toml
+5
-12
crates/ott-ingest/Cargo.toml
···
6
6
[dependencies]
7
7
fluvio = "0.50.1"
8
8
moka = { version = "0.12.11", features = ["sync"] }
9
+
pgvector = { version = "0.4", features = ["sqlx"] }
9
10
reqwest = { version = "0.12.23", features = ["json"] }
10
11
serde = { version = "1.0.226", features = ["derive"] }
11
12
serde_json = "1.0.145"
12
-
tokio = "1.47.1"
13
+
sqlx = { version = "0.8.6", features = [ "postgres", "runtime-tokio", "tls-native-tls" ] }
14
+
tokio = { version = "1.47.1", features = ["full", "sync"] }
13
15
tokio-postgres = "0.7.14"
14
16
tokio-stream = "0.1.17"
15
17
tracing = "0.1.41"
16
18
tracing-subscriber = { version = "0.3.20", features = ["env-filter"] }
17
19
18
-
[build-dependencies]
19
-
anyhow = "1.0.100"
20
-
atproto-identity = "0.13.0"
21
-
atproto-lexicon = "0.13.0"
22
-
reqwest = "0.12.23"
23
-
serde_json = "1.0.145"
24
-
tokio = { version = "1.47.1", features = ["full"] }
25
-
prettyplease = "0.2"
26
-
schemars = "1.0.4"
27
-
syn = "2.0.106"
28
-
typify = "0.4.3"
20
+
[dev-dependencies]
21
+
rstest = "0.26.1"
-40
crates/ott-ingest/build.rs
-40
crates/ott-ingest/build.rs
···
1
-
use std::{fs, path::Path};
2
-
3
-
use atproto_identity::resolve::HickoryDnsResolver;
4
-
use atproto_lexicon::resolve::{DefaultLexiconResolver, LexiconResolver};
5
-
use atproto_lexicon::resolve_recursive::{RecursiveLexiconResolver, RecursiveResolverConfig};
6
-
7
-
fn main() -> anyhow::Result<()> {
8
-
let rt = tokio::runtime::Runtime::new()?;
9
-
10
-
rt.block_on(async {
11
-
let http_client = reqwest::Client::new();
12
-
let dns_resolver = HickoryDnsResolver::create_resolver(&[]);
13
-
let resolver = DefaultLexiconResolver::new(http_client, dns_resolver);
14
-
15
-
let config = RecursiveResolverConfig {
16
-
max_depth: 5, // Maximum recursion depth
17
-
include_entry: true, // Include the entry lexicon in results
18
-
};
19
-
20
-
let recursive_resolver = RecursiveLexiconResolver::with_config(resolver, config);
21
-
22
-
let lexicon = recursive_resolver
23
-
.resolve_recursive("app.bsky.feed.post")
24
-
.await?;
25
-
let json = serde_json::to_string_pretty(&lexicon)?;
26
-
let out_dir = std::env::var("OUT_DIR")?;
27
-
let dest_path = Path::new(&out_dir).join("post.json");
28
-
fs::write(&dest_path, json)?;
29
-
30
-
let lexicon = recursive_resolver
31
-
.resolve_recursive("app.bsky.feed.like")
32
-
.await?;
33
-
let json = serde_json::to_string_pretty(&lexicon)?;
34
-
let out_dir = std::env::var("OUT_DIR")?;
35
-
let dest_path = Path::new(&out_dir).join("like.json");
36
-
fs::write(&dest_path, json)?;
37
-
38
-
Ok(())
39
-
})
40
-
}
-56
crates/ott-ingest/schemas/like.json
-56
crates/ott-ingest/schemas/like.json
···
1
-
{
2
-
"com.atproto.repo.strongRef": {
3
-
"$type": "com.atproto.lexicon.schema",
4
-
"defs": {
5
-
"main": {
6
-
"properties": {
7
-
"cid": {
8
-
"format": "cid",
9
-
"type": "string"
10
-
},
11
-
"uri": {
12
-
"format": "at-uri",
13
-
"type": "string"
14
-
}
15
-
},
16
-
"required": [
17
-
"uri",
18
-
"cid"
19
-
],
20
-
"type": "object"
21
-
}
22
-
},
23
-
"description": "A URI with a content-hash fingerprint.",
24
-
"id": "com.atproto.repo.strongRef",
25
-
"lexicon": 1
26
-
},
27
-
"app.bsky.feed.like": {
28
-
"$type": "com.atproto.lexicon.schema",
29
-
"defs": {
30
-
"main": {
31
-
"description": "Record declaring a 'like' of a piece of subject content.",
32
-
"key": "tid",
33
-
"record": {
34
-
"properties": {
35
-
"createdAt": {
36
-
"format": "datetime",
37
-
"type": "string"
38
-
},
39
-
"subject": {
40
-
"ref": "com.atproto.repo.strongRef",
41
-
"type": "ref"
42
-
}
43
-
},
44
-
"required": [
45
-
"subject",
46
-
"createdAt"
47
-
],
48
-
"type": "object"
49
-
},
50
-
"type": "record"
51
-
}
52
-
},
53
-
"id": "app.bsky.feed.like",
54
-
"lexicon": 1
55
-
}
56
-
}
-31
crates/ott-ingest/schemas/like.rs
-31
crates/ott-ingest/schemas/like.rs
···
1
-
#![allow(clippy::redundant_closure_call)]
2
-
#![allow(clippy::needless_lifetimes)]
3
-
#![allow(clippy::match_single_binding)]
4
-
#![allow(clippy::clone_on_copy)]
5
-
6
-
#[doc = r" Error types."]
7
-
pub mod error {
8
-
#[doc = r" Error from a `TryFrom` or `FromStr` implementation."]
9
-
pub struct ConversionError(::std::borrow::Cow<'static, str>);
10
-
impl ::std::error::Error for ConversionError {}
11
-
impl ::std::fmt::Display for ConversionError {
12
-
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> Result<(), ::std::fmt::Error> {
13
-
::std::fmt::Display::fmt(&self.0, f)
14
-
}
15
-
}
16
-
impl ::std::fmt::Debug for ConversionError {
17
-
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> Result<(), ::std::fmt::Error> {
18
-
::std::fmt::Debug::fmt(&self.0, f)
19
-
}
20
-
}
21
-
impl From<&'static str> for ConversionError {
22
-
fn from(value: &'static str) -> Self {
23
-
Self(value.into())
24
-
}
25
-
}
26
-
impl From<String> for ConversionError {
27
-
fn from(value: String) -> Self {
28
-
Self(value.into())
29
-
}
30
-
}
31
-
}
+103
-39
crates/ott-ingest/src/main.rs
+103
-39
crates/ott-ingest/src/main.rs
···
1
1
use serde::Deserialize;
2
2
use tokio::{
3
3
select,
4
-
time::{Duration, sleep},
4
+
sync::mpsc::{self, Receiver, Sender},
5
+
time::{sleep, Duration},
5
6
};
7
+
6
8
use tokio_stream::StreamExt;
7
9
use tracing::{debug, error, info, warn};
8
-
use tracing_subscriber::{EnvFilter, field::display, fmt};
10
+
use tracing_subscriber::{field::display, fmt, EnvFilter};
9
11
10
12
use fluvio::{
13
+
consumer::{ConsumerConfigExtBuilder, ConsumerRecord, ConsumerStream},
11
14
Fluvio, Offset,
12
-
consumer::{ConsumerConfigExtBuilder, ConsumerRecord},
13
15
};
14
-
use moka::{
15
-
ops::compute::{CompResult, Op},
16
-
sync::Cache,
17
-
};
18
-
use ott_ingest::tei_client;
16
+
use moka::{ops::compute::Op, sync::Cache};
17
+
use ott_ingest::tei_client::TextEmbedding;
19
18
20
19
const LIKES_TOPIC: &str = "raw-likes";
21
20
const POSTS_TOPIC: &str = "raw-posts";
22
21
const PARTITION_NUM: u32 = 0;
22
+
const TEI_URL: &str = "http://localhost:8080";
23
23
24
24
#[derive(Debug, Deserialize, Clone)]
25
+
struct RawPost {
26
+
did: String,
27
+
uri: String,
28
+
commit: Commit,
29
+
}
30
+
31
+
#[derive(Debug, Deserialize, Clone)]
32
+
#[serde(tag = "operation", rename_all = "lowercase")]
33
+
enum Commit {
34
+
Create { record: Record },
35
+
Delete,
36
+
Update,
37
+
}
38
+
39
+
#[derive(Debug, Deserialize, Clone)]
40
+
struct Record {
41
+
text: String,
42
+
}
43
+
44
+
#[derive(Debug, Deserialize, Clone, Default)]
25
45
struct Post {
26
46
did: String,
27
47
uri: String,
28
-
#[serde(default)]
48
+
text: String,
29
49
count: u32,
30
50
}
31
51
···
50
70
.await
51
71
.expect("Failed to connect to Fluvio");
52
72
53
-
let config = ConsumerConfigExtBuilder::default()
54
-
.topic(POSTS_TOPIC)
55
-
.partition(PARTITION_NUM)
56
-
.offset_start(Offset::beginning())
57
-
.build()
58
-
.expect("Failed to build consumer config");
59
-
let mut posts_stream = fluvio
60
-
.consumer_with_config(config)
61
-
.await
62
-
.expect("Failed to create consumer");
73
+
let posts_fut = get_topic_stream(POSTS_TOPIC, PARTITION_NUM, &fluvio);
74
+
let like_fut = get_topic_stream(LIKES_TOPIC, PARTITION_NUM, &fluvio);
75
+
let (mut posts_stream, mut like_stream) = tokio::join!(posts_fut, like_fut);
76
+
77
+
let (embed_tx, embed_rx) = mpsc::channel::<Post>(1000);
78
+
let (store_tx, store_rx) = mpsc::channel::<PostEmbedding>(1000);
63
79
64
-
let config = ConsumerConfigExtBuilder::default()
65
-
.topic(LIKES_TOPIC)
66
-
.partition(PARTITION_NUM)
67
-
.offset_start(Offset::beginning())
68
-
.build()
69
-
.expect("Failed to build consumer config");
70
-
let mut like_stream = fluvio
71
-
.consumer_with_config(config)
72
-
.await
73
-
.expect("Failed to create consumer");
80
+
// Start embedding tracing_subscriber
81
+
let fut = async move {
82
+
embed_post(embed_rx, store_tx).await;
83
+
};
84
+
tokio::spawn(fut);
74
85
75
86
loop {
76
87
let pcc = posts_cache.clone();
77
88
let lcc = posts_cache.clone();
78
89
select! {
79
90
Some(Ok(record)) = posts_stream.next() => {
80
-
let post: Post = serde_json::from_slice(record.value()).unwrap();
81
-
pcc.entry(post.uri.clone())
82
-
.and_compute_with(|maybe_entry| {
83
-
if maybe_entry.is_some() {
84
-
Op::Nop
85
-
} else {
86
-
Op::Put(post) // Insert
87
-
}
88
-
});
91
+
let post: RawPost = serde_json::from_slice(record.value()).unwrap();
92
+
match &post.commit {
93
+
Commit::Create{record} => {
94
+
pcc.entry(post.uri.clone())
95
+
.and_compute_with(|maybe_entry| {
96
+
if maybe_entry.is_some() {
97
+
Op::Nop
98
+
} else {
99
+
let post = Post{
100
+
uri: post.uri,
101
+
did: post.did,
102
+
text: record.text.to_string(),
103
+
..Default::default()};
104
+
Op::Put(post) // Insert
105
+
}
106
+
}
107
+
);
108
+
},
109
+
_ => {
110
+
info!("Got create or update post");
111
+
}
112
+
}
113
+
89
114
},
90
115
Some(Ok(record)) = like_stream.next() => {
91
116
if let Ok(like) = serde_json::from_slice::<Like>(record.value()) {
···
95
120
let mut post = entry.into_value();
96
121
if post.count < 20 {
97
122
post.count +=1;
98
-
warn!("Incread counter for {:#?}", post);
99
123
Op::Put(post)
100
124
} else {
125
+
let tx_clone = embed_tx.clone();
126
+
tokio::spawn(async move {
127
+
if let Err(e) = tx_clone.send(post).await {
128
+
error!("Failed to send post: {}", e);
129
+
}
130
+
});
101
131
Op::Remove
102
132
}
103
133
} else {
···
111
141
}
112
142
}
113
143
}
144
+
145
+
async fn get_topic_stream(topic: &str, partition: u32, fluvio: &Fluvio) -> impl ConsumerStream {
146
+
let config = ConsumerConfigExtBuilder::default()
147
+
.topic(topic)
148
+
.partition(partition)
149
+
.offset_start(Offset::beginning())
150
+
.build()
151
+
.expect("Failed to build consumer config");
152
+
let posts_stream = fluvio
153
+
.consumer_with_config(config)
154
+
.await
155
+
.expect("Failed to create consumer");
156
+
posts_stream
157
+
}
158
+
159
+
struct PostEmbedding {
160
+
uri: String,
161
+
vector: Vec<f32>,
162
+
}
163
+
164
+
async fn embed_post(mut post_rx: Receiver<Post>, embedding_tx: Sender<PostEmbedding>) {
165
+
let tei_client = TextEmbedding::new(TEI_URL);
166
+
while let Some(post) = post_rx.recv().await {
167
+
if let Ok(vec) = tei_client.embed(post.text.as_str()).await {
168
+
embedding_tx
169
+
.send(PostEmbedding {
170
+
uri: post.uri,
171
+
vector: vec,
172
+
})
173
+
.await
174
+
.expect("Failed to send vector");
175
+
};
176
+
}
177
+
}
+5
crates/ott-ingest/src/pg_client.rs
+5
crates/ott-ingest/src/pg_client.rs
+63
-30
crates/ott-ingest/src/tei_client.rs
+63
-30
crates/ott-ingest/src/tei_client.rs
···
1
-
use serde_json::{Error, json};
1
+
use serde_json::json;
2
+
use std::sync::Arc;
2
3
use std::time::Duration;
3
-
use tokio::sync::OnceCell;
4
+
5
+
#[derive(Clone)]
6
+
pub struct TextEmbedding {
7
+
client: Arc<reqwest::Client>,
8
+
url: String,
9
+
}
10
+
11
+
impl TextEmbedding {
12
+
pub fn new(url: &str) -> Self {
13
+
Self {
14
+
url: url.to_string(),
15
+
client: Arc::new(
16
+
reqwest::Client::builder()
17
+
.timeout(Duration::from_secs(30))
18
+
.build()
19
+
.expect("Failed to create HTTP client"),
20
+
),
21
+
}
22
+
}
23
+
24
+
pub async fn embed(&self, message: &str) -> Result<Vec<f32>, String> {
25
+
// Create JSON payload
26
+
let payload = json!({
27
+
"inputs": message,
28
+
});
29
+
30
+
// Send POST request
31
+
let response = self
32
+
.client
33
+
.post(&self.url)
34
+
.header("Content-Type", "application/json")
35
+
.json(&payload)
36
+
.send()
37
+
.await
38
+
.map_err(|error| error.to_string())?;
4
39
5
-
static HTTP_CLIENT: OnceCell<reqwest::Client> = OnceCell::const_new();
40
+
let data = response
41
+
.json::<Vec<Vec<f32>>>()
42
+
.await
43
+
.map_err(|e| e.to_string())?[0]
44
+
.clone();
6
45
7
-
// Simple function to get the shared client
8
-
async fn get_client() -> &'static reqwest::Client {
9
-
HTTP_CLIENT
10
-
.get_or_init(|| async {
11
-
reqwest::Client::builder()
12
-
.timeout(Duration::from_secs(30))
13
-
.build()
14
-
.expect("Failed to create HTTP client")
15
-
})
16
-
.await
46
+
Ok(data)
47
+
}
17
48
}
18
49
19
-
async fn send_json_post(url: &str, message: &str) -> Result<Vec<f32>, String> {
20
-
let client = get_client().await;
50
+
#[cfg(test)]
51
+
mod tests {
52
+
use rstest::{fixture, rstest};
21
53
22
-
// Create JSON payload
23
-
let payload = json!({
24
-
"inputs": message,
25
-
});
54
+
use crate::tei_client::TextEmbedding;
26
55
27
-
// Send POST request
28
-
let response = client
29
-
.post(url)
30
-
.header("Content-Type", "application/json")
31
-
.json(&payload)
32
-
.send()
33
-
.await
34
-
.map_err(|error| error.to_string())?;
56
+
#[fixture]
57
+
fn tei_url() -> String {
58
+
"http://localhost:8080".to_string()
59
+
}
60
+
61
+
#[fixture]
62
+
fn tei_client(tei_url: String) -> TextEmbedding {
63
+
TextEmbedding::new(tei_url.as_str())
64
+
}
35
65
36
-
// TODO
37
-
let data = response.json::<Vec<Vec<f32>>>().await.unwrap()[0].clone();
38
-
Ok(data)
66
+
#[rstest]
67
+
#[tokio::test]
68
+
async fn embed_string(tei_client: TextEmbedding) {
69
+
let resp = tei_client.embed("This is a test").await;
70
+
assert!(resp.is_ok());
71
+
}
39
72
}