[package]
name = "weft-core"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
description = "OpenAI-compatible AI agent runtime with WASM capability plugin system"
readme = "../../README.md"
documentation = "https://docs.rs/weft-core"
keywords = ["ai", "llm", "openai", "agent", "wasm"]
categories = ["api-bindings", "web-programming::http-server"]
exclude = ["examples/**"]
[features]
default = []
embed-flutter = ["dep:flutter_rust_bridge"]
[lib]
name = "weft_core"
crate-type = ["lib", "cdylib"]
[[bin]]
name = "weft-core"
path = "src/main.rs"
[[bin]]
name = "weft-sign"
path = "src/bin/weft-sign.rs"
[[bin]]
name = "weft"
path = "src/bin/weft.rs"
[[bin]]
name = "weft-rpc"
path = "src/bin/weft-rpc.rs"
[dependencies]
weft-package-sdk = { path = "../weft-package-sdk", version = "0.1.0" }
tokio = { version = "1", features = ["full"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
anyhow = "1"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
axum = { version = "0.8", features = ["ws"] }
tower = { version = "0.5", features = ["util"] }
tower-http = { version = "0.6", features = ["cors", "fs"] }
reqwest = { version = "0.12", features = ["json", "stream", "blocking", "native-tls"] }
once_cell = "1"
flutter_rust_bridge = { version = "=2.12.0", optional = true }
extism = "1.9"
toml = "0.8"
bytes = "1"
futures-util = "0.3"
async-trait = "0.1"
rand = "0.8"
async-stream = "0.3"
uuid = { version = "1", features = ["v4"] }
lazy_static = "1.4"
rusqlite = { version = "0.37", features = ["bundled"] }
base64 = "0.22"
sha2 = "0.10"
libloading = "0.8"
ed25519-dalek = { version = "2", features = ["rand_core"] }
[dev-dependencies]
tempfile = "3"
http-body-util = "0.1"
toml = "0.8"
[target.'cfg(windows)'.dependencies]
windows-sys = { version = "0.59", features = ["Win32_Foundation", "Win32_System_JobObjects", "Win32_System_Threading"] }
[target.'cfg(unix)'.dependencies]
libc = "0.2"