[package]
name = "loopflow"
version.workspace = true
edition.workspace = true
license.workspace = true
description = "Run steps and flows with coding agents"
repository = "https://github.com/loopflowstudio/loopflow"
keywords = ["ai", "llm", "agent", "workflow", "automation"]
categories = ["development-tools", "command-line-utilities"]
[lib]
crate-type = ["rlib"]
[[bin]]
name = "lf"
path = "src/bin/lf.rs"
[[bin]]
name = "lf-prompt"
path = "src/bin/lf-prompt.rs"
[[bin]]
name = "lfd"
path = "src/bin/lfd.rs"
[dependencies]
clap = { version = "4.6", features = ["derive", "env"] }
dirs = "6"
ignore = "0.4"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
serde_urlencoded = "0.7"
serde_yaml_ng = "0.10"
tracing = "0.1"
thiserror = "2.0"
tiktoken-rs = "0.12"
fancy-regex = "0.19"
uuid = { version = "1", features = ["v4"] }
chrono = { version = "0.4", default-features = false, features = ["clock", "serde"] }
rand = "0.10"
once_cell = "1"
regex = "1"
rpassword = "7"
sha2 = "0.10"
hex = "0.4"
secrecy = { version = "0.8", features = ["serde"] }
subtle = "2"
anyhow = "1"
ctrlc = { version = "3", features = ["termination"] }
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
async-trait = "0.1"
aes-gcm = "0.10"
axum = { version = "0.8", features = ["ws"] }
base64 = "0.23"
bytes = "1"
cron = "0.17"
futures-util = "0.3"
gethostname = "1.1"
hmac = "0.12"
ipnet = "2"
libc = "0.2"
reqwest = { version = "0.13", features = ["blocking", "json", "stream"] }
rusqlite = { version = "0.40", features = ["backup", "bundled"] }
fs2 = "0.4"
time = { version = "0.3", features = ["formatting", "parsing", "serde"] }
tokio = { version = "1", features = ["io-util", "macros", "process", "rt-multi-thread", "signal", "sync", "time"] }
tokio-stream = { version = "0.1", features = ["sync"] }
tokio-tungstenite = { version = "0.29", features = ["rustls-tls-webpki-roots"] }
tokio-util = { version = "0.7", features = ["rt"] }
tower-http = { version = "0.7", features = ["trace"] }
tempfile = "3.27"
[dev-dependencies]
loopflow-test-support = { path = "../loopflow-test-support" }
tokio = { version = "1", features = ["test-util"] }
[build-dependencies]
hex = "0.4"
sha2 = "0.10"
[[bench]]
name = "wave_stream"
harness = false