[package]
name = "picloud-executor-core"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true

[lints]
workspace = true

[dependencies]
picloud-shared.workspace = true

serde.workspace = true
serde_json.workspace = true
thiserror.workspace = true
tokio.workspace = true
tracing.workspace = true
uuid.workspace = true
chrono.workspace = true
async-trait.workspace = true
# `internals` feature surfaces `rhai::Stmt`, `rhai::Expr`, `ASTFlags`
# (used by the v1.1.3 module-shape validator to walk top-level
# statements and accept only `fn` / `const` / `import`). Pinned at
# the workspace level; bumping rhai is a deliberate, reviewed change.
rhai = { workspace = true, features = ["internals"] }

# v1.1.3 — per-module compiled-Module cache lives in this crate so the
# resolver can reuse compiled modules across invocations.
lru.workspace = true

# Stdlib utility modules — see crates/executor-core/src/sdk/stdlib/.
regex.workspace = true
rand.workspace = true
base64.workspace = true
hex.workspace = true
percent-encoding.workspace = true
# v1.1.4 — `http::post_form` uses `url::form_urlencoded` for correct
# application/x-www-form-urlencoded body encoding.
url.workspace = true

[dev-dependencies]
async-trait.workspace = true
# v1.1.4 §10a: capture tracing output to assert the original module
# backend error is logged at error level after being redacted from the
# script-visible message.
tracing-subscriber.workspace = true
