[package]
name = "pf-world"
description = "ProcessFork world layer: filesystem (overlayfs / APFS), env, in-flight processes (CRIU), browser DOM (CDP)"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
authors.workspace = true

[lints]
workspace = true

[features]
default = ["cdp-live"]
# Browser DOM capture via Chrome DevTools Protocol (Playwright /
# Puppeteer sandboxes). Off → BrowserCapture returns Unsupported.
cdp-live = ["dep:reqwest", "dep:tokio-tungstenite", "dep:futures-util"]

[dependencies]
pf-core    = { workspace = true }
serde      = { workspace = true }
serde_json = { workspace = true }
thiserror  = { workspace = true }
tracing    = { workspace = true }
tokio      = { workspace = true }
chrono     = { workspace = true }
rayon      = "1.10"
walkdir    = "2.5"
regex      = "1.11"
reqwest    = { workspace = true, optional = true }
tokio-tungstenite = { workspace = true, optional = true }
futures-util = { workspace = true, optional = true }

[target.'cfg(unix)'.dependencies]
nix = { workspace = true }

[target.'cfg(target_os = "linux")'.dependencies]
# CRIU shellout discovery in pf-world::procs.
which = "6.0"

[dev-dependencies]
tempfile  = { workspace = true }
wiremock  = { workspace = true }
