[workspace] members = [ "src/chat", "src/cmd", "src/engine-core-client", "src/llm", "src/managed-engine", "src/metrics", "src/mock-engine", "src/reasoning-parser", "src/server", "src/text", "src/tokenizer", "src/tool-parser", ] resolver = "3" [workspace.package] version = "0.1.0" edition = "2024" license = "Apache-2.0" [workspace.dependencies] anyhow = "1.0.100" arc-swap = "1.9.0" async-openai = "0.33.1" async-trait = "0.1.89" asynk-strim-attr = "0.1.0" axum = "0.8.8" base64 = "0.22.1" bytemuck = { version = "1.25.0", features = ["extern_crate_alloc"] } byteorder = "1.5.0" bytes = "1.11.1" clap = { version = "4.5.38", features = ["derive", "env"] } criterion = "0.5.1" easy-ext = "1.0.3" educe = "0.6.0" enum-as-inner = "0.7.0" expect-test = "1.5.1" fastokens = "0.2.0" futures = "0.3.31" half = { version = "2.7.1", features = ["bytemuck"] } hex = "0.4.3" hf-hub = { version = "0.5.0", features = ["tokio"] } http-body = "1.0.1" itertools = "0.14.0" libc = "0.2.177" llm-multimodal = { git = "https://github.com/vllm-project/llm-multimodal", rev = "5b558989844d1c7af3e43d0f604069ffd9c06320" } mimalloc = "0.1.52" minijinja = { version = "2.0", features = ["unstable_machinery", "json", "builtins", "loader", "loop_controls", "preserve_order"] } minijinja-contrib = { version = "2.0", features = ["pycompat"] } native-tls-vendored = { package = "native-tls", version = "0.2.18", features = ["vendored"] } ndarray = { version = "0.16.1", features = ["serde"] } openai-harmony = "0.0.8" openai-protocol = "1.6.0" parking_lot = "0.12.5" paste = "1.0.15" prometheus-client = "0.24.0" prometheus-client-derive-encode = "0.5.0" prost = "0.14.3" prost-types = "0.14.3" rand = "0.9.2" reasoning-parser = "1.2.2" reqwest = { version = "0.12.8", default-features = false, features = ["rustls-tls"] } riptoken = { version = "0.3.0", default-features = false } rmp-serde = "1.3.1" rmpv = { version = "1.3.1", features = ["with-serde"] } rustc-hash = "1.1.0" serde = { version = "1.0.228", features = ["derive"] } serde-json-fmt = "0.1.0" serde_default = "0.2.0" serde_json = { version = "1.0.145", features = ["arbitrary_precision", "preserve_order"] } serde_repr = "0.1.20" serde_tuple = "1.1.3" serde_with = "3.18.0" serial_test = { version = "3.2.0", features = ["file_locks"] } socket2 = "0.6.3" subenum = "1.1.3" task-local = "0.1.1" tekken = { package = "tekken-rs", version = "0.1.1", default-features = false } tempfile = "3.23.0" thiserror = "2.0.16" thiserror-ext = "0.3.0" tiktoken-rs = "0.9.1" time = { version = "0.3.47", features = ["formatting", "local-offset", "macros"] } tokenizers = "0.22.0" tokio = { version = "1.47.1", features = [ "macros", "net", "rt-multi-thread", "sync", "time", ] } tokio-stream = "0.1" tokio-util = { version = "0.7.18", features = ["rt"] } tonic = "0.14.5" tonic-build = "0.14.5" tonic-prost = "0.14.5" tonic-prost-build = "0.14.5" tool-parser = "1.2.0" tower = { version = "0.5.3", features = ["util"] } tower-http = { version = "0.6.8", features = ["trace"] } tracing = { version = "0.1.44", features = ["release_max_level_debug"] } tracing-futures = { version = "0.2.5", features = ["futures-03"] } tracing-subscriber = { version = "0.3.20", features = ["env-filter", "fmt"] } trait-set = "0.3.0" uuid = { version = "1.22.0", features = ["v4"] } validator = { version = "0.20.0", features = ["derive"] } vllm-chat = { path = "src/chat" } vllm-engine-core-client = { path = "src/engine-core-client" } vllm-llm = { path = "src/llm" } vllm-managed-engine = { path = "src/managed-engine" } vllm-metrics = { path = "src/metrics" } vllm-reasoning-parser = { path = "src/reasoning-parser" } vllm-server = { path = "src/server" } vllm-text = { path = "src/text" } vllm-tokenizer = { path = "src/tokenizer" } vllm-tool-parser = { path = "src/tool-parser" } winnow = "1.0.2" zeromq = { version = "0.6.0", default-features = false, features = [ "tokio-runtime", "all-transport", ] } [workspace.lints.clippy] too_many_arguments = "allow" [profile.dev] panic = "abort" [profile.release] lto = "thin" panic = "abort"