[package]
name = "lex-runtime"
description = "Effect handler runtime + capability policy for Lex."
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
authors.workspace = true
keywords.workspace = true
categories.workspace = true
[dependencies]
serde.workspace = true
serde_json.workspace = true
thiserror.workspace = true
indexmap.workspace = true
sha2.workspace = true
hmac = "0.13"
ed25519-dalek = "2"
p256 = { version = "0.13", default-features = false, features = ["ecdsa", "std"] }
k256 = { version = "0.13", default-features = false, features = ["ecdsa", "std"] }
sha3 = "0.12"
blake2 = "0.10"
aes-gcm = "0.10"
aes = "0.8"
cbc = { version = "0.1", features = ["alloc"] }
chacha20poly1305 = "0.10"
pbkdf2 = { version = "0.13", default-features = false }
hkdf = "0.13"
argon2 = "0.5"
regex = "1"
sled = "0.34"
walkdir = "2"
glob = "0.3"
chrono = "0.4"
chrono-tz = "0.10"
md-5 = "0.11"
base64 = "0.22"
bs58 = "0.5"
hex = "0.4"
subtle = "2.6"
rand = { version = "0.10", features = ["sys_rng"] }
tiny_http = { version = "0.12", features = ["ssl-rustls"] }
tokio = { version = "1", features = ["rt-multi-thread", "net"] }
hyper = { version = "1", features = ["http1", "http2", "server"] }
hyper-util = { version = "0.1", features = ["tokio", "server-auto", "http1", "http2"] }
http-body-util = "0.1"
bytes = "1"
tungstenite = { version = "0.29", features = ["rustls-tls-webpki-roots"] }
ureq = { version = "3.3", default-features = false, features = ["rustls", "platform-verifier"] }
quinn = { version = "0.11", optional = true, default-features = false, features = ["runtime-tokio", "rustls", "ring"] }
h3 = { version = "0.0.8", optional = true }
h3-quinn = { version = "0.0.10", optional = true }
rustls = { version = "0.23", optional = true, default-features = false, features = ["ring", "std"] }
rustls-pemfile = { version = "2", optional = true }
rcgen = { version = "0.14", optional = true, default-features = false, features = ["ring", "pem"] }
toml = "1.1"
serde_yaml = "0.9"
csv = "1"
rusqlite = { version = "0.40", features = ["bundled"] }
postgres = "0.19"
redis = "1.2"
arrow-array = "58"
arrow-schema = "58"
arrow-select = "58"
arrow-arith = "58"
arrow-cast = "58"
arrow-csv = "58"
parquet = { version = "58", default-features = false, features = ["arrow", "snap"] }
polars = { version = "0.54", optional = true, default-features = false, features = ["lazy", "is_in", "csv", "performant", "strings", "temporal", "cross_join"] }
lex-bytecode = { path = "../lex-bytecode", version = "0.11.0" }
lex-store = { path = "../lex-store", version = "0.11.0", default-features = false }
lex-types = { path = "../lex-types", version = "0.11.0" }
lex-ast = { path = "../lex-ast", version = "0.11.0" }
smol_str = { workspace = true }
[features]
default = ["df"]
df = ["dep:polars"]
quic = ["dep:quinn", "dep:h3", "dep:h3-quinn", "dep:rustls", "dep:rustls-pemfile", "dep:rcgen"]
[dev-dependencies]
lex-syntax = { path = "../lex-syntax", version = "0.11.0" }
tempfile = "3"