[package]
name = "cratefield-runtime-native"
description = "Native (tokio) runtime for the Cratefield harness: axum on a TcpListener, reqwest over rustls, Redis ports, in-process cron"
readme = "README.md"
keywords = ["cratefield", "tokio", "axum", "redis", "self-hosted"]
categories = ["web-programming"]
include = ["src/**/*", "README.md"]
version = "0.4.7"
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
[lints]
workspace = true
[features]
push = ["dep:cratefield-push-wiring"]
[dependencies]
cratefield-core = { workspace = true }
cratefield-auth-client = { workspace = true }
cratefield-push-wiring = { workspace = true, optional = true }
async-trait = { workspace = true }
axum = { workspace = true, features = ["tokio", "http1"] }
http = { workspace = true }
bytes = { workspace = true }
futures-core = { workspace = true }
futures-util = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
thiserror = { workspace = true }
time = { workspace = true }
tracing = { workspace = true }
[target.'cfg(not(any(target_arch = "wasm32", target_arch = "wasm64")))'.dependencies]
tokio = { workspace = true, features = ["time", "net", "signal", "fs", "sync"] }
tokio-util = { version = "0.7.19", features = ["io"] }
reqwest = { version = "0.12.28", default-features = false, features = [
"rustls-tls",
] }
redis = { version = "1.7.0", default-features = false, features = [
"tokio-comp",
"connection-manager",
"script",
] }
croner = { version = "4.0.0", default-features = false, features = [
"chrono",
] }
chrono = { version = "0.4.42", default-features = false }
tracing-subscriber = { version = "0.3.23", default-features = false, features = [
"fmt",
"env-filter",
"std",
] }
[dev-dependencies]
cratefield-adapter-sqlite = { path = "../adapter-sqlite" }
cratefield-adapter-anthropic = { path = "../adapter-anthropic" }
cratefield-adapter-openai-compatible = { path = "../adapter-openai-compatible" }
cratefield-testing = { path = "../testing" }
tokio = { workspace = true, features = ["test-util"] }
serde_json = { workspace = true }
http = { workspace = true }
bytes = { workspace = true }