//! bex-js: QuickJS worker pool for the Bex Engine v6. //! //! Architecture: Worker-Thread Pool Model //! - Dedicated std::thread workers (NOT tokio spawn_blocking) //! - Per-plugin JSContext isolation //! - Affinity routing (same plugin -> same worker) //! - crossbeam-channel work queue with non-blocking dispatch //! - rquickjs 0.11 bindings //! //! Security: 7 layers //! 1. No dangerous globals (delete WebAssembly, etc.) //! 2. Memory limits per context //! 3. Timeout interrupt via rquickjs interrupt handler //! 4. Per-plugin context isolation //! 5. Manifest permission gate (allow_js) //! 6. Input injection via globals (no eval of user data) //! 7. args_json passed as string (no JS injection) pub mod config; pub mod error; pub mod pool; pub mod polyfills; pub mod worker; pub use config::JsPoolConfig; pub use error::JsError; pub use pool::JsPool;