#![allow(
clippy::missing_errors_doc,
clippy::missing_panics_doc,
clippy::must_use_candidate,
clippy::module_name_repetitions,
clippy::cast_possible_truncation,
clippy::cast_precision_loss,
clippy::cast_sign_loss,
clippy::too_many_lines,
clippy::uninlined_format_args,
clippy::needless_pass_by_value,
clippy::doc_markdown,
clippy::missing_fields_in_debug,
// rquickjs method wrappers intentionally produce new Locator instances that
// JS is free to discard (e.g. fluent chains like `loc.nth(0)` used directly).
clippy::return_self_not_must_use,
// Some web-API classes (TextEncoder, etc.) are legitimately stateless per
// their WHATWG spec, but `#[rquickjs::methods]` instance methods must still
clippy::unused_self
)]
pub mod bindings;
pub mod bundle;
pub mod bytecode_cache;
pub mod command_spec;
pub mod console;
pub mod discover;
pub mod engine;
pub mod error;
pub mod fs;
pub mod modules;
pub mod result;
pub mod session_procs;
pub mod session_table;
pub mod vars;
pub use bindings::{
ArtifactsJs, BrowserContextJs, CollectedRegistry, HookArg, HttpClientJs, HttpResponseJs, JsArg, KeyboardJs,
LocatorJs, MouseJs, PageJs, PluginBinding, PluginCommandsJs, ScenarioWorld, ScriptAttachment, StepOutcome,
collect_registry, drain_attachments, install_plugins, invoke_hook, invoke_step, reset_world, set_scenario_world,
};
pub use bundle::{
CompiledBundle, CompiledPlugin, bundle_and_compile, bundle_source, compile_and_extract_plugins, eval_bundle,
is_typescript_path, source_is_es_module,
};
pub use command_spec::{CommandOutput, CommandRun, CommandSpec, ResolvedCommand, ResolvedExec};
pub use console::ConsoleCapture;
pub use discover::{SOURCE_EXTENSIONS, is_source_file, walk_source_files};
pub use engine::{
ExtensionHost, RunContext, RunOptions, ScriptCaps, ScriptEngine, ScriptEngineConfig, Session, SessionRun,
};
pub use error::{ScriptError, ScriptErrorKind};
pub use fs::PathSandbox;
pub use result::{ConsoleEntry, ConsoleLevel, Outcome, ScriptResult, ScriptSuccess};
pub use rquickjs::AsyncContext;
pub use session_procs::SessionProcs;
pub use session_table::{BrowserSession, SessionTable};
pub use vars::{InMemoryVars, VarsStore};