[package]
edition = "2021"
name = "superfluid"
version = "0.1.4"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
default-run = "superfluid"
description = "The superfluid daemon: durable session store (WAL, verbatim token spans, epochs), generation runtime over Link W, and the native session API"
homepage = "https://github.com/basecompute/superfluid"
readme = "README.md"
keywords = [
"llm",
"inference",
"serving",
"llama-cpp",
"mlx",
]
categories = [
"command-line-utilities",
"science",
]
license = "Apache-2.0"
repository = "https://github.com/basecompute/superfluid"
[features]
basert = [
"dep:superfluid-engine-ffi",
"dep:superfluid-adapter-basert",
"tui",
]
default = ["basert"]
llamacpp = ["dep:superfluid-adapter-llamacpp"]
mlx = ["dep:superfluid-adapter-mlx"]
tui = ["dep:ratatui"]
[lib]
name = "superfluid_daemon"
path = "src/lib.rs"
[[bin]]
name = "superfluid"
path = "src/bin/superfluid.rs"
[[bin]]
name = "superfluid-noded"
path = "src/bin/superfluid-noded.rs"
[[bin]]
name = "superfluid-workerd"
path = "src/bin/superfluid-workerd.rs"
[[test]]
name = "admit_refusals"
path = "tests/admit_refusals.rs"
[[test]]
name = "admit_replan"
path = "tests/admit_replan.rs"
[[test]]
name = "apiweb"
path = "tests/apiweb.rs"
[[test]]
name = "atem_real"
path = "tests/atem_real.rs"
[[test]]
name = "audio_chat_real"
path = "tests/audio_chat_real.rs"
[[test]]
name = "capability_record"
path = "tests/capability_record.rs"
[[test]]
name = "concurrency"
path = "tests/concurrency.rs"
[[test]]
name = "daemon_core"
path = "tests/daemon_core.rs"
[[test]]
name = "daemon_real"
path = "tests/daemon_real.rs"
[[test]]
name = "dialect_golden"
path = "tests/dialect_golden.rs"
[[test]]
name = "embedded_serve"
path = "tests/embedded_serve.rs"
harness = false
[[test]]
name = "family_tick_sweep"
path = "tests/family_tick_sweep.rs"
[[test]]
name = "fim"
path = "tests/fim.rs"
[[test]]
name = "fleet_chat"
path = "tests/fleet_chat.rs"
[[test]]
name = "fleet_concurrency"
path = "tests/fleet_concurrency.rs"
[[test]]
name = "fleet_join"
path = "tests/fleet_join.rs"
[[test]]
name = "fleet_liveness"
path = "tests/fleet_liveness.rs"
[[test]]
name = "fleet_noded_process"
path = "tests/fleet_noded_process.rs"
[[test]]
name = "fleet_one_node"
path = "tests/fleet_one_node.rs"
[[test]]
name = "fleet_openai_http"
path = "tests/fleet_openai_http.rs"
[[test]]
name = "fleet_orchestration"
path = "tests/fleet_orchestration.rs"
[[test]]
name = "fleet_real"
path = "tests/fleet_real.rs"
[[test]]
name = "fleet_recovery"
path = "tests/fleet_recovery.rs"
[[test]]
name = "fleet_wedge"
path = "tests/fleet_wedge.rs"
[[test]]
name = "grammar_real"
path = "tests/grammar_real.rs"
[[test]]
name = "harmony_grammar"
path = "tests/harmony_grammar.rs"
[[test]]
name = "hybrid_real"
path = "tests/hybrid_real.rs"
[[test]]
name = "llamacpp_real"
path = "tests/llamacpp_real.rs"
[[test]]
name = "lora_real"
path = "tests/lora_real.rs"
[[test]]
name = "mlx_real"
path = "tests/mlx_real.rs"
[[test]]
name = "moe_logprobs_real"
path = "tests/moe_logprobs_real.rs"
[[test]]
name = "nonstream_keepalive"
path = "tests/nonstream_keepalive.rs"
[[test]]
name = "observability"
path = "tests/observability.rs"
[[test]]
name = "ollama_api"
path = "tests/ollama_api.rs"
[[test]]
name = "openai_api"
path = "tests/openai_api.rs"
[[test]]
name = "otlp_backpressure"
path = "tests/otlp_backpressure.rs"
[[test]]
name = "otlp_bad_config"
path = "tests/otlp_bad_config.rs"
[[test]]
name = "otlp_bad_log_config"
path = "tests/otlp_bad_log_config.rs"
[[test]]
name = "otlp_metrics"
path = "tests/otlp_metrics.rs"
[[test]]
name = "otlp_traces"
path = "tests/otlp_traces.rs"
[[test]]
name = "pipeline_fleet"
path = "tests/pipeline_fleet.rs"
[[test]]
name = "record_driven"
path = "tests/record_driven.rs"
[[test]]
name = "recurrent_prefix"
path = "tests/recurrent_prefix.rs"
[[test]]
name = "responses_api"
path = "tests/responses_api.rs"
[[test]]
name = "runtime_workers"
path = "tests/runtime_workers.rs"
[[test]]
name = "serve_cli"
path = "tests/serve_cli.rs"
[[test]]
name = "store_id"
path = "tests/store_id.rs"
[[test]]
name = "stream_delta_real"
path = "tests/stream_delta_real.rs"
[[test]]
name = "template_codec_real"
path = "tests/template_codec_real.rs"
[[test]]
name = "tick_yield"
path = "tests/tick_yield.rs"
[[test]]
name = "tokenizer_hf_real"
path = "tests/tokenizer_hf_real.rs"
[[test]]
name = "tokenizer_library"
path = "tests/tokenizer_library.rs"
[[test]]
name = "tokenizer_trait"
path = "tests/tokenizer_trait.rs"
[[test]]
name = "vision_real"
path = "tests/vision_real.rs"
[[test]]
name = "wal_crash"
path = "tests/wal_crash.rs"
[[test]]
name = "wal_fixtures"
path = "tests/wal_fixtures.rs"
[[test]]
name = "worker_env"
path = "tests/worker_env.rs"
[[test]]
name = "worker_real"
path = "tests/worker_real.rs"
[dependencies.axum]
version = "0.8"
features = [
"multipart",
"ws",
]
[dependencies.base64]
version = "0.22"
[dependencies.futures-util]
version = "0.3"
features = ["sink"]
default-features = false
[dependencies.http-body]
version = "1"
[dependencies.libc]
version = "0.2"
[dependencies.mdns-sd]
version = "0.21"
default-features = false
[dependencies.minijinja]
version = "2"
features = [
"loader",
"json",
"preserve_order",
"loop_controls",
]
[dependencies.minijinja-contrib]
version = "2"
features = ["pycompat"]
[dependencies.postcard]
version = "1.1"
features = ["use-std"]
[dependencies.ratatui]
version = "0.29"
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
features = ["preserve_order"]
[dependencies.sha2]
version = "0.10"
[dependencies.superfluid-abi]
version = "0.1.4"
[dependencies.superfluid-adapter-basert]
version = "0.1.4"
optional = true
[dependencies.superfluid-adapter-kit]
version = "0.1.4"
[dependencies.superfluid-adapter-llamacpp]
version = "0.1.4"
optional = true
[dependencies.superfluid-adapter-mlx]
version = "0.1.4"
optional = true
[dependencies.superfluid-adapter-mock]
version = "0.1.4"
[dependencies.superfluid-agent]
version = "0.1.4"
[dependencies.superfluid-engine]
version = "0.1.4"
[dependencies.superfluid-engine-ffi]
version = "0.1.4"
optional = true
[dependencies.superfluid-fingerprint]
version = "0.1.4"
[dependencies.superfluid-linkf]
version = "0.1.4"
[dependencies.superfluid-proto]
version = "0.1.4"
[dependencies.superfluid-shm]
version = "0.1.4"
[dependencies.superfluid-tokenizer-hf]
version = "0.1.4"
[dependencies.superfluid-worker]
version = "0.1.4"
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"macros",
"net",
"sync",
"signal",
"time",
]
[dependencies.tokio-stream]
version = "0.1"
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = [
"json",
"env-filter",
"fmt",
"registry",
"std",
]
[dependencies.ureq]
version = "3"
default-features = false
[dependencies.xxhash-rust]
version = "0.8"
features = ["xxh3"]
[dev-dependencies.superfluid-executor]
version = "0.1.4"
[dev-dependencies.tungstenite]
version = "0.29"
[lints.clippy]
undocumented_unsafe_blocks = "warn"