Compare commits
3 Commits
2c0d5c8479
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
906ddec843
|
|||
|
48e92d1736
|
|||
|
733e8f73ea
|
297
Cargo.lock
generated
297
Cargo.lock
generated
@@ -663,12 +663,6 @@ dependencies = [
|
|||||||
"shlex",
|
"shlex",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "cesu8"
|
|
||||||
version = "1.1.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c"
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cfg-if"
|
name = "cfg-if"
|
||||||
version = "1.0.4"
|
version = "1.0.4"
|
||||||
@@ -1750,6 +1744,8 @@ dependencies = [
|
|||||||
"time",
|
"time",
|
||||||
"tokio",
|
"tokio",
|
||||||
"tokio-util",
|
"tokio-util",
|
||||||
|
"tokio-websockets 0.11.4",
|
||||||
|
"tokio-websockets 0.13.2",
|
||||||
"tracing",
|
"tracing",
|
||||||
"tracing-subscriber",
|
"tracing-subscriber",
|
||||||
"twilight-gateway",
|
"twilight-gateway",
|
||||||
@@ -2806,50 +2802,6 @@ dependencies = [
|
|||||||
"jiff-tzdb",
|
"jiff-tzdb",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "jni"
|
|
||||||
version = "0.21.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97"
|
|
||||||
dependencies = [
|
|
||||||
"cesu8",
|
|
||||||
"cfg-if",
|
|
||||||
"combine",
|
|
||||||
"jni-sys 0.3.1",
|
|
||||||
"log",
|
|
||||||
"thiserror 1.0.69",
|
|
||||||
"walkdir",
|
|
||||||
"windows-sys 0.45.0",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "jni-sys"
|
|
||||||
version = "0.3.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "41a652e1f9b6e0275df1f15b32661cf0d4b78d4d87ddec5e0c3c20f097433258"
|
|
||||||
dependencies = [
|
|
||||||
"jni-sys 0.4.1",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "jni-sys"
|
|
||||||
version = "0.4.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "c6377a88cb3910bee9b0fa88d4f42e1d2da8e79915598f65fb0c7ee14c878af2"
|
|
||||||
dependencies = [
|
|
||||||
"jni-sys-macros",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "jni-sys-macros"
|
|
||||||
version = "0.4.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "38c0b942f458fe50cdac086d2f946512305e5631e720728f2a61aabcd47a6264"
|
|
||||||
dependencies = [
|
|
||||||
"quote",
|
|
||||||
"syn 2.0.111",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "jobserver"
|
name = "jobserver"
|
||||||
version = "0.1.34"
|
version = "0.1.34"
|
||||||
@@ -3706,7 +3658,7 @@ checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381"
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "opendal"
|
name = "opendal"
|
||||||
version = "0.55.0"
|
version = "0.55.0"
|
||||||
source = "git+https://github.com/apache/opendal#2f3b9807fcc7f5bd94edfd9a529be526b75ed459"
|
source = "git+https://github.com/apache/opendal?rev=ecf840b04afd2be109830b9978ba89759adfee79#ecf840b04afd2be109830b9978ba89759adfee79"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"ctor",
|
"ctor",
|
||||||
"opendal-core",
|
"opendal-core",
|
||||||
@@ -3752,7 +3704,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "opendal-core"
|
name = "opendal-core"
|
||||||
version = "0.55.0"
|
version = "0.55.0"
|
||||||
source = "git+https://github.com/apache/opendal#2f3b9807fcc7f5bd94edfd9a529be526b75ed459"
|
source = "git+https://github.com/apache/opendal?rev=ecf840b04afd2be109830b9978ba89759adfee79#ecf840b04afd2be109830b9978ba89759adfee79"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"base64 0.22.1",
|
"base64 0.22.1",
|
||||||
@@ -3768,7 +3720,7 @@ dependencies = [
|
|||||||
"percent-encoding",
|
"percent-encoding",
|
||||||
"quick-xml 0.38.4",
|
"quick-xml 0.38.4",
|
||||||
"reqsign-core",
|
"reqsign-core",
|
||||||
"reqwest 0.13.2",
|
"reqwest",
|
||||||
"serde",
|
"serde",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
"tokio",
|
"tokio",
|
||||||
@@ -3780,7 +3732,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "opendal-layer-concurrent-limit"
|
name = "opendal-layer-concurrent-limit"
|
||||||
version = "0.55.0"
|
version = "0.55.0"
|
||||||
source = "git+https://github.com/apache/opendal#2f3b9807fcc7f5bd94edfd9a529be526b75ed459"
|
source = "git+https://github.com/apache/opendal?rev=ecf840b04afd2be109830b9978ba89759adfee79#ecf840b04afd2be109830b9978ba89759adfee79"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"futures",
|
"futures",
|
||||||
"http",
|
"http",
|
||||||
@@ -3791,7 +3743,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "opendal-layer-logging"
|
name = "opendal-layer-logging"
|
||||||
version = "0.55.0"
|
version = "0.55.0"
|
||||||
source = "git+https://github.com/apache/opendal#2f3b9807fcc7f5bd94edfd9a529be526b75ed459"
|
source = "git+https://github.com/apache/opendal?rev=ecf840b04afd2be109830b9978ba89759adfee79#ecf840b04afd2be109830b9978ba89759adfee79"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"log",
|
"log",
|
||||||
"opendal-core",
|
"opendal-core",
|
||||||
@@ -3800,7 +3752,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "opendal-layer-retry"
|
name = "opendal-layer-retry"
|
||||||
version = "0.55.0"
|
version = "0.55.0"
|
||||||
source = "git+https://github.com/apache/opendal#2f3b9807fcc7f5bd94edfd9a529be526b75ed459"
|
source = "git+https://github.com/apache/opendal?rev=ecf840b04afd2be109830b9978ba89759adfee79#ecf840b04afd2be109830b9978ba89759adfee79"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"backon",
|
"backon",
|
||||||
"log",
|
"log",
|
||||||
@@ -3810,7 +3762,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "opendal-layer-timeout"
|
name = "opendal-layer-timeout"
|
||||||
version = "0.55.0"
|
version = "0.55.0"
|
||||||
source = "git+https://github.com/apache/opendal#2f3b9807fcc7f5bd94edfd9a529be526b75ed459"
|
source = "git+https://github.com/apache/opendal?rev=ecf840b04afd2be109830b9978ba89759adfee79#ecf840b04afd2be109830b9978ba89759adfee79"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"opendal-core",
|
"opendal-core",
|
||||||
"tokio",
|
"tokio",
|
||||||
@@ -3819,7 +3771,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "opendal-service-aliyun-drive"
|
name = "opendal-service-aliyun-drive"
|
||||||
version = "0.55.0"
|
version = "0.55.0"
|
||||||
source = "git+https://github.com/apache/opendal#2f3b9807fcc7f5bd94edfd9a529be526b75ed459"
|
source = "git+https://github.com/apache/opendal?rev=ecf840b04afd2be109830b9978ba89759adfee79#ecf840b04afd2be109830b9978ba89759adfee79"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes",
|
"bytes",
|
||||||
"http",
|
"http",
|
||||||
@@ -3833,7 +3785,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "opendal-service-alluxio"
|
name = "opendal-service-alluxio"
|
||||||
version = "0.55.0"
|
version = "0.55.0"
|
||||||
source = "git+https://github.com/apache/opendal#2f3b9807fcc7f5bd94edfd9a529be526b75ed459"
|
source = "git+https://github.com/apache/opendal?rev=ecf840b04afd2be109830b9978ba89759adfee79#ecf840b04afd2be109830b9978ba89759adfee79"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes",
|
"bytes",
|
||||||
"http",
|
"http",
|
||||||
@@ -3846,7 +3798,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "opendal-service-azblob"
|
name = "opendal-service-azblob"
|
||||||
version = "0.55.0"
|
version = "0.55.0"
|
||||||
source = "git+https://github.com/apache/opendal#2f3b9807fcc7f5bd94edfd9a529be526b75ed459"
|
source = "git+https://github.com/apache/opendal?rev=ecf840b04afd2be109830b9978ba89759adfee79#ecf840b04afd2be109830b9978ba89759adfee79"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"base64 0.22.1",
|
"base64 0.22.1",
|
||||||
"bytes",
|
"bytes",
|
||||||
@@ -3866,7 +3818,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "opendal-service-azdls"
|
name = "opendal-service-azdls"
|
||||||
version = "0.55.0"
|
version = "0.55.0"
|
||||||
source = "git+https://github.com/apache/opendal#2f3b9807fcc7f5bd94edfd9a529be526b75ed459"
|
source = "git+https://github.com/apache/opendal?rev=ecf840b04afd2be109830b9978ba89759adfee79#ecf840b04afd2be109830b9978ba89759adfee79"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes",
|
"bytes",
|
||||||
"http",
|
"http",
|
||||||
@@ -3884,7 +3836,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "opendal-service-azfile"
|
name = "opendal-service-azfile"
|
||||||
version = "0.55.0"
|
version = "0.55.0"
|
||||||
source = "git+https://github.com/apache/opendal#2f3b9807fcc7f5bd94edfd9a529be526b75ed459"
|
source = "git+https://github.com/apache/opendal?rev=ecf840b04afd2be109830b9978ba89759adfee79#ecf840b04afd2be109830b9978ba89759adfee79"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes",
|
"bytes",
|
||||||
"http",
|
"http",
|
||||||
@@ -3901,7 +3853,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "opendal-service-azure-common"
|
name = "opendal-service-azure-common"
|
||||||
version = "0.55.0"
|
version = "0.55.0"
|
||||||
source = "git+https://github.com/apache/opendal#2f3b9807fcc7f5bd94edfd9a529be526b75ed459"
|
source = "git+https://github.com/apache/opendal?rev=ecf840b04afd2be109830b9978ba89759adfee79#ecf840b04afd2be109830b9978ba89759adfee79"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"http",
|
"http",
|
||||||
"opendal-core",
|
"opendal-core",
|
||||||
@@ -3910,7 +3862,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "opendal-service-b2"
|
name = "opendal-service-b2"
|
||||||
version = "0.55.0"
|
version = "0.55.0"
|
||||||
source = "git+https://github.com/apache/opendal#2f3b9807fcc7f5bd94edfd9a529be526b75ed459"
|
source = "git+https://github.com/apache/opendal?rev=ecf840b04afd2be109830b9978ba89759adfee79#ecf840b04afd2be109830b9978ba89759adfee79"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes",
|
"bytes",
|
||||||
"http",
|
"http",
|
||||||
@@ -3924,7 +3876,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "opendal-service-cacache"
|
name = "opendal-service-cacache"
|
||||||
version = "0.55.0"
|
version = "0.55.0"
|
||||||
source = "git+https://github.com/apache/opendal#2f3b9807fcc7f5bd94edfd9a529be526b75ed459"
|
source = "git+https://github.com/apache/opendal?rev=ecf840b04afd2be109830b9978ba89759adfee79#ecf840b04afd2be109830b9978ba89759adfee79"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes",
|
"bytes",
|
||||||
"cacache",
|
"cacache",
|
||||||
@@ -3935,7 +3887,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "opendal-service-d1"
|
name = "opendal-service-d1"
|
||||||
version = "0.55.0"
|
version = "0.55.0"
|
||||||
source = "git+https://github.com/apache/opendal#2f3b9807fcc7f5bd94edfd9a529be526b75ed459"
|
source = "git+https://github.com/apache/opendal?rev=ecf840b04afd2be109830b9978ba89759adfee79#ecf840b04afd2be109830b9978ba89759adfee79"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes",
|
"bytes",
|
||||||
"http",
|
"http",
|
||||||
@@ -3947,7 +3899,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "opendal-service-dashmap"
|
name = "opendal-service-dashmap"
|
||||||
version = "0.55.0"
|
version = "0.55.0"
|
||||||
source = "git+https://github.com/apache/opendal#2f3b9807fcc7f5bd94edfd9a529be526b75ed459"
|
source = "git+https://github.com/apache/opendal?rev=ecf840b04afd2be109830b9978ba89759adfee79#ecf840b04afd2be109830b9978ba89759adfee79"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"dashmap 6.1.0",
|
"dashmap 6.1.0",
|
||||||
"log",
|
"log",
|
||||||
@@ -3958,7 +3910,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "opendal-service-dbfs"
|
name = "opendal-service-dbfs"
|
||||||
version = "0.55.0"
|
version = "0.55.0"
|
||||||
source = "git+https://github.com/apache/opendal#2f3b9807fcc7f5bd94edfd9a529be526b75ed459"
|
source = "git+https://github.com/apache/opendal?rev=ecf840b04afd2be109830b9978ba89759adfee79#ecf840b04afd2be109830b9978ba89759adfee79"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"base64 0.22.1",
|
"base64 0.22.1",
|
||||||
"bytes",
|
"bytes",
|
||||||
@@ -3972,7 +3924,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "opendal-service-dropbox"
|
name = "opendal-service-dropbox"
|
||||||
version = "0.55.0"
|
version = "0.55.0"
|
||||||
source = "git+https://github.com/apache/opendal#2f3b9807fcc7f5bd94edfd9a529be526b75ed459"
|
source = "git+https://github.com/apache/opendal?rev=ecf840b04afd2be109830b9978ba89759adfee79#ecf840b04afd2be109830b9978ba89759adfee79"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes",
|
"bytes",
|
||||||
"http",
|
"http",
|
||||||
@@ -3985,7 +3937,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "opendal-service-etcd"
|
name = "opendal-service-etcd"
|
||||||
version = "0.55.0"
|
version = "0.55.0"
|
||||||
source = "git+https://github.com/apache/opendal#2f3b9807fcc7f5bd94edfd9a529be526b75ed459"
|
source = "git+https://github.com/apache/opendal?rev=ecf840b04afd2be109830b9978ba89759adfee79#ecf840b04afd2be109830b9978ba89759adfee79"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"etcd-client",
|
"etcd-client",
|
||||||
"fastpool",
|
"fastpool",
|
||||||
@@ -3997,7 +3949,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "opendal-service-fs"
|
name = "opendal-service-fs"
|
||||||
version = "0.55.0"
|
version = "0.55.0"
|
||||||
source = "git+https://github.com/apache/opendal#2f3b9807fcc7f5bd94edfd9a529be526b75ed459"
|
source = "git+https://github.com/apache/opendal?rev=ecf840b04afd2be109830b9978ba89759adfee79#ecf840b04afd2be109830b9978ba89759adfee79"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes",
|
"bytes",
|
||||||
"log",
|
"log",
|
||||||
@@ -4010,7 +3962,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "opendal-service-ftp"
|
name = "opendal-service-ftp"
|
||||||
version = "0.55.0"
|
version = "0.55.0"
|
||||||
source = "git+https://github.com/apache/opendal#2f3b9807fcc7f5bd94edfd9a529be526b75ed459"
|
source = "git+https://github.com/apache/opendal?rev=ecf840b04afd2be109830b9978ba89759adfee79#ecf840b04afd2be109830b9978ba89759adfee79"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes",
|
"bytes",
|
||||||
"fastpool",
|
"fastpool",
|
||||||
@@ -4028,7 +3980,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "opendal-service-gcs"
|
name = "opendal-service-gcs"
|
||||||
version = "0.55.0"
|
version = "0.55.0"
|
||||||
source = "git+https://github.com/apache/opendal#2f3b9807fcc7f5bd94edfd9a529be526b75ed459"
|
source = "git+https://github.com/apache/opendal?rev=ecf840b04afd2be109830b9978ba89759adfee79#ecf840b04afd2be109830b9978ba89759adfee79"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"bytes",
|
"bytes",
|
||||||
@@ -4048,7 +4000,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "opendal-service-gdrive"
|
name = "opendal-service-gdrive"
|
||||||
version = "0.55.0"
|
version = "0.55.0"
|
||||||
source = "git+https://github.com/apache/opendal#2f3b9807fcc7f5bd94edfd9a529be526b75ed459"
|
source = "git+https://github.com/apache/opendal?rev=ecf840b04afd2be109830b9978ba89759adfee79#ecf840b04afd2be109830b9978ba89759adfee79"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes",
|
"bytes",
|
||||||
"http",
|
"http",
|
||||||
@@ -4062,7 +4014,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "opendal-service-ghac"
|
name = "opendal-service-ghac"
|
||||||
version = "0.55.0"
|
version = "0.55.0"
|
||||||
source = "git+https://github.com/apache/opendal#2f3b9807fcc7f5bd94edfd9a529be526b75ed459"
|
source = "git+https://github.com/apache/opendal?rev=ecf840b04afd2be109830b9978ba89759adfee79#ecf840b04afd2be109830b9978ba89759adfee79"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes",
|
"bytes",
|
||||||
"ghac",
|
"ghac",
|
||||||
@@ -4081,7 +4033,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "opendal-service-github"
|
name = "opendal-service-github"
|
||||||
version = "0.55.0"
|
version = "0.55.0"
|
||||||
source = "git+https://github.com/apache/opendal#2f3b9807fcc7f5bd94edfd9a529be526b75ed459"
|
source = "git+https://github.com/apache/opendal?rev=ecf840b04afd2be109830b9978ba89759adfee79#ecf840b04afd2be109830b9978ba89759adfee79"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"base64 0.22.1",
|
"base64 0.22.1",
|
||||||
"bytes",
|
"bytes",
|
||||||
@@ -4095,7 +4047,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "opendal-service-gridfs"
|
name = "opendal-service-gridfs"
|
||||||
version = "0.55.0"
|
version = "0.55.0"
|
||||||
source = "git+https://github.com/apache/opendal#2f3b9807fcc7f5bd94edfd9a529be526b75ed459"
|
source = "git+https://github.com/apache/opendal?rev=ecf840b04afd2be109830b9978ba89759adfee79#ecf840b04afd2be109830b9978ba89759adfee79"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"futures",
|
"futures",
|
||||||
"mea",
|
"mea",
|
||||||
@@ -4107,7 +4059,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "opendal-service-hdfs-native"
|
name = "opendal-service-hdfs-native"
|
||||||
version = "0.55.0"
|
version = "0.55.0"
|
||||||
source = "git+https://github.com/apache/opendal#2f3b9807fcc7f5bd94edfd9a529be526b75ed459"
|
source = "git+https://github.com/apache/opendal?rev=ecf840b04afd2be109830b9978ba89759adfee79#ecf840b04afd2be109830b9978ba89759adfee79"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes",
|
"bytes",
|
||||||
"futures",
|
"futures",
|
||||||
@@ -4120,7 +4072,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "opendal-service-ipmfs"
|
name = "opendal-service-ipmfs"
|
||||||
version = "0.55.0"
|
version = "0.55.0"
|
||||||
source = "git+https://github.com/apache/opendal#2f3b9807fcc7f5bd94edfd9a529be526b75ed459"
|
source = "git+https://github.com/apache/opendal?rev=ecf840b04afd2be109830b9978ba89759adfee79#ecf840b04afd2be109830b9978ba89759adfee79"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes",
|
"bytes",
|
||||||
"http",
|
"http",
|
||||||
@@ -4133,7 +4085,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "opendal-service-mini-moka"
|
name = "opendal-service-mini-moka"
|
||||||
version = "0.55.0"
|
version = "0.55.0"
|
||||||
source = "git+https://github.com/apache/opendal#2f3b9807fcc7f5bd94edfd9a529be526b75ed459"
|
source = "git+https://github.com/apache/opendal?rev=ecf840b04afd2be109830b9978ba89759adfee79#ecf840b04afd2be109830b9978ba89759adfee79"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"log",
|
"log",
|
||||||
"mini-moka",
|
"mini-moka",
|
||||||
@@ -4144,7 +4096,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "opendal-service-moka"
|
name = "opendal-service-moka"
|
||||||
version = "0.55.0"
|
version = "0.55.0"
|
||||||
source = "git+https://github.com/apache/opendal#2f3b9807fcc7f5bd94edfd9a529be526b75ed459"
|
source = "git+https://github.com/apache/opendal?rev=ecf840b04afd2be109830b9978ba89759adfee79#ecf840b04afd2be109830b9978ba89759adfee79"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"log",
|
"log",
|
||||||
"moka",
|
"moka",
|
||||||
@@ -4155,7 +4107,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "opendal-service-mongodb"
|
name = "opendal-service-mongodb"
|
||||||
version = "0.55.0"
|
version = "0.55.0"
|
||||||
source = "git+https://github.com/apache/opendal#2f3b9807fcc7f5bd94edfd9a529be526b75ed459"
|
source = "git+https://github.com/apache/opendal?rev=ecf840b04afd2be109830b9978ba89759adfee79#ecf840b04afd2be109830b9978ba89759adfee79"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"mea",
|
"mea",
|
||||||
"mongodb",
|
"mongodb",
|
||||||
@@ -4166,7 +4118,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "opendal-service-mysql"
|
name = "opendal-service-mysql"
|
||||||
version = "0.55.0"
|
version = "0.55.0"
|
||||||
source = "git+https://github.com/apache/opendal#2f3b9807fcc7f5bd94edfd9a529be526b75ed459"
|
source = "git+https://github.com/apache/opendal?rev=ecf840b04afd2be109830b9978ba89759adfee79#ecf840b04afd2be109830b9978ba89759adfee79"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"mea",
|
"mea",
|
||||||
"opendal-core",
|
"opendal-core",
|
||||||
@@ -4177,7 +4129,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "opendal-service-pcloud"
|
name = "opendal-service-pcloud"
|
||||||
version = "0.55.0"
|
version = "0.55.0"
|
||||||
source = "git+https://github.com/apache/opendal#2f3b9807fcc7f5bd94edfd9a529be526b75ed459"
|
source = "git+https://github.com/apache/opendal?rev=ecf840b04afd2be109830b9978ba89759adfee79#ecf840b04afd2be109830b9978ba89759adfee79"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes",
|
"bytes",
|
||||||
"http",
|
"http",
|
||||||
@@ -4190,7 +4142,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "opendal-service-persy"
|
name = "opendal-service-persy"
|
||||||
version = "0.55.0"
|
version = "0.55.0"
|
||||||
source = "git+https://github.com/apache/opendal#2f3b9807fcc7f5bd94edfd9a529be526b75ed459"
|
source = "git+https://github.com/apache/opendal?rev=ecf840b04afd2be109830b9978ba89759adfee79#ecf840b04afd2be109830b9978ba89759adfee79"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"opendal-core",
|
"opendal-core",
|
||||||
"persy",
|
"persy",
|
||||||
@@ -4200,7 +4152,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "opendal-service-postgresql"
|
name = "opendal-service-postgresql"
|
||||||
version = "0.55.0"
|
version = "0.55.0"
|
||||||
source = "git+https://github.com/apache/opendal#2f3b9807fcc7f5bd94edfd9a529be526b75ed459"
|
source = "git+https://github.com/apache/opendal?rev=ecf840b04afd2be109830b9978ba89759adfee79#ecf840b04afd2be109830b9978ba89759adfee79"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"mea",
|
"mea",
|
||||||
"opendal-core",
|
"opendal-core",
|
||||||
@@ -4211,7 +4163,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "opendal-service-redb"
|
name = "opendal-service-redb"
|
||||||
version = "0.55.0"
|
version = "0.55.0"
|
||||||
source = "git+https://github.com/apache/opendal#2f3b9807fcc7f5bd94edfd9a529be526b75ed459"
|
source = "git+https://github.com/apache/opendal?rev=ecf840b04afd2be109830b9978ba89759adfee79#ecf840b04afd2be109830b9978ba89759adfee79"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"opendal-core",
|
"opendal-core",
|
||||||
"redb",
|
"redb",
|
||||||
@@ -4221,7 +4173,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "opendal-service-redis"
|
name = "opendal-service-redis"
|
||||||
version = "0.55.0"
|
version = "0.55.0"
|
||||||
source = "git+https://github.com/apache/opendal#2f3b9807fcc7f5bd94edfd9a529be526b75ed459"
|
source = "git+https://github.com/apache/opendal?rev=ecf840b04afd2be109830b9978ba89759adfee79#ecf840b04afd2be109830b9978ba89759adfee79"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes",
|
"bytes",
|
||||||
"fastpool",
|
"fastpool",
|
||||||
@@ -4235,7 +4187,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "opendal-service-s3"
|
name = "opendal-service-s3"
|
||||||
version = "0.55.0"
|
version = "0.55.0"
|
||||||
source = "git+https://github.com/apache/opendal#2f3b9807fcc7f5bd94edfd9a529be526b75ed459"
|
source = "git+https://github.com/apache/opendal?rev=ecf840b04afd2be109830b9978ba89759adfee79#ecf840b04afd2be109830b9978ba89759adfee79"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"base64 0.22.1",
|
"base64 0.22.1",
|
||||||
"bytes",
|
"bytes",
|
||||||
@@ -4255,7 +4207,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "opendal-service-sled"
|
name = "opendal-service-sled"
|
||||||
version = "0.55.0"
|
version = "0.55.0"
|
||||||
source = "git+https://github.com/apache/opendal#2f3b9807fcc7f5bd94edfd9a529be526b75ed459"
|
source = "git+https://github.com/apache/opendal?rev=ecf840b04afd2be109830b9978ba89759adfee79#ecf840b04afd2be109830b9978ba89759adfee79"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"opendal-core",
|
"opendal-core",
|
||||||
"serde",
|
"serde",
|
||||||
@@ -4265,7 +4217,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "opendal-service-webdav"
|
name = "opendal-service-webdav"
|
||||||
version = "0.55.0"
|
version = "0.55.0"
|
||||||
source = "git+https://github.com/apache/opendal#2f3b9807fcc7f5bd94edfd9a529be526b75ed459"
|
source = "git+https://github.com/apache/opendal?rev=ecf840b04afd2be109830b9978ba89759adfee79#ecf840b04afd2be109830b9978ba89759adfee79"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"bytes",
|
"bytes",
|
||||||
@@ -4955,7 +4907,6 @@ version = "0.11.13"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "f1906b49b0c3bc04b5fe5d86a77925ae6524a19b816ae38ce1e426255f1d8a31"
|
checksum = "f1906b49b0c3bc04b5fe5d86a77925ae6524a19b816ae38ce1e426255f1d8a31"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"aws-lc-rs",
|
|
||||||
"bytes",
|
"bytes",
|
||||||
"getrandom 0.3.4",
|
"getrandom 0.3.4",
|
||||||
"lru-slab",
|
"lru-slab",
|
||||||
@@ -5369,49 +5320,11 @@ dependencies = [
|
|||||||
"url",
|
"url",
|
||||||
"wasm-bindgen",
|
"wasm-bindgen",
|
||||||
"wasm-bindgen-futures",
|
"wasm-bindgen-futures",
|
||||||
"wasm-streams 0.4.2",
|
"wasm-streams",
|
||||||
"web-sys",
|
"web-sys",
|
||||||
"webpki-roots 1.0.4",
|
"webpki-roots 1.0.4",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "reqwest"
|
|
||||||
version = "0.13.2"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "ab3f43e3283ab1488b624b44b0e988d0acea0b3214e694730a055cb6b2efa801"
|
|
||||||
dependencies = [
|
|
||||||
"base64 0.22.1",
|
|
||||||
"bytes",
|
|
||||||
"futures-core",
|
|
||||||
"futures-util",
|
|
||||||
"http",
|
|
||||||
"http-body",
|
|
||||||
"http-body-util",
|
|
||||||
"hyper",
|
|
||||||
"hyper-rustls",
|
|
||||||
"hyper-util",
|
|
||||||
"js-sys",
|
|
||||||
"log",
|
|
||||||
"percent-encoding",
|
|
||||||
"pin-project-lite",
|
|
||||||
"quinn",
|
|
||||||
"rustls 0.23.35",
|
|
||||||
"rustls-pki-types",
|
|
||||||
"rustls-platform-verifier",
|
|
||||||
"sync_wrapper",
|
|
||||||
"tokio",
|
|
||||||
"tokio-rustls 0.26.4",
|
|
||||||
"tokio-util",
|
|
||||||
"tower",
|
|
||||||
"tower-http",
|
|
||||||
"tower-service",
|
|
||||||
"url",
|
|
||||||
"wasm-bindgen",
|
|
||||||
"wasm-bindgen-futures",
|
|
||||||
"wasm-streams 0.5.0",
|
|
||||||
"web-sys",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "resolv-conf"
|
name = "resolv-conf"
|
||||||
version = "0.7.6"
|
version = "0.7.6"
|
||||||
@@ -5637,33 +5550,6 @@ dependencies = [
|
|||||||
"zeroize",
|
"zeroize",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "rustls-platform-verifier"
|
|
||||||
version = "0.6.2"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "1d99feebc72bae7ab76ba994bb5e121b8d83d910ca40b36e0921f53becc41784"
|
|
||||||
dependencies = [
|
|
||||||
"core-foundation",
|
|
||||||
"core-foundation-sys",
|
|
||||||
"jni",
|
|
||||||
"log",
|
|
||||||
"once_cell",
|
|
||||||
"rustls 0.23.35",
|
|
||||||
"rustls-native-certs",
|
|
||||||
"rustls-platform-verifier-android",
|
|
||||||
"rustls-webpki 0.103.8",
|
|
||||||
"security-framework",
|
|
||||||
"security-framework-sys",
|
|
||||||
"webpki-root-certs",
|
|
||||||
"windows-sys 0.61.2",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "rustls-platform-verifier-android"
|
|
||||||
version = "0.1.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f"
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustls-webpki"
|
name = "rustls-webpki"
|
||||||
version = "0.102.8"
|
version = "0.102.8"
|
||||||
@@ -5974,7 +5860,7 @@ dependencies = [
|
|||||||
"futures",
|
"futures",
|
||||||
"mime_guess",
|
"mime_guess",
|
||||||
"percent-encoding",
|
"percent-encoding",
|
||||||
"reqwest 0.12.28",
|
"reqwest",
|
||||||
"secrecy 0.8.0",
|
"secrecy 0.8.0",
|
||||||
"serde",
|
"serde",
|
||||||
"serde_cow",
|
"serde_cow",
|
||||||
@@ -6237,7 +6123,7 @@ dependencies = [
|
|||||||
"parking_lot 0.12.5",
|
"parking_lot 0.12.5",
|
||||||
"pin-project",
|
"pin-project",
|
||||||
"rand 0.9.2",
|
"rand 0.9.2",
|
||||||
"reqwest 0.12.28",
|
"reqwest",
|
||||||
"ringbuf",
|
"ringbuf",
|
||||||
"rubato",
|
"rubato",
|
||||||
"rusty_pool",
|
"rusty_pool",
|
||||||
@@ -6522,7 +6408,7 @@ dependencies = [
|
|||||||
"futures-util",
|
"futures-util",
|
||||||
"hls_m3u8",
|
"hls_m3u8",
|
||||||
"patricia_tree 0.8.0",
|
"patricia_tree 0.8.0",
|
||||||
"reqwest 0.12.28",
|
"reqwest",
|
||||||
"tokio",
|
"tokio",
|
||||||
"tracing",
|
"tracing",
|
||||||
"url",
|
"url",
|
||||||
@@ -7013,6 +6899,7 @@ dependencies = [
|
|||||||
"tokio",
|
"tokio",
|
||||||
"tokio-rustls 0.26.4",
|
"tokio-rustls 0.26.4",
|
||||||
"tokio-util",
|
"tokio-util",
|
||||||
|
"webpki-roots 0.26.11",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -7726,19 +7613,6 @@ dependencies = [
|
|||||||
"web-sys",
|
"web-sys",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "wasm-streams"
|
|
||||||
version = "0.5.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "9d1ec4f6517c9e11ae630e200b2b65d193279042e28edd4a2cda233e46670bbb"
|
|
||||||
dependencies = [
|
|
||||||
"futures-util",
|
|
||||||
"js-sys",
|
|
||||||
"wasm-bindgen",
|
|
||||||
"wasm-bindgen-futures",
|
|
||||||
"web-sys",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wasmparser"
|
name = "wasmparser"
|
||||||
version = "0.244.0"
|
version = "0.244.0"
|
||||||
@@ -7771,15 +7645,6 @@ dependencies = [
|
|||||||
"wasm-bindgen",
|
"wasm-bindgen",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "webpki-root-certs"
|
|
||||||
version = "1.0.6"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "804f18a4ac2676ffb4e8b5b5fa9ae38af06df08162314f96a68d2a363e21a8ca"
|
|
||||||
dependencies = [
|
|
||||||
"rustls-pki-types",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "webpki-roots"
|
name = "webpki-roots"
|
||||||
version = "0.26.11"
|
version = "0.26.11"
|
||||||
@@ -7956,15 +7821,6 @@ dependencies = [
|
|||||||
"windows-link",
|
"windows-link",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "windows-sys"
|
|
||||||
version = "0.45.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
|
|
||||||
dependencies = [
|
|
||||||
"windows-targets 0.42.2",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "windows-sys"
|
name = "windows-sys"
|
||||||
version = "0.48.0"
|
version = "0.48.0"
|
||||||
@@ -8001,21 +7857,6 @@ dependencies = [
|
|||||||
"windows-link",
|
"windows-link",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "windows-targets"
|
|
||||||
version = "0.42.2"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
|
|
||||||
dependencies = [
|
|
||||||
"windows_aarch64_gnullvm 0.42.2",
|
|
||||||
"windows_aarch64_msvc 0.42.2",
|
|
||||||
"windows_i686_gnu 0.42.2",
|
|
||||||
"windows_i686_msvc 0.42.2",
|
|
||||||
"windows_x86_64_gnu 0.42.2",
|
|
||||||
"windows_x86_64_gnullvm 0.42.2",
|
|
||||||
"windows_x86_64_msvc 0.42.2",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "windows-targets"
|
name = "windows-targets"
|
||||||
version = "0.48.5"
|
version = "0.48.5"
|
||||||
@@ -8073,12 +7914,6 @@ dependencies = [
|
|||||||
"windows-link",
|
"windows-link",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "windows_aarch64_gnullvm"
|
|
||||||
version = "0.42.2"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "windows_aarch64_gnullvm"
|
name = "windows_aarch64_gnullvm"
|
||||||
version = "0.48.5"
|
version = "0.48.5"
|
||||||
@@ -8097,12 +7932,6 @@ version = "0.53.1"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53"
|
checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "windows_aarch64_msvc"
|
|
||||||
version = "0.42.2"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "windows_aarch64_msvc"
|
name = "windows_aarch64_msvc"
|
||||||
version = "0.48.5"
|
version = "0.48.5"
|
||||||
@@ -8121,12 +7950,6 @@ version = "0.53.1"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006"
|
checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "windows_i686_gnu"
|
|
||||||
version = "0.42.2"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "windows_i686_gnu"
|
name = "windows_i686_gnu"
|
||||||
version = "0.48.5"
|
version = "0.48.5"
|
||||||
@@ -8157,12 +7980,6 @@ version = "0.53.1"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c"
|
checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "windows_i686_msvc"
|
|
||||||
version = "0.42.2"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "windows_i686_msvc"
|
name = "windows_i686_msvc"
|
||||||
version = "0.48.5"
|
version = "0.48.5"
|
||||||
@@ -8181,12 +7998,6 @@ version = "0.53.1"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2"
|
checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "windows_x86_64_gnu"
|
|
||||||
version = "0.42.2"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "windows_x86_64_gnu"
|
name = "windows_x86_64_gnu"
|
||||||
version = "0.48.5"
|
version = "0.48.5"
|
||||||
@@ -8205,12 +8016,6 @@ version = "0.53.1"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499"
|
checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "windows_x86_64_gnullvm"
|
|
||||||
version = "0.42.2"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "windows_x86_64_gnullvm"
|
name = "windows_x86_64_gnullvm"
|
||||||
version = "0.48.5"
|
version = "0.48.5"
|
||||||
@@ -8229,12 +8034,6 @@ version = "0.53.1"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1"
|
checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "windows_x86_64_msvc"
|
|
||||||
version = "0.42.2"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "windows_x86_64_msvc"
|
name = "windows_x86_64_msvc"
|
||||||
version = "0.48.5"
|
version = "0.48.5"
|
||||||
|
|||||||
175
src/bot_data.rs
Normal file
175
src/bot_data.rs
Normal file
@@ -0,0 +1,175 @@
|
|||||||
|
use async_compression::futures::{bufread::BrotliDecoder, write::BrotliEncoder};
|
||||||
|
use capnp::message::TypedBuilder;
|
||||||
|
use futures::{AsyncReadExt, AsyncWriteExt};
|
||||||
|
use opendal::Operator;
|
||||||
|
use snafu::{ResultExt as _, Snafu};
|
||||||
|
|
||||||
|
use crate::{OperatorExt, bot_capnp, option_ext::OptionExt as _};
|
||||||
|
|
||||||
|
#[derive(Debug, Clone)]
|
||||||
|
pub struct BotDataManager {
|
||||||
|
operator: Operator,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl BotDataManager {
|
||||||
|
pub fn new(operator: Operator) -> Self {
|
||||||
|
Self { operator }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const PATH: &str = "data.bin.brotli";
|
||||||
|
|
||||||
|
#[derive(Debug, Snafu)]
|
||||||
|
#[snafu(module)]
|
||||||
|
pub enum WithError {
|
||||||
|
/// couldn't read data for this bot from the storage operator
|
||||||
|
ReadError { source: opendal::Error },
|
||||||
|
|
||||||
|
/// couldn't decompress the bot data from storage
|
||||||
|
DecompressionError { source: std::io::Error },
|
||||||
|
|
||||||
|
/// couldn't deserialize the bot data
|
||||||
|
DeserializeError { source: capnp::Error },
|
||||||
|
}
|
||||||
|
|
||||||
|
impl BotDataManager {
|
||||||
|
pub async fn with<R>(
|
||||||
|
&self,
|
||||||
|
f: impl FnOnce(bot_capnp::bot::Reader<'_>) -> R,
|
||||||
|
) -> Result<R, WithError> {
|
||||||
|
let compressed_buffer = self
|
||||||
|
.operator
|
||||||
|
.async_reader_if_exists(PATH)
|
||||||
|
.await
|
||||||
|
.context(with_error::ReadSnafu)?;
|
||||||
|
|
||||||
|
let decompressed_reader = compressed_buffer.map(BrotliDecoder::new);
|
||||||
|
let decompressed = decompressed_reader
|
||||||
|
.map_async(|mut reader| async move {
|
||||||
|
let mut vec = Vec::new();
|
||||||
|
reader.read_to_end(&mut vec).await?;
|
||||||
|
Ok(vec)
|
||||||
|
})
|
||||||
|
.await
|
||||||
|
.transpose()
|
||||||
|
.context(with_error::DecompressionSnafu)?;
|
||||||
|
|
||||||
|
let mut message = TypedBuilder::<bot_capnp::bot::Owned>::new_default();
|
||||||
|
let fallback = message.init_root();
|
||||||
|
|
||||||
|
let mut bot_data = fallback.into_reader();
|
||||||
|
let message_reader;
|
||||||
|
|
||||||
|
if let Some(mut bytes) = decompressed.as_deref() {
|
||||||
|
message_reader = capnp::serialize::read_message_from_flat_slice_no_alloc(
|
||||||
|
&mut bytes,
|
||||||
|
Default::default(),
|
||||||
|
)
|
||||||
|
.context(with_error::DeserializeSnafu)?;
|
||||||
|
|
||||||
|
bot_data = message_reader
|
||||||
|
.get_root()
|
||||||
|
.context(with_error::DeserializeSnafu)?;
|
||||||
|
}
|
||||||
|
|
||||||
|
Ok(f(bot_data))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Debug, Snafu)]
|
||||||
|
#[snafu(module)]
|
||||||
|
pub enum UpdateError {
|
||||||
|
/// couldn't read data for this bot from the storage operator
|
||||||
|
ReadError { source: opendal::Error },
|
||||||
|
|
||||||
|
/// couldn't decompress the bot data from storage
|
||||||
|
DecompressionError { source: std::io::Error },
|
||||||
|
|
||||||
|
/// couldn't deserialize the bot data
|
||||||
|
DeserializeError { source: capnp::Error },
|
||||||
|
|
||||||
|
/// couldn't serialize the (modified) bot data
|
||||||
|
SerializeError { source: capnp::Error },
|
||||||
|
|
||||||
|
/// couldn't create a writer for this bot data in the storage operator
|
||||||
|
WriterError { source: opendal::Error },
|
||||||
|
|
||||||
|
/// couldn't write (modified) data for this bot to the storage operator
|
||||||
|
WriteError { source: std::io::Error },
|
||||||
|
|
||||||
|
/// couldn't finalize writing (modified) data for this bot to the storage operator
|
||||||
|
FinalizeError { source: std::io::Error },
|
||||||
|
}
|
||||||
|
|
||||||
|
impl BotDataManager {
|
||||||
|
pub async fn update<R>(
|
||||||
|
&self,
|
||||||
|
f: impl FnOnce(bot_capnp::bot::Builder<'_>) -> R,
|
||||||
|
) -> Result<R, UpdateError> {
|
||||||
|
let compressed_buffer = self
|
||||||
|
.operator
|
||||||
|
.async_reader_if_exists(PATH)
|
||||||
|
.await
|
||||||
|
.context(update_error::ReadSnafu)?;
|
||||||
|
|
||||||
|
let decompressed_reader = compressed_buffer.map(BrotliDecoder::new);
|
||||||
|
let decompressed = decompressed_reader
|
||||||
|
.map_async(|mut reader| async move {
|
||||||
|
let mut vec = Vec::new();
|
||||||
|
reader.read_to_end(&mut vec).await?;
|
||||||
|
Ok(vec)
|
||||||
|
})
|
||||||
|
.await
|
||||||
|
.transpose()
|
||||||
|
.context(update_error::DecompressionSnafu)?;
|
||||||
|
|
||||||
|
let mut message = TypedBuilder::<bot_capnp::bot::Owned>::new_default();
|
||||||
|
|
||||||
|
let ret = if let Some(mut bytes) = decompressed.as_deref() {
|
||||||
|
let message_reader = capnp::serialize::read_message_from_flat_slice_no_alloc(
|
||||||
|
&mut bytes,
|
||||||
|
Default::default(),
|
||||||
|
)
|
||||||
|
.context(update_error::DeserializeSnafu)?;
|
||||||
|
|
||||||
|
let bot_data = message_reader
|
||||||
|
.get_root()
|
||||||
|
.context(update_error::DeserializeSnafu)?;
|
||||||
|
|
||||||
|
message
|
||||||
|
.set_root(bot_data)
|
||||||
|
.context(update_error::DeserializeSnafu)?;
|
||||||
|
|
||||||
|
f(
|
||||||
|
message.get_root().unwrap(), // this is logically impossible
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
f(message.init_root())
|
||||||
|
};
|
||||||
|
|
||||||
|
let mut buffer = Vec::new();
|
||||||
|
capnp::serialize::write_message(&mut buffer, message.borrow_inner())
|
||||||
|
.context(update_error::SerializeSnafu)?;
|
||||||
|
|
||||||
|
let compressed_writer = self
|
||||||
|
.operator
|
||||||
|
.writer(PATH)
|
||||||
|
.await
|
||||||
|
.context(update_error::WriterSnafu)?
|
||||||
|
.into_futures_async_write();
|
||||||
|
|
||||||
|
let mut decompressed_writer = BrotliEncoder::new(compressed_writer);
|
||||||
|
|
||||||
|
decompressed_writer
|
||||||
|
.write_all(&buffer)
|
||||||
|
.await
|
||||||
|
.context(update_error::WriteSnafu)?;
|
||||||
|
|
||||||
|
decompressed_writer
|
||||||
|
.close()
|
||||||
|
.await
|
||||||
|
.context(update_error::FinalizeSnafu)?;
|
||||||
|
|
||||||
|
Ok(ret)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,10 +1,6 @@
|
|||||||
use std::sync::LazyLock;
|
use futures::TryStreamExt;
|
||||||
|
|
||||||
use async_compression::futures::bufread::BrotliDecoder;
|
|
||||||
use capnp::message::ReaderOptions;
|
|
||||||
use futures::{AsyncReadExt, TryStreamExt};
|
|
||||||
use opendal::ErrorKind;
|
|
||||||
use snafu::{OptionExt, Snafu};
|
use snafu::{OptionExt, Snafu};
|
||||||
|
use std::sync::LazyLock;
|
||||||
use twilight_model::{
|
use twilight_model::{
|
||||||
application::{
|
application::{
|
||||||
command::{Command, CommandType},
|
command::{Command, CommandType},
|
||||||
@@ -20,11 +16,10 @@ use twilight_util::builder::{
|
|||||||
embed::{EmbedAuthorBuilder, EmbedBuilder, EmbedFieldBuilder},
|
embed::{EmbedAuthorBuilder, EmbedBuilder, EmbedFieldBuilder},
|
||||||
};
|
};
|
||||||
|
|
||||||
use crate::{bot_capnp, command::State};
|
use crate::command::State;
|
||||||
|
|
||||||
const NAME: &str = "debug";
|
const NAME: &str = "info";
|
||||||
const DESCRIPTION: &str =
|
const DESCRIPTION: &str = "Show various information";
|
||||||
"(Only the bot owner can use this) Show various information for debugging purposes";
|
|
||||||
|
|
||||||
pub static COMMAND: LazyLock<Command> = LazyLock::new(|| {
|
pub static COMMAND: LazyLock<Command> = LazyLock::new(|| {
|
||||||
CommandBuilder::new(NAME, DESCRIPTION, CommandType::ChatInput)
|
CommandBuilder::new(NAME, DESCRIPTION, CommandType::ChatInput)
|
||||||
@@ -114,54 +109,22 @@ pub async fn handle(state: State, interaction: Interaction) {
|
|||||||
.await
|
.await
|
||||||
.expect("TODO");
|
.expect("TODO");
|
||||||
|
|
||||||
let heat_script_description = {
|
let heat_script_description = state
|
||||||
let compressed_result = state
|
.bot_data_manager
|
||||||
.bot_data
|
.with(|bot_data| {
|
||||||
.reader("data.bin.brotli")
|
let heat_script_option = bot_data.has_heat_script().then(|| {
|
||||||
.await
|
bot_data
|
||||||
.expect("TODO")
|
.get_heat_script()
|
||||||
.into_futures_async_read(..)
|
.expect("TODO")
|
||||||
.await;
|
.to_string()
|
||||||
|
.expect("TODO")
|
||||||
let mut buf = Vec::default();
|
});
|
||||||
let mut message = capnp::message::TypedBuilder::<bot_capnp::bot::Owned>::new_default();
|
heat_script_option.map_or("none set yet".into(), |heat_script| {
|
||||||
let fallback = message.init_root();
|
format!("```\n{heat_script}\n```")
|
||||||
|
})
|
||||||
let message_reader;
|
|
||||||
let mut bot_data = fallback.into_reader();
|
|
||||||
match compressed_result {
|
|
||||||
Ok(compressed) => {
|
|
||||||
let mut decompressed = BrotliDecoder::new(compressed);
|
|
||||||
decompressed.read_to_end(&mut buf).await.expect("TODO");
|
|
||||||
|
|
||||||
message_reader =
|
|
||||||
capnp::serialize_packed::read_message(&*buf, ReaderOptions::default())
|
|
||||||
.expect("TODO");
|
|
||||||
|
|
||||||
bot_data = message_reader
|
|
||||||
.get_root::<bot_capnp::bot::Reader>()
|
|
||||||
.expect("TODO");
|
|
||||||
}
|
|
||||||
Err(error) if error.kind() == ErrorKind::NotFound => {
|
|
||||||
tracing::error!("TODO: proceeding with fallback");
|
|
||||||
}
|
|
||||||
Err(error) => {
|
|
||||||
tracing::error!(?error, "TODO");
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
let heat_script_option = bot_data
|
|
||||||
.has_heat_script()
|
|
||||||
.then(|| bot_data.get_heat_script().expect("TODO"));
|
|
||||||
let heat_script_option =
|
|
||||||
heat_script_option.map(|heat_script| heat_script.to_str().expect("TODO"));
|
|
||||||
|
|
||||||
heat_script_option.map_or("none set yet".into(), |heat_script| {
|
|
||||||
format!("```\n{heat_script}\n```")
|
|
||||||
})
|
})
|
||||||
};
|
.await
|
||||||
|
.expect("TODO");
|
||||||
|
|
||||||
state
|
state
|
||||||
.discord_client
|
.discord_client
|
||||||
@@ -16,9 +16,9 @@ use twilight_model::{
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
use crate::{GuildVoiceChannelToTextChannel, UserDataManager, VCs};
|
use crate::{BotDataManager, GuildVoiceChannelToTextChannel, UserDataManager, VCs};
|
||||||
|
|
||||||
pub mod debug;
|
pub mod info;
|
||||||
pub mod join;
|
pub mod join;
|
||||||
pub mod leave;
|
pub mod leave;
|
||||||
pub mod opt_in;
|
pub mod opt_in;
|
||||||
@@ -28,7 +28,7 @@ pub mod opt_out;
|
|||||||
pub struct State {
|
pub struct State {
|
||||||
pub audio_channels: Channels,
|
pub audio_channels: Channels,
|
||||||
pub audio_sample_rate: SampleRate,
|
pub audio_sample_rate: SampleRate,
|
||||||
pub bot_data: Operator,
|
pub bot_data_manager: BotDataManager,
|
||||||
pub cancellation_token: CancellationToken,
|
pub cancellation_token: CancellationToken,
|
||||||
pub discord_application_id: Id<ApplicationMarker>,
|
pub discord_application_id: Id<ApplicationMarker>,
|
||||||
pub discord_bot_owner_user_id: Id<UserMarker>,
|
pub discord_bot_owner_user_id: Id<UserMarker>,
|
||||||
@@ -58,7 +58,7 @@ where
|
|||||||
|
|
||||||
pub fn all() -> Vec<(&'static Command, BoxedHandler)> {
|
pub fn all() -> Vec<(&'static Command, BoxedHandler)> {
|
||||||
vec![
|
vec![
|
||||||
(&debug::COMMAND, box_handler(debug::handle)),
|
(&info::COMMAND, box_handler(info::handle)),
|
||||||
(&join::COMMAND, box_handler(join::handle)),
|
(&join::COMMAND, box_handler(join::handle)),
|
||||||
(&leave::COMMAND, box_handler(leave::handle)),
|
(&leave::COMMAND, box_handler(leave::handle)),
|
||||||
(&opt_in::COMMAND, box_handler(opt_in::handle)),
|
(&opt_in::COMMAND, box_handler(opt_in::handle)),
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ use twilight_model::{
|
|||||||
command::{Command, CommandType},
|
command::{Command, CommandType},
|
||||||
interaction::Interaction,
|
interaction::Interaction,
|
||||||
},
|
},
|
||||||
|
channel::message::MessageFlags,
|
||||||
http::interaction::{InteractionResponse, InteractionResponseType},
|
http::interaction::{InteractionResponse, InteractionResponseType},
|
||||||
};
|
};
|
||||||
use twilight_util::builder::{InteractionResponseDataBuilder, command::CommandBuilder};
|
use twilight_util::builder::{InteractionResponseDataBuilder, command::CommandBuilder};
|
||||||
@@ -79,6 +80,7 @@ pub async fn handle(state: State, interaction: Interaction) {
|
|||||||
.content(format!(
|
.content(format!(
|
||||||
"opted you in, your previous consent was {previous_consent:?}"
|
"opted you in, your previous consent was {previous_consent:?}"
|
||||||
))
|
))
|
||||||
|
.flags(MessageFlags::EPHEMERAL)
|
||||||
.build(),
|
.build(),
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ use twilight_model::{
|
|||||||
command::{Command, CommandType},
|
command::{Command, CommandType},
|
||||||
interaction::Interaction,
|
interaction::Interaction,
|
||||||
},
|
},
|
||||||
|
channel::message::MessageFlags,
|
||||||
http::interaction::{InteractionResponse, InteractionResponseType},
|
http::interaction::{InteractionResponse, InteractionResponseType},
|
||||||
};
|
};
|
||||||
use twilight_util::builder::{InteractionResponseDataBuilder, command::CommandBuilder};
|
use twilight_util::builder::{InteractionResponseDataBuilder, command::CommandBuilder};
|
||||||
@@ -79,6 +80,7 @@ pub async fn handle(state: State, interaction: Interaction) {
|
|||||||
.content(format!(
|
.content(format!(
|
||||||
"opted you out, your previous consent was {previous_consent:?}"
|
"opted you out, your previous consent was {previous_consent:?}"
|
||||||
))
|
))
|
||||||
|
.flags(MessageFlags::EPHEMERAL)
|
||||||
.build(),
|
.build(),
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
mod bot_data;
|
||||||
pub mod command;
|
pub mod command;
|
||||||
mod one_to_many;
|
mod one_to_many;
|
||||||
mod one_to_many_with_data;
|
mod one_to_many_with_data;
|
||||||
@@ -11,6 +12,7 @@ mod vc_user;
|
|||||||
capnp::generated_code!(mod bot_capnp);
|
capnp::generated_code!(mod bot_capnp);
|
||||||
capnp::generated_code!(mod user_capnp);
|
capnp::generated_code!(mod user_capnp);
|
||||||
|
|
||||||
|
pub use bot_data::BotDataManager;
|
||||||
pub use command::{Router as CommandRouter, State, all as all_commands};
|
pub use command::{Router as CommandRouter, State, all as all_commands};
|
||||||
pub use one_to_many::OneToManyUniqueBTreeMap;
|
pub use one_to_many::OneToManyUniqueBTreeMap;
|
||||||
pub use one_to_many_with_data::OneToManyUniqueBTreeMapWithData;
|
pub use one_to_many_with_data::OneToManyUniqueBTreeMapWithData;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
use clap::Parser;
|
use clap::Parser;
|
||||||
use fomo_reducer::{
|
use fomo_reducer::{
|
||||||
CommandRouter, GuildVoiceChannelToTextChannel, State, Storage, UserDataManager, all_commands,
|
BotDataManager, CommandRouter, GuildVoiceChannelToTextChannel, State, Storage, UserDataManager,
|
||||||
command, initialize_vcs, update_vcs,
|
all_commands, command, initialize_vcs, update_vcs,
|
||||||
};
|
};
|
||||||
use secrecy::{ExposeSecret, SecretString};
|
use secrecy::{ExposeSecret, SecretString};
|
||||||
use snafu::{OptionExt, ResultExt, Snafu};
|
use snafu::{OptionExt, ResultExt, Snafu};
|
||||||
@@ -322,6 +322,7 @@ async fn main() -> Result<(), MainError> {
|
|||||||
let recording_data = recording_data.into_inner();
|
let recording_data = recording_data.into_inner();
|
||||||
let user_data = user_data.into_inner();
|
let user_data = user_data.into_inner();
|
||||||
|
|
||||||
|
let bot_data_manager = BotDataManager::new(bot_data);
|
||||||
let user_data_manager = UserDataManager::new(user_data);
|
let user_data_manager = UserDataManager::new(user_data);
|
||||||
|
|
||||||
let discord_voice_channel_corresponding_text_channel = {
|
let discord_voice_channel_corresponding_text_channel = {
|
||||||
@@ -343,7 +344,7 @@ async fn main() -> Result<(), MainError> {
|
|||||||
let state = State {
|
let state = State {
|
||||||
audio_channels,
|
audio_channels,
|
||||||
audio_sample_rate,
|
audio_sample_rate,
|
||||||
bot_data,
|
bot_data_manager,
|
||||||
cancellation_token: cancellation_token.clone(),
|
cancellation_token: cancellation_token.clone(),
|
||||||
discord_application_id,
|
discord_application_id,
|
||||||
discord_bot_owner_user_id,
|
discord_bot_owner_user_id,
|
||||||
|
|||||||
Reference in New Issue
Block a user