[package]
edition = "2021"
rust-version = "1.95"
name = "running-process"
version = "4.10.14"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Subprocess and PTY runtime for the running-process project"
homepage = "https://github.com/zackees/running-process"
readme = "README.md"
license = "BSD-3-Clause"
repository = "https://github.com/zackees/running-process"
[features]
async-process = [
"dep:tokio",
"process-inspection",
"running-process-platform-internal/async-process",
]
backend-identity = [
"frame-v1-codec",
"running-process-platform-internal/ipc",
"dep:blake3",
"dep:sha2",
"dep:getrandom",
"dep:serde",
"dep:serde_json",
]
client = [
"backend-identity",
"daemon-registration",
"daemon-registration-v2",
"dep:prost-types",
"dep:interprocess",
"dep:dirs",
"running-process-platform-internal/fs",
"dep:anyhow",
"dep:clap",
"terminal-graphics",
"process-inspection",
"dep:toml",
]
client-async = [
"client",
"async-process",
"dep:tokio",
"tokio/rt",
"tokio/rt-multi-thread",
"tokio/net",
"tokio/io-util",
"tokio/macros",
"tokio/time",
"tokio/sync",
"running-process-platform-internal/ipc-async",
"interprocess/tokio",
"running-process-platform-internal/session-relay",
"dep:tokio-util",
"dep:bytes",
"dep:futures-util",
]
conpty-sidecar = [
"pty",
"running-process-platform-internal/conpty-sidecar",
]
core = []
daemon = [
"client",
"client-async",
"pty",
"dep:tokio",
"dep:tokio-util",
"dep:bytes",
"dep:futures-util",
"tokio/full",
"dep:tracing",
"dep:tracing-subscriber",
"dep:rusqlite",
"process-inspection",
]
daemon-registration = [
"dep:prost",
"dep:running-process-protocol",
"dep:sha2",
"running-process-platform-internal/fs",
"running-process-platform-internal/private-dir",
]
daemon-registration-v2 = [
"dep:prost",
"dep:running-process-protocol",
"running-process-platform-internal/fs",
"running-process-platform-internal/private-dir",
]
daemon-trampoline = [
"dep:serde",
"dep:serde_json",
]
default = [
"client",
"pty",
"conpty-sidecar",
"daemon-trampoline",
"window-icon",
]
frame-v1-codec = [
"dep:prost",
"dep:running-process-protocol",
]
independent-spawn = ["running-process-platform-internal/independent-spawn"]
kernel-substrate = ["async-process"]
originator-scan = ["process-inspection"]
probe = [
"client",
"process-inspection",
"dep:running-process-probe",
]
process-inspection = [
"dep:sysinfo",
"running-process-platform-internal/process-inspection",
]
pty = [
"terminal-graphics",
"process-inspection",
"running-process-platform-internal/pty",
]
telemetry = []
terminal-graphics = [
"dep:serde",
"running-process-platform-internal/terminal-graphics",
]
test-seams = ["client"]
test-support = ["client"]
window-icon = ["running-process-platform-internal/window-icon"]
[lib]
name = "running_process"
path = "src/lib.rs"
[[bin]]
name = "daemon-trampoline"
path = "src/bin/trampoline.rs"
required-features = ["daemon-trampoline"]
[[bin]]
name = "running-process-broker-v1"
path = "src/bin/running-process-broker-v1.rs"
required-features = ["daemon"]
[[bin]]
name = "running-process-broker-v2"
path = "src/bin/running-process-broker-v2.rs"
required-features = ["client"]
[[bin]]
name = "running-process-cleanup"
path = "src/bin/running-process-cleanup.rs"
required-features = ["client"]
[[bin]]
name = "running-process-daemon"
path = "src/bin/daemon.rs"
required-features = ["daemon"]
[[bin]]
name = "running-process-launcher"
path = "src/bin/running-process-launcher.rs"
required-features = ["independent-spawn"]
[[bin]]
name = "running-process-lifecycle-test-backend"
path = "src/bin/running-process-lifecycle-test-backend.rs"
required-features = ["test-seams"]
[[bin]]
name = "runpm"
path = "src/bin/runpm.rs"
required-features = ["client"]
[[example]]
name = "handoff_rollout_evidence"
path = "examples/handoff_rollout_evidence.rs"
required-features = ["client"]
[[example]]
name = "session_relay_evidence"
path = "examples/session_relay_evidence.rs"
required-features = ["daemon"]
[[test]]
name = "async_api"
path = "tests/async_api/main.rs"
[[test]]
name = "backend_identity"
path = "tests/backend_identity.rs"
[[test]]
name = "broker"
path = "tests/broker/main.rs"
[[test]]
name = "cleanup"
path = "tests/cleanup/main.rs"
[[test]]
name = "core"
path = "tests/core/main.rs"
[[test]]
name = "daemon_integration"
path = "tests/daemon_integration/main.rs"
[[test]]
name = "daemon_registration"
path = "tests/daemon_registration.rs"
[[test]]
name = "daemon_registration_v2"
path = "tests/daemon_registration_v2.rs"
[[test]]
name = "frame_v1_codec"
path = "tests/frame_v1_codec.rs"
[[test]]
name = "independent_broker"
path = "tests/independent_broker.rs"
[[test]]
name = "independent_broker_docker"
path = "tests/independent_broker_docker.rs"
[[test]]
name = "independent_spawn"
path = "tests/independent_spawn.rs"
[[test]]
name = "independent_spawn_accounting"
path = "tests/independent_spawn_accounting.rs"
[[test]]
name = "independent_spawn_windows"
path = "tests/independent_spawn_windows.rs"
[[test]]
name = "maintenance"
path = "tests/maintenance/main.rs"
[[test]]
name = "pty"
path = "tests/pty/main.rs"
[[test]]
name = "runpm"
path = "tests/runpm/main.rs"
[[test]]
name = "security"
path = "tests/security/main.rs"
[[test]]
name = "spawn_mode_contract"
path = "tests/spawn_mode_contract.rs"
[[test]]
name = "spawn_placement"
path = "tests/spawn_placement.rs"
[dependencies.anyhow]
version = "1"
optional = true
[dependencies.blake3]
version = "1.8.7"
features = [
"mmap",
"rayon",
]
optional = true
[dependencies.bytes]
version = "1"
optional = true
[dependencies.clap]
version = "4"
features = ["derive"]
optional = true
[dependencies.dirs]
version = "6"
optional = true
[dependencies.futures-util]
version = "0.3"
features = ["sink"]
optional = true
[dependencies.getrandom]
version = "0.4"
optional = true
[dependencies.interprocess]
version = "2"
optional = true
[dependencies.libc]
version = "0.2"
[dependencies.prost]
version = "0.14"
optional = true
[dependencies.prost-types]
version = "0.14"
optional = true
[dependencies.running-process-platform-internal]
version = "4.10.14"
features = ["process-inspection"]
default-features = false
[dependencies.running-process-probe]
version = "4.10.14"
optional = true
default-features = false
[dependencies.running-process-protocol]
version = "4.10.14"
optional = true
[dependencies.rusqlite]
version = "0.32"
features = ["bundled"]
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1"
optional = true
[dependencies.sha2]
version = "0.10"
optional = true
[dependencies.sysinfo]
version = "0.30"
optional = true
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = [
"io-util",
"net",
"process",
"rt",
"rt-multi-thread",
"sync",
"time",
]
optional = true
default-features = false
[dependencies.tokio-util]
version = "0.7"
features = ["codec"]
optional = true
[dependencies.toml]
version = "0.8"
optional = true
[dependencies.tracing]
version = "0.1"
optional = true
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
optional = true
[dependencies.winapi]
version = "0.3"
features = [
"errhandlingapi",
"fileapi",
"handleapi",
"ioapiset",
"jobapi2",
"namedpipeapi",
"processthreadsapi",
"winnt",
"minwindef",
"windef",
"winuser",
"consoleapi",
"processenv",
"synchapi",
"winbase",
"wincon",
"tlhelp32",
"securitybaseapi",
"winerror",
"sysinfoapi",
]
[dev-dependencies.dirs]
version = "6"
[dev-dependencies.serde_json]
version = "1"
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio]
version = "1"
features = [
"macros",
"process",
"rt",
"rt-multi-thread",
"test-util",
"time",
]
default-features = false
[dev-dependencies.trybuild]
version = "1"
[target.'cfg(target_os = "linux")'.dev-dependencies.png]
version = "0.17"
[target.'cfg(target_os = "linux")'.dev-dependencies.x11rb]
version = "0.13"
[target."cfg(windows)".dependencies.windows-sys]
version = "0.61"
features = [
"Wdk_System_Threading",
"Win32_Foundation",
"Win32_Security",
"Win32_Security_Authorization",
"Win32_Storage_FileSystem",
"Win32_System_Console",
"Win32_System_IO",
"Win32_System_LibraryLoader",
"Win32_System_Memory",
"Win32_System_Pipes",
"Win32_System_Registry",
"Win32_System_Threading",
"Win32_System_Diagnostics_Debug",
"Win32_System_Environment",
]
[target."cfg(windows)".dev-dependencies.winapi]
version = "0.3"
features = [
"handleapi",
"processthreadsapi",
"winnt",
]
[lints.clippy]
disallowed_methods = "deny"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(coverage)"]