Skip to content

Commit

Permalink
Merge pull request #48 from njfio/v05-development
Browse files Browse the repository at this point in the history
Create fluent-sdk for Centralized Functionality and Organize Rust Dependencies
  • Loading branch information
gracig authored Aug 12, 2024
2 parents 68a207c + ea8e26e commit 754daeb
Show file tree
Hide file tree
Showing 11 changed files with 383 additions and 165 deletions.
55 changes: 48 additions & 7 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ members = [
"crates/fluent-core",
"crates/fluent-engines",
"crates/fluent-storage",
"crates/fluent-sdk",
"crates/fluent-lambda",
]

Expand All @@ -17,16 +18,56 @@ 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"] }
fluent-sdk = { path = "crates/fluent-sdk" }
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" }
fluent-sdk = { path = "crates/fluent-sdk" }
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"
rust-stemmers = "^1.2"
stop-words = "^0.8"
base64 = "^0.22"
url = "^2.5"
termimad = "^0.30"
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"
24 changes: 12 additions & 12 deletions crates/fluent-cli/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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"
40 changes: 20 additions & 20 deletions crates/fluent-core/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,29 +5,29 @@ version = "0.1.0"
edition = "2021"

[dependencies]
reqwest = { version = "0.12.5", default-features = false, features = [
neo4rs = { workspace = true }
reqwest = { workspace = true, 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
Expand Down
41 changes: 16 additions & 25 deletions crates/fluent-engines/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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"] }
17 changes: 9 additions & 8 deletions crates/fluent-lambda/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,14 @@ 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"] }
fluent-sdk.workspace = true
serde = { workspace = true }
lambda_runtime = { workspace = true }
serde_json = { workspace = true }
tracing-subscriber = { workspace = true }
tracing = { workspace = true }
strum = { workspace = true, features = ["derive"] }
19 changes: 15 additions & 4 deletions crates/fluent-lambda/src/main.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
use fluent_lambda::{run, Request, Response};
use fluent_sdk::FluentRequest;
use lambda_runtime::{service_fn, Error, LambdaEvent};
use serde::{Deserialize, Serialize};

#[derive(Debug, Deserialize, Serialize)]
pub struct Response {
pub data: fluent_core::types::Response,
}

#[tokio::main]
async fn main() -> Result<(), Error> {
Expand All @@ -8,13 +14,18 @@ async fn main() -> Result<(), Error> {
.with_target(false)
.without_time()
.init();
lambda_runtime::run(service_fn(|event: LambdaEvent<Request>| async {
lambda_runtime::run(service_fn(|event: LambdaEvent<FluentRequest>| async {
lambda_handler(event).await
}))
.await
}

#[tracing::instrument(skip(event), fields(req_id = %event.context.request_id))]
async fn lambda_handler(event: LambdaEvent<Request>) -> Result<Response, Error> {
run(event.payload).await.map_err(Error::from)
async fn lambda_handler(event: LambdaEvent<FluentRequest>) -> Result<Response, Error> {
event
.payload
.run()
.await
.map_err(Error::from)
.map(|r| Response { data: r.data })
}
1 change: 1 addition & 0 deletions crates/fluent-sdk/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/target
15 changes: 15 additions & 0 deletions crates/fluent-sdk/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
[package]
name = "fluent-sdk"
version = "0.1.0"
edition = "2021"


[dependencies]
tokio = { workspace = true, features = ["macros"] }
anyhow = { workspace = true }
fluent-core.workspace = true
fluent-engines.workspace = true
serde = { workspace = true }
serde_json = { workspace = true }
strum = { workspace = true, features = ["derive"] }
async-trait = { workspace = true }
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"engines": [
{
"name": "openai",
"name": "openai-chat-completions",
"engine": "openai",
"connection": {
"protocol": "https",
Expand All @@ -17,6 +17,7 @@
"temperature": 1.0,
"top_p": 1,
"n": 1,
"stop": null,
"stream": false,
"presence_penalty": 0,
"frequency_penalty": 0
Expand Down
Loading

0 comments on commit 754daeb

Please sign in to comment.