//! Rhai script execution: engine, sandbox, SDK bindings.
//!
//! This crate has no Postgres dependency and no awareness of HTTP. It is
//! used both by the orchestrator (in-process, via `LocalExecutorClient`) and
//! by the standalone executor binary (in cluster mode). Keep it that way.

pub mod context;
pub mod engine;
pub mod logging;
pub mod module_resolver;
pub mod sandbox;
pub mod sdk;
pub mod types;

pub use engine::Engine;
pub use module_resolver::{
    extract_imports, new_module_cache, validate_module_source, CachedModule, ModuleCache,
    ModuleCacheKey, PicloudModuleResolver,
};
pub use sandbox::Limits;
pub use types::{
    build_execution_log, ExecError, ExecRequest, ExecResponse, ExecStats, InvocationType, LogEntry,
    LogLevel,
};
