diff --git a/frontend/rust-lib/Cargo.lock b/frontend/rust-lib/Cargo.lock index 38cb6eb319..1da157ea65 100644 --- a/frontend/rust-lib/Cargo.lock +++ b/frontend/rust-lib/Cargo.lock @@ -14,284 +14,6 @@ dependencies = [ "syn 2.0.94", ] -[[package]] -name = "actix-codec" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f7b0a21988c1bf877cf4759ef5ddaac04c1c9fe808c9142ecb78ba97d97a28a" -dependencies = [ - "bitflags 2.9.0", - "bytes", - "futures-core", - "futures-sink", - "memchr", - "pin-project-lite", - "tokio", - "tokio-util", - "tracing", -] - -[[package]] -name = "actix-cors" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0346d8c1f762b41b458ed3145eea914966bb9ad20b9be0d6d463b20d45586370" -dependencies = [ - "actix-utils", - "actix-web", - "derive_more", - "futures-util", - "log", - "once_cell", - "smallvec", -] - -[[package]] -name = "actix-http" -version = "3.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "129d4c88e98860e1758c5de288d1632b07970a16d59bdf7b8d66053d582bb71f" -dependencies = [ - "actix-codec", - "actix-rt", - "actix-service", - "actix-tls", - "actix-utils", - "ahash 0.8.11", - "base64 0.21.5", - "bitflags 2.9.0", - "brotli", - "bytes", - "bytestring", - "derive_more", - "encoding_rs", - "flate2", - "futures-core", - "h2 0.3.21", - "http 0.2.9", - "httparse", - "httpdate", - "itoa", - "language-tags", - "local-channel", - "mime", - "percent-encoding", - "pin-project-lite", - "rand 0.8.5", - "sha1", - "smallvec", - "tokio", - "tokio-util", - "tracing", - "zstd 0.13.2", -] - -[[package]] -name = "actix-macros" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e01ed3140b2f8d422c68afa1ed2e85d996ea619c988ac834d255db32138655cb" -dependencies = [ - "quote", - "syn 2.0.94", -] - -[[package]] -name = "actix-router" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13d324164c51f63867b57e73ba5936ea151b8a41a1d23d1031eeb9f70d0236f8" -dependencies = [ - "bytestring", - "cfg-if", - "http 0.2.9", - "regex", - "regex-lite", - "serde", - "tracing", -] - -[[package]] -name = "actix-rt" -version = "2.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24eda4e2a6e042aa4e55ac438a2ae052d3b5da0ecf83d7411e1a368946925208" -dependencies = [ - "futures-core", - "tokio", -] - -[[package]] -name = "actix-server" -version = "2.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6398974fd4284f4768af07965701efbbb5fdc0616bff20cade1bb14b77675e24" -dependencies = [ - "actix-rt", - "actix-service", - "actix-utils", - "futures-core", - "futures-util", - "mio 1.0.3", - "socket2 0.5.5", - "tokio", - "tracing", -] - -[[package]] -name = "actix-service" -version = "2.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e46f36bf0e5af44bdc4bdb36fbbd421aa98c79a9bce724e1edeb3894e10dc7f" -dependencies = [ - "futures-core", - "pin-project-lite", -] - -[[package]] -name = "actix-tls" -version = "3.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac453898d866cdbecdbc2334fe1738c747b4eba14a677261f2b768ba05329389" -dependencies = [ - "actix-rt", - "actix-service", - "actix-utils", - "futures-core", - "impl-more", - "pin-project-lite", - "tokio", - "tokio-rustls 0.23.4", - "tokio-util", - "tracing", - "webpki-roots 0.22.6", -] - -[[package]] -name = "actix-utils" -version = "3.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88a1dcdff1466e3c2488e1cb5c36a71822750ad43839937f85d2f4d9f8b705d8" -dependencies = [ - "local-waker", - "pin-project-lite", -] - -[[package]] -name = "actix-web" -version = "4.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e43428f3bf11dee6d166b00ec2df4e3aa8cc1606aaa0b7433c146852e2f4e03b" -dependencies = [ - "actix-codec", - "actix-http", - "actix-macros", - "actix-router", - "actix-rt", - "actix-server", - "actix-service", - "actix-tls", - "actix-utils", - "actix-web-codegen", - "ahash 0.8.11", - "bytes", - "bytestring", - "cfg-if", - "cookie 0.16.2", - "derive_more", - "encoding_rs", - "futures-core", - "futures-util", - "itoa", - "language-tags", - "log", - "mime", - "once_cell", - "pin-project-lite", - "regex", - "serde", - "serde_json", - "serde_urlencoded", - "smallvec", - "socket2 0.5.5", - "time", - "url", -] - -[[package]] -name = "actix-web-codegen" -version = "4.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f591380e2e68490b5dfaf1dd1aa0ebe78d84ba7067078512b4ea6e4492d622b8" -dependencies = [ - "actix-router", - "proc-macro2", - "quote", - "syn 2.0.94", -] - -[[package]] -name = "actix-web-lab" -version = "0.20.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7675c1a84eec1b179c844cdea8488e3e409d8e4984026e92fa96c87dd86f33c6" -dependencies = [ - "actix-http", - "actix-router", - "actix-service", - "actix-utils", - "actix-web", - "actix-web-lab-derive", - "ahash 0.8.11", - "arc-swap", - "async-trait", - "bytes", - "bytestring", - "csv", - "derive_more", - "futures-core", - "futures-util", - "http 0.2.9", - "impl-more", - "itertools 0.12.1", - "local-channel", - "mediatype", - "mime", - "once_cell", - "pin-project-lite", - "regex", - "serde", - "serde_html_form", - "serde_json", - "tokio", - "tokio-stream", - "tracing", -] - -[[package]] -name = "actix-web-lab-derive" -version = "0.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9aa0b287c8de4a76b691f29dbb5451e8dd5b79d777eaf87350c9b0cbfdb5e968" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.94", -] - -[[package]] -name = "actix-ws" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "535aec173810be3ca6f25dd5b4d431ae7125d62000aa3cbae1ec739921b02cf3" -dependencies = [ - "actix-codec", - "actix-http", - "actix-web", - "futures-core", - "tokio", -] - [[package]] name = "addr2line" version = "0.21.0" @@ -342,58 +64,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "af-local-ai" -version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-LocalAI?rev=093d3f4916a7b924ac66b4f0a9d81cc5fcc72eaa#093d3f4916a7b924ac66b4f0a9d81cc5fcc72eaa" -dependencies = [ - "af-plugin", - "anyhow", - "bytes", - "reqwest 0.11.27", - "serde", - "serde_json", - "tokio", - "tokio-stream", - "tokio-util", - "tracing", -] - -[[package]] -name = "af-mcp" -version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-LocalAI?rev=093d3f4916a7b924ac66b4f0a9d81cc5fcc72eaa#093d3f4916a7b924ac66b4f0a9d81cc5fcc72eaa" -dependencies = [ - "anyhow", - "futures-util", - "mcp_daemon", - "serde", - "serde_json", - "tokio", - "tracing", -] - -[[package]] -name = "af-plugin" -version = "0.1.0" -source = "git+https://github.com/AppFlowy-IO/AppFlowy-LocalAI?rev=093d3f4916a7b924ac66b4f0a9d81cc5fcc72eaa#093d3f4916a7b924ac66b4f0a9d81cc5fcc72eaa" -dependencies = [ - "anyhow", - "cfg-if", - "crossbeam-utils", - "log", - "once_cell", - "parking_lot 0.12.1", - "serde", - "serde_json", - "thiserror 1.0.64", - "tokio", - "tokio-stream", - "tracing", - "winreg 0.55.0", - "xattr", -] - [[package]] name = "again" version = "0.1.2" @@ -574,15 +244,6 @@ dependencies = [ "zstd-safe 7.2.0", ] -[[package]] -name = "async-convert" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d416feee97712e43152cd42874de162b8f9b77295b1c85e5d92725cc8310bae" -dependencies = [ - "async-trait", -] - [[package]] name = "async-lock" version = "3.4.0" @@ -594,31 +255,6 @@ dependencies = [ "pin-project-lite", ] -[[package]] -name = "async-openai" -version = "0.19.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbc0b1877fb1bc415caa14d1899f0f477e8eb38f2fe16f54be196d7c4a92e15c" -dependencies = [ - "async-convert", - "backoff", - "base64 0.21.5", - "bytes", - "derive_builder 0.12.0", - "futures", - "rand 0.8.5", - "reqwest 0.11.27", - "reqwest-eventsource 0.4.0", - "secrecy 0.8.0", - "serde", - "serde_json", - "thiserror 1.0.64", - "tokio", - "tokio-stream", - "tokio-util", - "tracing", -] - [[package]] name = "async-openai" version = "0.28.1" @@ -629,13 +265,13 @@ dependencies = [ "backoff", "base64 0.22.1", "bytes", - "derive_builder 0.20.2", + "derive_builder", "eventsource-stream", "futures", "rand 0.8.5", "reqwest 0.12.15", - "reqwest-eventsource 0.6.0", - "secrecy 0.10.3", + "reqwest-eventsource", + "secrecy", "serde", "serde_json", "thiserror 2.0.12", @@ -961,7 +597,7 @@ version = "3.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b69edf39b6f321cb2699a93fc20c256adb839719c42676d03f7aa975e4e5581d" dependencies = [ - "darling 0.20.11", + "darling", "ident_case", "prettyplease", "proc-macro2", @@ -1075,15 +711,6 @@ dependencies = [ "serde", ] -[[package]] -name = "bytestring" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e465647ae23b2823b0753f50decb2d5a86d2bb2cac04788fafd1f80e45378e5f" -dependencies = [ - "bytes", -] - [[package]] name = "bzip2" version = "0.4.4" @@ -1275,7 +902,7 @@ dependencies = [ "tokio", "tokio-retry", "tokio-stream", - "tokio-tungstenite 0.20.1", + "tokio-tungstenite", "tokio-util", "tracing", "url", @@ -1310,7 +937,7 @@ dependencies = [ "percent-encoding", "thiserror 1.0.64", "tokio", - "tokio-tungstenite 0.20.1", + "tokio-tungstenite", "wasm-bindgen", "web-sys", ] @@ -1587,7 +1214,7 @@ dependencies = [ "protoc-bin-vendored", "serde", "serde_repr", - "tokio-tungstenite 0.20.1", + "tokio-tungstenite", "yrs", ] @@ -1707,23 +1334,6 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" -[[package]] -name = "convert_case" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" - -[[package]] -name = "cookie" -version = "0.16.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e859cd57d0710d9e06c381b550c06e76992472a8c6d527aecd2fc673dcc231fb" -dependencies = [ - "percent-encoding", - "time", - "version_check", -] - [[package]] name = "cookie" version = "0.18.1" @@ -1741,7 +1351,7 @@ version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2eac901828f88a5241ee0600950ab981148a18f2f756900ffba1b125ca6a3ef9" dependencies = [ - "cookie 0.18.1", + "cookie", "document-features", "idna 1.0.3", "log", @@ -1934,38 +1544,14 @@ dependencies = [ "cipher", ] -[[package]] -name = "darling" -version = "0.14.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b750cb3417fd1b327431a470f388520309479ab0bf5e323505daf0290cd3850" -dependencies = [ - "darling_core 0.14.4", - "darling_macro 0.14.4", -] - [[package]] name = "darling" version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee" dependencies = [ - "darling_core 0.20.11", - "darling_macro 0.20.11", -] - -[[package]] -name = "darling_core" -version = "0.14.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim 0.10.0", - "syn 1.0.109", + "darling_core", + "darling_macro", ] [[package]] @@ -1978,28 +1564,17 @@ dependencies = [ "ident_case", "proc-macro2", "quote", - "strsim 0.11.1", + "strsim", "syn 2.0.94", ] -[[package]] -name = "darling_macro" -version = "0.14.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e" -dependencies = [ - "darling_core 0.14.4", - "quote", - "syn 1.0.109", -] - [[package]] name = "darling_macro" version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" dependencies = [ - "darling_core 0.20.11", + "darling_core", "quote", "syn 2.0.94", ] @@ -2150,34 +1725,13 @@ dependencies = [ "syn 2.0.94", ] -[[package]] -name = "derive_builder" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d67778784b508018359cbc8696edb3db78160bab2c2a28ba7f56ef6932997f8" -dependencies = [ - "derive_builder_macro 0.12.0", -] - [[package]] name = "derive_builder" version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "507dfb09ea8b7fa618fcf76e953f4f5e192547945816d5358edffe39f6f94947" dependencies = [ - "derive_builder_macro 0.20.2", -] - -[[package]] -name = "derive_builder_core" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c11bdc11a0c47bc7d37d582b5285da6849c96681023680b906673c5707af7b0f" -dependencies = [ - "darling 0.14.4", - "proc-macro2", - "quote", - "syn 1.0.109", + "derive_builder_macro", ] [[package]] @@ -2186,29 +1740,19 @@ version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2d5bcf7b024d6835cfb3d473887cd966994907effbe9227e8c8219824d06c4e8" dependencies = [ - "darling 0.20.11", + "darling", "proc-macro2", "quote", "syn 2.0.94", ] -[[package]] -name = "derive_builder_macro" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebcda35c7a396850a55ffeac740804b40ffec779b98fffbb1738f4033f0ee79e" -dependencies = [ - "derive_builder_core 0.12.0", - "syn 1.0.109", -] - [[package]] name = "derive_builder_macro" version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c" dependencies = [ - "derive_builder_core 0.20.2", + "derive_builder_core", "syn 2.0.94", ] @@ -2218,10 +1762,8 @@ version = "0.99.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" dependencies = [ - "convert_case", "proc-macro2", "quote", - "rustc_version", "syn 1.0.109", ] @@ -2338,7 +1880,7 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "139ae9aca7527f85f26dd76483eb38533fd84bd571065da1739656ef71c5ff5b" dependencies = [ - "darling 0.20.11", + "darling", "either", "heck 0.5.0", "proc-macro2", @@ -2658,9 +2200,6 @@ dependencies = [ name = "flowy-ai" version = "0.1.0" dependencies = [ - "af-local-ai", - "af-mcp", - "af-plugin", "allo-isolate", "anyhow", "arc-swap", @@ -2764,8 +2303,6 @@ dependencies = [ name = "flowy-core" version = "0.1.0" dependencies = [ - "af-local-ai", - "af-plugin", "anyhow", "arc-swap", "base64 0.21.5", @@ -3073,7 +2610,7 @@ dependencies = [ "collab", "collab-folder", "dashmap 6.0.1", - "derive_builder 0.20.2", + "derive_builder", "flowy-codegen", "flowy-derive", "flowy-error", @@ -3982,20 +3519,6 @@ dependencies = [ "want", ] -[[package]] -name = "hyper-rustls" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d78e1e73ec14cf7375674f74d7dde185c8206fd9dea6fb6295e8a98098aaa97" -dependencies = [ - "futures-util", - "http 0.2.9", - "hyper 0.14.27", - "rustls 0.21.7", - "tokio", - "tokio-rustls 0.24.1", -] - [[package]] name = "hyper-rustls" version = "0.27.5" @@ -4006,13 +3529,13 @@ dependencies = [ "http 1.2.0", "hyper 1.5.2", "hyper-util", - "rustls 0.23.20", - "rustls-native-certs 0.8.0", + "rustls", + "rustls-native-certs", "rustls-pki-types", "tokio", - "tokio-rustls 0.26.1", + "tokio-rustls", "tower-service", - "webpki-roots 0.26.7", + "webpki-roots", ] [[package]] @@ -4311,12 +3834,6 @@ dependencies = [ "winapi-util", ] -[[package]] -name = "impl-more" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8a5a9a0ff0086c7a148acb942baaabeadf9504d10400b5a05645853729b9cd2" - [[package]] name = "include_dir" version = "0.7.4" @@ -4577,7 +4094,7 @@ name = "langchain-rust" version = "4.6.0" source = "git+https://github.com/appflowy/langchain-rust?branch=af#9a319193352331fa4e5ff1dd4de43a0fbc5d0cbd" dependencies = [ - "async-openai 0.28.1", + "async-openai", "async-recursion", "async-stream", "async-trait", @@ -4592,9 +4109,9 @@ dependencies = [ "readability", "regex", "reqwest 0.12.15", - "reqwest-eventsource 0.6.0", + "reqwest-eventsource", "scraper 0.21.0", - "secrecy 0.10.3", + "secrecy", "serde", "serde_json", "strum_macros 0.27.1", @@ -4607,12 +4124,6 @@ dependencies = [ "urlencoding", ] -[[package]] -name = "language-tags" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4345964bb142484797b161f473a503a434de77149dd8c7427788c6e13379388" - [[package]] name = "lazy_static" version = "1.4.0" @@ -4781,23 +4292,6 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4ce301924b7887e9d637144fdade93f9dfff9b60981d4ac161db09720d39aa5" -[[package]] -name = "local-channel" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6cbc85e69b8df4b8bb8b89ec634e7189099cea8927a276b7384ce5488e53ec8" -dependencies = [ - "futures-core", - "futures-sink", - "local-waker", -] - -[[package]] -name = "local-waker" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d873d7c67ce09b42110d801813efbc9364414e356be9935700d368351657487" - [[package]] name = "lock_api" version = "0.4.10" @@ -5014,40 +4508,6 @@ version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed1202b2a6f884ae56f04cff409ab315c5ce26b5e58d7412e484f01fd52f52ef" -[[package]] -name = "mcp_daemon" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed0bdbb83765c69f4bf506d318119a25776dbad54906de9c17c1eae566088100" -dependencies = [ - "actix-cors", - "actix-web", - "actix-web-lab", - "actix-ws", - "anyhow", - "async-openai 0.19.1", - "async-trait", - "bytes", - "bytestring", - "futures", - "futures-core", - "futures-util", - "jsonwebtoken", - "pin-project-lite", - "reqwest 0.12.15", - "rustls 0.20.9", - "rustls-pemfile 1.0.3", - "serde", - "serde_json", - "thiserror 1.0.64", - "tokio", - "tokio-stream", - "tokio-tungstenite 0.21.0", - "tracing", - "url", - "uuid", -] - [[package]] name = "md-5" version = "0.10.6" @@ -5073,12 +4533,6 @@ dependencies = [ "log", ] -[[package]] -name = "mediatype" -version = "0.19.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33746aadcb41349ec291e7f2f0a3aa6834d1d7c58066fb4b01f68efc4c4b7631" - [[package]] name = "memchr" version = "2.7.4" @@ -5174,7 +4628,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" dependencies = [ "libc", - "log", "wasi 0.11.0+wasi-snapshot-preview1", "windows-sys 0.52.0", ] @@ -6271,7 +5724,7 @@ dependencies = [ "quinn-proto", "quinn-udp", "rustc-hash 2.1.0", - "rustls 0.23.20", + "rustls", "socket2 0.5.5", "thiserror 2.0.12", "tokio", @@ -6289,7 +5742,7 @@ dependencies = [ "rand 0.8.5", "ring 0.17.8", "rustc-hash 2.1.0", - "rustls 0.23.20", + "rustls", "rustls-pki-types", "slab", "thiserror 2.0.12", @@ -6632,12 +6085,6 @@ dependencies = [ "regex-syntax 0.8.5", ] -[[package]] -name = "regex-lite" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53a49587ad06b26609c52e423de037e7f57f20d53535d66e08c695f347df952a" - [[package]] name = "regex-syntax" version = "0.6.29" @@ -6683,19 +6130,15 @@ dependencies = [ "http 0.2.9", "http-body 0.4.5", "hyper 0.14.27", - "hyper-rustls 0.24.1", "hyper-tls 0.5.0", "ipnet", "js-sys", "log", "mime", - "mime_guess", "native-tls", "once_cell", "percent-encoding", "pin-project-lite", - "rustls 0.21.7", - "rustls-native-certs 0.6.3", "rustls-pemfile 1.0.3", "serde", "serde_json", @@ -6704,15 +6147,12 @@ dependencies = [ "system-configuration 0.5.1", "tokio", "tokio-native-tls", - "tokio-rustls 0.24.1", - "tokio-util", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", - "wasm-streams", "web-sys", - "winreg 0.50.0", + "winreg", ] [[package]] @@ -6723,7 +6163,7 @@ checksum = "d19c46a6fdd48bc4dab94b6103fccc55d34c67cc0ad04653aad4ea2a07cd7bbb" dependencies = [ "base64 0.22.1", "bytes", - "cookie 0.18.1", + "cookie", "cookie_store", "encoding_rs", "futures-core", @@ -6733,7 +6173,7 @@ dependencies = [ "http-body 1.0.1", "http-body-util", "hyper 1.5.2", - "hyper-rustls 0.27.5", + "hyper-rustls", "hyper-tls 0.6.0", "hyper-util", "ipnet", @@ -6746,8 +6186,8 @@ dependencies = [ "percent-encoding", "pin-project-lite", "quinn", - "rustls 0.23.20", - "rustls-native-certs 0.8.0", + "rustls", + "rustls-native-certs", "rustls-pemfile 2.2.0", "rustls-pki-types", "serde", @@ -6757,7 +6197,7 @@ dependencies = [ "system-configuration 0.6.1", "tokio", "tokio-native-tls", - "tokio-rustls 0.26.1", + "tokio-rustls", "tokio-util", "tower 0.5.2", "tower-service", @@ -6766,26 +6206,10 @@ dependencies = [ "wasm-bindgen-futures", "wasm-streams", "web-sys", - "webpki-roots 0.26.7", + "webpki-roots", "windows-registry", ] -[[package]] -name = "reqwest-eventsource" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f03f570355882dd8d15acc3a313841e6e90eddbc76a93c748fd82cc13ba9f51" -dependencies = [ - "eventsource-stream", - "futures-core", - "futures-timer", - "mime", - "nom 7.1.3", - "pin-project-lite", - "reqwest 0.11.27", - "thiserror 1.0.64", -] - [[package]] name = "reqwest-eventsource" version = "0.6.0" @@ -6970,30 +6394,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "rustls" -version = "0.20.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b80e3dec595989ea8510028f30c408a4630db12c9cbb8de34203b89d6577e99" -dependencies = [ - "log", - "ring 0.16.20", - "sct", - "webpki", -] - -[[package]] -name = "rustls" -version = "0.21.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd8d6c9f025a446bc4d18ad9632e69aec8f287aa84499ee335599fabd20c3fd8" -dependencies = [ - "log", - "ring 0.16.20", - "rustls-webpki 0.101.4", - "sct", -] - [[package]] name = "rustls" version = "0.23.20" @@ -7003,23 +6403,11 @@ dependencies = [ "once_cell", "ring 0.17.8", "rustls-pki-types", - "rustls-webpki 0.102.8", + "rustls-webpki", "subtle", "zeroize", ] -[[package]] -name = "rustls-native-certs" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00" -dependencies = [ - "openssl-probe", - "rustls-pemfile 1.0.3", - "schannel", - "security-framework", -] - [[package]] name = "rustls-native-certs" version = "0.8.0" @@ -7060,16 +6448,6 @@ dependencies = [ "web-time", ] -[[package]] -name = "rustls-webpki" -version = "0.101.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d93931baf2d282fff8d3a532bbfd7653f734643161b87e3e01e59a04439bf0d" -dependencies = [ - "ring 0.16.20", - "untrusted 0.7.1", -] - [[package]] name = "rustls-webpki" version = "0.102.8" @@ -7220,32 +6598,12 @@ dependencies = [ "tendril", ] -[[package]] -name = "sct" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" -dependencies = [ - "ring 0.16.20", - "untrusted 0.7.1", -] - [[package]] name = "seahash" version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" -[[package]] -name = "secrecy" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bd1c54ea06cfd2f6b63219704de0b9b4f72dcc2b8fdef820be6cd799780e91e" -dependencies = [ - "serde", - "zeroize", -] - [[package]] name = "secrecy" version = "0.10.3" @@ -7368,19 +6726,6 @@ dependencies = [ "syn 2.0.94", ] -[[package]] -name = "serde_html_form" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d2de91cf02bbc07cde38891769ccd5d4f073d22a40683aa4bc7a95781aaa2c4" -dependencies = [ - "form_urlencoded", - "indexmap 2.9.0", - "itoa", - "ryu", - "serde", -] - [[package]] name = "serde_json" version = "1.0.140" @@ -7732,12 +7077,6 @@ dependencies = [ "unicode-properties", ] -[[package]] -name = "strsim" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" - [[package]] name = "strsim" version = "0.11.1" @@ -8404,34 +7743,13 @@ dependencies = [ "tokio", ] -[[package]] -name = "tokio-rustls" -version = "0.23.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59" -dependencies = [ - "rustls 0.20.9", - "tokio", - "webpki", -] - -[[package]] -name = "tokio-rustls" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" -dependencies = [ - "rustls 0.21.7", - "tokio", -] - [[package]] name = "tokio-rustls" version = "0.26.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f6d0975eaace0cf0fcadee4e4aaa5da15b5c079146f2cffb67c113be122bf37" dependencies = [ - "rustls 0.23.20", + "rustls", "tokio", ] @@ -8458,21 +7776,7 @@ dependencies = [ "native-tls", "tokio", "tokio-native-tls", - "tungstenite 0.20.1", -] - -[[package]] -name = "tokio-tungstenite" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c83b561d025642014097b66e6c1bb422783339e0909e4429cde4749d1990bc38" -dependencies = [ - "futures-util", - "log", - "native-tls", - "tokio", - "tokio-native-tls", - "tungstenite 0.21.0", + "tungstenite", ] [[package]] @@ -8804,26 +8108,6 @@ dependencies = [ "utf-8", ] -[[package]] -name = "tungstenite" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ef1a641ea34f399a848dea702823bbecfb4c486f911735368f1f137cb8257e1" -dependencies = [ - "byteorder", - "bytes", - "data-encoding", - "http 1.2.0", - "httparse", - "log", - "native-tls", - "rand 0.8.5", - "sha1", - "thiserror 1.0.64", - "url", - "utf-8", -] - [[package]] name = "twox-hash" version = "2.1.0" @@ -8986,7 +8270,6 @@ dependencies = [ "form_urlencoded", "idna 0.5.0", "percent-encoding", - "serde", ] [[package]] @@ -9076,7 +8359,7 @@ version = "0.18.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df0bcf92720c40105ac4b2dda2a4ea3aa717d4d6a862cc217da653a4bd5c6b10" dependencies = [ - "darling 0.20.11", + "darling", "once_cell", "proc-macro-error", "proc-macro2", @@ -9090,7 +8373,7 @@ version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bac855a2ce6f843beb229757e6e570a42e837bcb15e5f449dd48d5747d41bf77" dependencies = [ - "darling 0.20.11", + "darling", "once_cell", "proc-macro-error2", "proc-macro2", @@ -9274,25 +8557,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "webpki" -version = "0.22.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed63aea5ce73d0ff405984102c42de94fc55a6b75765d621c65262469b3c9b53" -dependencies = [ - "ring 0.17.8", - "untrusted 0.9.0", -] - -[[package]] -name = "webpki-roots" -version = "0.22.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87" -dependencies = [ - "webpki", -] - [[package]] name = "webpki-roots" version = "0.26.7" @@ -9645,16 +8909,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "winreg" -version = "0.55.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb5a765337c50e9ec252c2069be9bf91c7df47afb103b642ba3a53bf8101be97" -dependencies = [ - "cfg-if", - "windows-sys 0.59.0", -] - [[package]] name = "wit-bindgen-rt" version = "0.39.0" @@ -9706,17 +8960,6 @@ dependencies = [ "tap", ] -[[package]] -name = "xattr" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f" -dependencies = [ - "libc", - "linux-raw-sys", - "rustix", -] - [[package]] name = "xml5ever" version = "0.17.0" diff --git a/frontend/rust-lib/Cargo.toml b/frontend/rust-lib/Cargo.toml index ea3549b1a8..2b5ef59146 100644 --- a/frontend/rust-lib/Cargo.toml +++ b/frontend/rust-lib/Cargo.toml @@ -101,8 +101,6 @@ zip = "2.2.0" dashmap = "6.0.1" derive_builder = "0.20.2" tantivy = { version = "0.24.1" } -af-plugin = { version = "0.1" } -af-local-ai = { version = "0.1" } num_enum = "0.7.3" flowy-sqlite-vec = { path = "flowy-sqlite-vec" } @@ -157,12 +155,4 @@ collab-plugins = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlo collab-user = { version = "0.2", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "33f6844954f9b631693cac11aef573cf376d04f8" } collab-importer = { version = "0.1", git = "https://github.com/AppFlowy-IO/AppFlowy-Collab", rev = "33f6844954f9b631693cac11aef573cf376d04f8" } -# Working directory: frontend -# To update the commit ID, run: -# scripts/tool/update_local_ai_rev.sh new_rev_id -# ⚠️⚠️⚠️️ -af-local-ai = { version = "0.1", git = "https://github.com/AppFlowy-IO/AppFlowy-LocalAI", rev = "093d3f4916a7b924ac66b4f0a9d81cc5fcc72eaa" } -af-plugin = { version = "0.1", git = "https://github.com/AppFlowy-IO/AppFlowy-LocalAI", rev = "093d3f4916a7b924ac66b4f0a9d81cc5fcc72eaa" } -af-mcp = { version = "0.1", git = "https://github.com/AppFlowy-IO/AppFlowy-LocalAI", rev = "093d3f4916a7b924ac66b4f0a9d81cc5fcc72eaa" } - langchain-rust = { version = "4.6.0", git = "https://github.com/appflowy/langchain-rust", branch = "af" } \ No newline at end of file diff --git a/frontend/rust-lib/flowy-ai/Cargo.toml b/frontend/rust-lib/flowy-ai/Cargo.toml index 1aaafaa647..0611a74130 100644 --- a/frontend/rust-lib/flowy-ai/Cargo.toml +++ b/frontend/rust-lib/flowy-ai/Cargo.toml @@ -35,8 +35,6 @@ serde_json = { workspace = true } anyhow = "1.0.86" tokio-stream.workspace = true tokio-util = { workspace = true, features = ["full"] } -af-local-ai = { workspace = true } -af-plugin = { workspace = true } reqwest = { version = "0.11.27", features = ["json"] } sha2 = "0.10.7" base64 = "0.21.5" @@ -55,7 +53,6 @@ flowy-sqlite-vec.workspace = true [target.'cfg(any(target_os = "macos", target_os = "linux", target_os = "windows"))'.dependencies] notify = "6.1.1" -af-mcp = { version = "0.1.0" } lopdf = { version = "0.36.0", optional = true } pulldown-cmark = { version = "0.13.0", optional = true } diff --git a/frontend/rust-lib/flowy-ai/src/entities.rs b/frontend/rust-lib/flowy-ai/src/entities.rs index 2254336cbc..44dfeb25f3 100644 --- a/frontend/rust-lib/flowy-ai/src/entities.rs +++ b/frontend/rust-lib/flowy-ai/src/entities.rs @@ -1,6 +1,5 @@ use crate::local_ai::controller::LocalAISetting; use crate::local_ai::resource::PendingResource; -use af_plugin::core::plugin::RunningState; use flowy_ai_pub::cloud::{ AIModel, ChatMessage, ChatMessageType, CompletionMessage, LLMModel, OutputContent, OutputLayout, RelatedQuestion, RepeatedChatMessage, RepeatedRelatedQuestion, ResponseFormat, @@ -570,19 +569,6 @@ pub enum RunningStatePB { Stopped = 4, } -impl From for RunningStatePB { - fn from(value: RunningState) -> Self { - match value { - RunningState::ReadyToConnect => RunningStatePB::ReadyToRun, - RunningState::Connecting => RunningStatePB::Connecting, - RunningState::Connected { .. } => RunningStatePB::Connected, - RunningState::Running { .. } => RunningStatePB::Running, - RunningState::Stopped { .. } => RunningStatePB::Stopped, - RunningState::UnexpectedStop { .. } => RunningStatePB::Stopped, - } - } -} - #[derive(Default, ProtoBuf, Clone, Debug)] pub struct LocalAIPB { #[pb(index = 1)] diff --git a/frontend/rust-lib/flowy-ai/src/local_ai/mod.rs b/frontend/rust-lib/flowy-ai/src/local_ai/mod.rs index 05a9cad849..a040ec5d23 100644 --- a/frontend/rust-lib/flowy-ai/src/local_ai/mod.rs +++ b/frontend/rust-lib/flowy-ai/src/local_ai/mod.rs @@ -7,4 +7,3 @@ pub mod completion; pub mod database; pub mod prompt; pub mod stream_util; -pub mod watch; diff --git a/frontend/rust-lib/flowy-ai/src/local_ai/stream_util.rs b/frontend/rust-lib/flowy-ai/src/local_ai/stream_util.rs index fbe4157c8c..3cef3eaafb 100644 --- a/frontend/rust-lib/flowy-ai/src/local_ai/stream_util.rs +++ b/frontend/rust-lib/flowy-ai/src/local_ai/stream_util.rs @@ -1,65 +1,2 @@ -use af_plugin::error::PluginError; - -use flowy_ai_pub::cloud::QuestionStreamValue; -use flowy_error::FlowyError; -use futures::{ready, Stream}; -use pin_project::pin_project; -use serde_json::Value; -use std::pin::Pin; -use std::task::{Context, Poll}; -use tracing::error; - pub const STEAM_METADATA_KEY: &str = "0"; pub const STEAM_ANSWER_KEY: &str = "1"; - -#[pin_project] -pub struct QuestionStream { - stream: Pin> + Send>>, - buffer: Vec, -} - -impl QuestionStream { - pub fn new(stream: S) -> Self - where - S: Stream> + Send + 'static, - { - QuestionStream { - stream: Box::pin(stream), - buffer: Vec::new(), - } - } -} - -impl Stream for QuestionStream { - type Item = Result; - - fn poll_next(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll> { - let this = self.project(); - - match ready!(this.stream.as_mut().poll_next(cx)) { - Some(Ok(value)) => match value { - Value::Object(mut value) => { - if let Some(metadata) = value.remove(STEAM_METADATA_KEY) { - return Poll::Ready(Some(Ok(QuestionStreamValue::Metadata { value: metadata }))); - } - - if let Some(answer) = value - .remove(STEAM_ANSWER_KEY) - .and_then(|s| s.as_str().map(ToString::to_string)) - { - return Poll::Ready(Some(Ok(QuestionStreamValue::Answer { value: answer }))); - } - - error!("Invalid streaming value: {:?}", value); - Poll::Ready(None) - }, - _ => { - error!("Unexpected JSON value type: {:?}", value); - Poll::Ready(None) - }, - }, - Some(Err(err)) => Poll::Ready(Some(Err(FlowyError::local_ai().with_context(err)))), - None => Poll::Ready(None), - } - } -} diff --git a/frontend/rust-lib/flowy-ai/src/local_ai/watch.rs b/frontend/rust-lib/flowy-ai/src/local_ai/watch.rs deleted file mode 100644 index 2baed3f0a5..0000000000 --- a/frontend/rust-lib/flowy-ai/src/local_ai/watch.rs +++ /dev/null @@ -1,60 +0,0 @@ -use crate::local_ai::resource::WatchDiskEvent; -use af_plugin::core::path::{install_path, ollama_plugin_path}; -use flowy_error::{FlowyError, FlowyResult}; -use std::path::PathBuf; -use tokio::sync::mpsc::{unbounded_channel, UnboundedReceiver}; -use tracing::{error, trace}; - -#[cfg(any(target_os = "windows", target_os = "macos", target_os = "linux"))] -#[allow(dead_code)] -pub struct WatchContext { - watcher: notify::RecommendedWatcher, - pub path: PathBuf, -} - -#[cfg(any(target_os = "windows", target_os = "macos", target_os = "linux"))] -#[allow(dead_code)] -pub fn watch_offline_app() -> FlowyResult<(WatchContext, UnboundedReceiver)> { - use notify::{Event, Watcher}; - - let install_path = install_path().ok_or_else(|| { - FlowyError::internal().with_context("Unsupported platform for offline app watching") - })?; - let (tx, rx) = unbounded_channel(); - let app_path = ollama_plugin_path(); - let mut watcher = notify::recommended_watcher(move |res: Result| match res { - Ok(event) => { - if event.paths.iter().any(|path| path == &app_path) { - trace!("watch event: {:?}", event); - match event.kind { - notify::EventKind::Create(_) => { - if let Err(err) = tx.send(WatchDiskEvent::Create) { - error!("watch send error: {:?}", err) - } - }, - notify::EventKind::Remove(_) => { - if let Err(err) = tx.send(WatchDiskEvent::Remove) { - error!("watch send error: {:?}", err) - } - }, - _ => { - trace!("unhandle watch event: {:?}", event); - }, - } - } - }, - Err(e) => error!("watch error: {:?}", e), - }) - .map_err(|err| FlowyError::internal().with_context(err))?; - watcher - .watch(&install_path, notify::RecursiveMode::NonRecursive) - .map_err(|err| FlowyError::internal().with_context(err))?; - - Ok(( - WatchContext { - watcher, - path: install_path, - }, - rx, - )) -} diff --git a/frontend/rust-lib/flowy-core/Cargo.toml b/frontend/rust-lib/flowy-core/Cargo.toml index 647cde1ac8..bf3d84ef56 100644 --- a/frontend/rust-lib/flowy-core/Cargo.toml +++ b/frontend/rust-lib/flowy-core/Cargo.toml @@ -38,8 +38,6 @@ flowy-storage-pub = { workspace = true } client-api.workspace = true flowy-ai = { workspace = true } flowy-ai-pub = { workspace = true } -af-local-ai = { workspace = true } -af-plugin = { workspace = true } tracing.workspace = true