[workspace] members = [ "src/chat", "src/cmd", "src/engine-core-client", "src/llm", "src/managed-engine", "src/metrics", "src/mock-engine", "src/parser", "src/parser/python", "src/server", "src/text", "src/tokenizer", ] 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 = { version = "0.33.1", default-features = false, features = ["native-tls"] } async-trait = "0.1.89" asynk-strim-attr = "0.1.0" auto_enums = { version = "0.8.9", features = ["tokio1"] } axum = "0.8.8" base64 = "0.22.1" bytemuck = { version = "1.25.0", features = ["extern_crate_alloc"] } byteorder = "1.5.0" bytes = "1.12.0" 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 = { version = "0.2.1", default-features = false } futures = "0.3.31" half = { version = "2.7.1", features = ["bytemuck"] } hex = "0.4.3" hf-hub = { version = "0.5.0", default-features = false, features = ["tokio"] } http-body = "1.0.1" hyper = { version = "1.10.1", features = ["http1", "server"] } hyper-util = { version = "0.1.20", features = [ "server-graceful", "service", "tokio", ] } indexmap = "2.13.0" itertools = "0.14.0" libc = "0.2.177" llm-multimodal = { git = "https://github.com/smg-project/llm-multimodal", rev = "c8a29dcc755139fdc26185f400ea48c6d6d48273" } 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.17", features = ["serde"] } openai-harmony = { package = "oss-harmony", git = "https://github.com/oss-harmony/harmony", tag = "v0.0.11", default-features = false } openai-protocol = "1.6.0" openssl = "0.10" 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" pyo3 = "0.28.3" pythonize = "0.28.0" rand = "0.9.2" reasoning-parser = "1.2.2" reqwest = { version = "0.12.8", default-features = false, features = ["native-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 = ["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"] } sha2 = "0.10.9" socket2 = "0.6.3" strum = { version = "0.27.2", features = ["derive"] } subenum = "1.1.3" subtle = "2.6" 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"] } tls-listener = { version = "0.11.2", default-features = false, features = ["openssl", "tokio-net", "axum"] } tokenizers = "0.22.0" tokio = { version = "1.47.1", features = [ "macros", "net", "rt-multi-thread", "sync", "time", ] } tokio-openssl = "0.6" 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 = ["cors", "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-parser = { path = "src/parser" } vllm-server = { path = "src/server" } vllm-text = { path = "src/text" } vllm-tokenizer = { path = "src/tokenizer" } winnow = { version = "1.0.2", features = ["simd"] } xgrammar-structural-tag = "0.1.0" zeromq = { version = "0.6.0", default-features = false, features = [ "tokio-runtime", "all-transport", ] } [workspace.lints.clippy] too_many_arguments = "allow" [profile.dev] panic = "abort" # Speed up cold tokenizer construction in tests. [profile.dev.package] fastokens = { opt-level = 3 } regex-automata = { opt-level = 3 } serde_json = { opt-level = 3 } tokenizers = { opt-level = 3 } [profile.release] lto = "thin" panic = "abort"