// Compile-time safety gate for user-authored play code (enrich `extract_js`, // `run_if_js`, and `run_javascript` step `code`). // // Plays replay deterministically under Worker Loader, and the step code runs // with provider data in scope. So user code may NOT be non-deterministic // (Math.random, Date.now, ...) — replay would diverge — and may NOT reach out // of the sandbox (fetch, require, process, ...). We reject those at compile // time with a clear, named error (fail loud, per the repo non-negotiables). // // This is a fast static scan, not a security boundary on its own: the play // runtime is the real boundary (it executes step code in an isolate that does // not expose these globals). The scan exists to fail authoring early with a // readable message instead of producing a play that silently misbehaves at run // time. The `(?