[package]
edition = "2024"
name = "rivetkit-core"
version = "2.3.6"
authors = ["Rivet Gaming, LLC <developer@rivet.dev>"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Core runtime primitives for RivetKit actor hosts"
homepage = "https://rivet.dev"
readme = false
license = "Apache-2.0"
repository = "https://github.com/rivet-dev/rivet"
resolver = "2"
[features]
default = ["native-runtime"]
native-runtime = [
"dep:nix",
"dep:reqwest",
"dep:rivetkit-engine-process",
"dep:axum",
"dep:bytes",
"dep:http-body-util",
"dep:tokio-stream",
"dep:tower-http",
"rivet-envoy-client/native-transport",
]
sqlite = ["sqlite-local"]
sqlite-local = [
"native-runtime",
"dep:depot-client",
"dep:rivet-actor-runtime-socket-protocol",
]
sqlite-remote = []
test-support = ["dep:rusqlite"]
wasm-runtime = ["rivet-envoy-client/wasm-transport"]
[lib]
name = "rivetkit_core"
path = "src/lib.rs"
[[example]]
name = "counter"
path = "examples/counter.rs"
[[test]]
name = "integration"
path = "tests/integration.rs"
[dependencies.anyhow]
version = "1.0.82"
[dependencies.async-trait]
version = "0.1"
[dependencies.axum]
version = "0.8"
features = [
"http2",
"macros",
]
optional = true
[dependencies.base64]
version = "0.22"
[dependencies.bytes]
version = "1.6.0"
optional = true
[dependencies.chrono]
version = "0.4.38"
features = ["now"]
[dependencies.chrono-tz]
version = "0.10.4"
[dependencies.ciborium]
version = "0.2"
[dependencies.croner]
version = "2.2.0"
[dependencies.depot-client]
version = "=2.3.6"
optional = true
package = "rivet-depot-client"
[dependencies.depot-client-types]
version = "=2.3.6"
package = "rivet-depot-client-types"
[dependencies.futures]
version = "0.3.30"
[dependencies.http]
version = "1.3.1"
[dependencies.http-body-util]
version = "0.1.1"
optional = true
[dependencies.include_dir]
version = "0.7.4"
[dependencies.nix]
version = "0.30"
features = [
"fs",
"user",
"signal",
]
optional = true
default-features = false
[dependencies.parking_lot]
version = "0.12"
[dependencies.rand]
version = "0.8"
[dependencies.reqwest]
version = "0.12.22"
features = [
"json",
"rustls-tls-native-roots",
"rustls-tls-webpki-roots",
]
optional = true
default-features = false
[dependencies.rivet-actor-runtime-socket-protocol]
version = "=2.3.6"
optional = true
[dependencies.rivet-envoy-client]
version = "=2.3.6"
default-features = false
[dependencies.rivet-error]
version = "=2.3.6"
[dependencies.rivet-metrics]
version = "=2.3.6"
[dependencies.rivetkit-actor-persist]
version = "=2.3.6"
[dependencies.rivetkit-client-protocol]
version = "=2.3.6"
[dependencies.rivetkit-engine-process]
version = "=2.3.6"
optional = true
[dependencies.rivetkit-inspector-protocol]
version = "=2.3.6"
[dependencies.rivetkit-shared-types]
version = "=2.3.6"
[dependencies.rusqlite]
version = "0.32.1"
features = ["bundled"]
optional = true
[dependencies.scc]
version = "3.6.12"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_bare]
version = "0.5.0"
[dependencies.serde_bytes]
version = "0.11.17"
[dependencies.serde_json]
version = "1.0.128"
features = ["raw_value"]
[dependencies.sha2]
version = "0.10"
[dependencies.subtle]
version = "2"
[dependencies.tokio-stream]
version = "0.1.15"
optional = true
[dependencies.tokio-util]
version = "0.7"
[dependencies.tower-http]
version = "0.6"
features = [
"cors",
"trace",
"fs",
]
optional = true
[dependencies.tracing]
version = "0.1.40"
[dependencies.url]
version = "2.5.4"
features = ["serde"]
[dependencies.vbare]
version = "0.0.4"
[dev-dependencies.portpicker]
version = "0.1"
[dev-dependencies.rusqlite]
version = "0.32.1"
features = ["bundled"]
[dev-dependencies.tempfile]
version = "3.13.0"
[dev-dependencies.tokio]
version = "1.44.0"
features = [
"full",
"tracing",
"test-util",
]
[dev-dependencies.tracing-subscriber]
version = "0.3"
features = [
"ansi",
"fmt",
"json",
"env-filter",
]
default-features = false
[build-dependencies.anyhow]
version = "1.0.82"
[build-dependencies.fs_extra]
version = "1.3.0"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.tokio]
version = "1.44.0"
features = [
"full",
"tracing",
]
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.uuid]
version = "1.11.0"
features = [
"v4",
"serde",
]
[target.'cfg(target_arch = "wasm32")'.dependencies.getrandom]
version = "0.2"
features = ["js"]
[target.'cfg(target_arch = "wasm32")'.dependencies.js-sys]
version = "0.3"
[target.'cfg(target_arch = "wasm32")'.dependencies.tokio]
version = "1.44.0"
features = [
"macros",
"rt",
"sync",
"time",
]
default-features = false
[target.'cfg(target_arch = "wasm32")'.dependencies.uuid]
version = "1.11.0"
features = [
"v4",
"serde",
"js",
]
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen]
version = "0.2"
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen-futures]
version = "0.4"
[target.'cfg(target_arch = "wasm32")'.dependencies.web-time]
version = "1.1"