From 6728c2fd6c79ef4515d4a0326ccfdb19111a7cef Mon Sep 17 00:00:00 2001 From: gracig <15052330+gracig@users.noreply.github.com> Date: Fri, 9 Aug 2024 14:22:02 -0300 Subject: [PATCH 01/13] Refactor rust versions --- Cargo.toml | 52 +++++++++++++++++++++++++++----- crates/fluent-cli/Cargo.toml | 24 +++++++-------- crates/fluent-core/Cargo.toml | 38 +++++++++++------------ crates/fluent-engines/Cargo.toml | 41 ++++++++++--------------- crates/fluent-lambda/Cargo.toml | 16 +++++----- 5 files changed, 100 insertions(+), 71 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 941fb28..22ef3b7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -17,16 +17,54 @@ fluent-cli = { path = "crates/fluent-cli" } fluent-core = { path = "crates/fluent-core" } fluent-engines = { path = "crates/fluent-engines" } fluent-storage = { path = "crates/fluent-storage" } -tokio = { version = "1", features = ["full"] } -clap = { version = "4.5.8", features = ["derive"] } -anyhow = "1.0" -env_logger = "0.11.3" -neo4rs = "0.8.0" -chrono = { version = "0.4", features = ["serde"] } -uuid = { version = "1.3", features = ["v4", "serde"] } +tokio = { workspace = true, features = ["full"] } +clap = { workspace = true, features = ["derive"] } +anyhow = { workspace = true } +env_logger = { workspace = true } +neo4rs = { workspace = true } +chrono = { workspace = true, features = ["serde"] } +uuid = { workspace = true, features = ["v4", "serde"] } [workspace.dependencies] +reqwest = { version = "^0.12", default-features = false, features = [ + "json", + "stream", + "multipart", + "rustls-tls", +] } fluent-cli = { path = "crates/fluent-cli" } fluent-core = { path = "crates/fluent-core" } fluent-engines = { path = "crates/fluent-engines" } fluent-storage = { path = "crates/fluent-storage" } +serde = { version = "^1.0" } +lambda_runtime = "^0.13" +serde_json = "^1.0" +tracing-subscriber = "^0.3" +tracing = "^0.1" +tokio = { version = "^1" } +anyhow = { version = "^1.0" } +strum = { version = "^0.26" } +clap = { version = "^4.5" } +env_logger = { version = "^0.11" } +neo4rs = { version = "^0.8" } +chrono = { version = "^0.4" } +uuid = { version = "^1.3" } +indicatif = "^0.17" +owo-colors = "^4.0" +regex = "^1.10" +serde_yaml = "^0.9" +async-trait = "^0.1" +log = "^0.4" +unicode-segmentation = "1.11.0" +rust-stemmers = "1.2.0" +stop-words = "0.8.0" +base64 = "0.22.1" +url = "^2.5" +termimad = "^0.29" +syntect = "^5.2" +pdf-extract = "^0.7" +tokio-util = { version = "^0.7" } +mime_guess = { version = "^2.0" } +futures-util = { version = "^0.3" } +tempfile = "^3.10" +futures = "^0.3" diff --git a/crates/fluent-cli/Cargo.toml b/crates/fluent-cli/Cargo.toml index a02573d..fde0e8d 100644 --- a/crates/fluent-cli/Cargo.toml +++ b/crates/fluent-cli/Cargo.toml @@ -6,18 +6,18 @@ default-run = "fluent-cli" [dependencies] -clap = { version = "4.5.8", features = ["derive"] } -fluent-core = { path = "../fluent-core" } -fluent-engines = { path = "../fluent-engines" } -tokio = { version = "1", features = ["full"] } -anyhow = "1.0" -log = "0.4.22" -uuid = { version = "1.9.1", features = ["v4"] } -serde_json = "1.0.120" -indicatif = "0.17.8" -owo-colors = "4.0.0" -regex = "1.10.5" -serde_yaml = "0.9.34" +clap = { workspace = true, features = ["derive"] } +fluent-core = { workspace = true } +fluent-engines = { workspace = true } +tokio = { workspace = true, features = ["full"] } +anyhow = { workspace = true } +log = { workspace = true } +uuid = { workspace = true, features = ["v4"] } +serde_json = { workspace = true } +indicatif = { workspace = true } +owo-colors = { workspace = true } +regex = { workspace = true } +serde_yaml = { workspace = true } #fluent-storage = { path = "../fluent-storage" } # is not used #clap_complete = "4.5.1" #is not used #atty = "0.2.14" "use standard std::io::IsTerminal" diff --git a/crates/fluent-core/Cargo.toml b/crates/fluent-core/Cargo.toml index 89bf422..4f249ac 100644 --- a/crates/fluent-core/Cargo.toml +++ b/crates/fluent-core/Cargo.toml @@ -5,29 +5,29 @@ version = "0.1.0" edition = "2021" [dependencies] +neo4rs = { workspace = true } reqwest = { version = "0.12.5", default-features = false, features = [ "json", "rustls-tls", ] } -serde = { version = "1.0", features = ["derive"] } -anyhow = "1.0" -serde_json = "1.0.120" -async-trait = "0.1.80" -log = "0.4.22" -chrono = "0.4.38" -uuid = { version = "1.9.1", features = ["v4"] } -neo4rs = "0.7.1" -unicode-segmentation = "1.11.0" -rust-stemmers = "1.2.0" -stop-words = "0.8.0" -base64 = "0.22.1" -tokio = "1.39.2" -regex = "1.10.6" -url = "2.5.2" -termimad = "0.29.4" -syntect = "5.2.0" -owo-colors = "4.0.0" -pdf-extract = "0.7.7" +serde = { workspace = true, features = ["derive"] } +anyhow = { workspace = true } +serde_json = { workspace = true } +async-trait = { workspace = true } +log = { workspace = true } +chrono = { workspace = true } +uuid = { workspace = true, features = ["v4"] } +unicode-segmentation = { workspace = true } +rust-stemmers = { workspace = true } +stop-words = { workspace = true } +base64 = { workspace = true } +tokio = { workspace = true } +regex = { workspace = true } +url = { workspace = true } +termimad = { workspace = true } +syntect = { workspace = true } +owo-colors = { workspace = true } +pdf-extract = { workspace = true } #rust-bert = { version = "0.18.0" } #Is not used diff --git a/crates/fluent-engines/Cargo.toml b/crates/fluent-engines/Cargo.toml index e953b5b..a9e448c 100644 --- a/crates/fluent-engines/Cargo.toml +++ b/crates/fluent-engines/Cargo.toml @@ -5,28 +5,19 @@ version = "0.1.0" edition = "2021" [dependencies] -fluent-core = { path = "../fluent-core" } -reqwest = { version = "0.12.5", default-features = false, features = [ - "json", - "stream", - "multipart", - "rustls-tls", -] } -serde_json = "1.0.120" -anyhow = "1.0.86" -async-trait = "0.1.80" -log = "0.4.22" -tokio = "1.38.0" -tokio-util = "0.7.11" -base64 = "0.22.1" -mime_guess = "2.0.3" -serde = { version = "1.0.204", features = ["derive"] } -uuid = "1.9.1" -futures-util = "0.3.30" -tempfile = "3.10.1" -futures = "0.3.30" -strum = { version = "0.26.3", features = ["derive"] } - - -#indicatif = "0.17.8" -#clap = "4.5.8" +fluent-core = { workspace = true } +reqwest = { workspace = true } +serde_json = { workspace = true } +anyhow = { workspace = true } +async-trait = { workspace = true } +log = { workspace = true } +tokio = { workspace = true } +tokio-util = { workspace = true } +base64 = { workspace = true } +mime_guess = { workspace = true } +serde = { workspace = true, features = ["derive"] } +uuid = { workspace = true } +futures-util = { workspace = true } +tempfile = { workspace = true } +futures = { workspace = true } +strum = { workspace = true, features = ["derive"] } diff --git a/crates/fluent-lambda/Cargo.toml b/crates/fluent-lambda/Cargo.toml index 97f9903..4245efb 100644 --- a/crates/fluent-lambda/Cargo.toml +++ b/crates/fluent-lambda/Cargo.toml @@ -5,13 +5,13 @@ edition = "2021" [dependencies] +tokio = { workspace = true, features = ["macros"] } +anyhow = { workspace = true } fluent-core.workspace = true fluent-engines.workspace = true -serde = { version = "1.0" } -lambda_runtime = "0.13.0" -serde_json = "1.0.122" -tracing-subscriber = "0.3.18" -tracing = "0.1.40" -tokio = { version = "1", features = ["macros"] } -anyhow = "1.0.86" -strum = { version = "0.26.3", features = ["derive"] } +serde = { workspace = true } +lambda_runtime = { workspace = true } +serde_json = { workspace = true } +tracing-subscriber = { workspace = true } +tracing = { workspace = true } +strum = { workspace = true, features = ["derive"] } From 4d0c1c166492616d9941804b1e7b8bdb9e547288 Mon Sep 17 00:00:00 2001 From: gracig <15052330+gracig@users.noreply.github.com> Date: Fri, 9 Aug 2024 14:52:26 -0300 Subject: [PATCH 02/13] Simplifies parameters overriding --- crates/fluent-lambda/src/lib.rs | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/crates/fluent-lambda/src/lib.rs b/crates/fluent-lambda/src/lib.rs index 9506a14..5a9127e 100644 --- a/crates/fluent-lambda/src/lib.rs +++ b/crates/fluent-lambda/src/lib.rs @@ -14,12 +14,7 @@ pub async fn run(request: Request) -> anyhow::Result { let config_content = include_str!("config.json"); - let overrides = request - .overrides - .unwrap_or_default() - .into_iter() - .map(|kv| (kv.key, kv.value)) - .collect::>(); + let overrides = request.overrides.unwrap_or_default(); let credentials = request .credentials @@ -30,7 +25,7 @@ pub async fn run(request: Request) -> anyhow::Result { let user_prompt = request .request - .ok_or_else(|| anyhow!("Prompt is required"))?; + .ok_or_else(|| anyhow!("Request is required"))?; let engine_config = load_engine_config(config_content, &engine_name, &overrides, &credentials)?; @@ -193,19 +188,19 @@ pub enum Template { #[derive(Debug, Deserialize, Serialize)] pub struct Request { // The template to use (openai or anthropic) - engine: Option