// Runtime core FFI surface inventory.
//
// This fixture is intentionally executable by the normal parity runner,
// but its main purpose is to keep TS-side coverage accounting attached
// to related public FFI shims. Move @covers entries from this
// inventory into behavioral tests as each area gets deeper compatibility
// coverage.
//
// Inventory entries: 346 unique FFI names, 347 declarations.

const testFfiSurfaceRuntimeCoreVersion = 1;
if (testFfiSurfaceRuntimeCoreVersion !== 1) {
  throw new Error("unexpected coverage inventory version");
}
console.log("test_ffi_surface_runtime_core: ok");

/*
@covers
crates/perry-runtime/src/arena.rs:
  - js_arena_alloc
  - js_arena_stats
  - js_inline_arena_slow_alloc
  - js_inline_arena_state
crates/perry-runtime/src/array.rs:
  - js_array_flat_depth
  - js_tagged_template_register_raw
  - js_template_raw
crates/perry-runtime/src/bigint.rs:
  - js_bigint_error
  - js_bigint_print
  - js_bigint_to_buffer
  - js_bigint_warn
crates/perry-runtime/src/box.rs:
  - js_box_alloc
  - js_box_get
  - js_box_set
crates/perry-runtime/src/buffer.rs:
  - js_array_buffer_new
  - js_buffer_fill_random
  - js_buffer_print
crates/perry-runtime/src/builtins.rs:
  - js_array_print
  - js_console_assert
  - js_console_assert_spread
  - js_console_clear
  - js_console_count
  - js_console_count_reset
  - js_console_error_dynamic
  - js_console_error_i32
  - js_console_error_number
  - js_console_group
  - js_console_group_begin
  - js_console_group_end
  - js_console_log_as_closure
  - js_console_log_i32
  - js_console_log_i64
  - js_console_log_number
  - js_console_table
  - js_console_time
  - js_console_time_end
  - js_console_time_log
  - js_console_trace
  - js_console_warn_dynamic
  - js_console_warn_i32
  - js_console_warn_number
  - js_decode_uri
  - js_decode_uri_component
  - js_div
  - js_drain_queued_microtasks
  - js_encode_uri
  - js_encode_uri_component
  - js_eq
  - js_gt
  - js_is_finite
  - js_is_nan
  - js_loose_eq
  - js_lt
  - js_mod
  - js_number_coerce
  - js_number_is_finite
  - js_number_is_integer
  - js_number_is_nan
  - js_number_is_safe_integer
  - js_parse_float
  - js_parse_int
  - js_queue_microtask
  - js_string_coerce
  - js_structured_clone
  - js_text_decoder_decode
  - perry_debug_trace_init
  - perry_debug_trace_init_done
crates/perry-runtime/src/child_process.rs:
  - js_child_process_exec
  - js_child_process_exec_sync
  - js_child_process_get_process_status
  - js_child_process_kill_process
  - js_child_process_spawn
  - js_child_process_spawn_background
  - js_child_process_spawn_detached
  - js_child_process_spawn_sync
crates/perry-runtime/src/closure.rs:
  - js_argon2_hash_options
  - js_await_js_promise
  - js_axios_create
  - js_axios_request
  - js_closure_call10
  - js_closure_call11
  - js_closure_call12
  - js_closure_call13
  - js_closure_call14
  - js_closure_call15
  - js_closure_call8
  - js_closure_call9
  - js_lodash_ends_with
  - js_lodash_escape
  - js_lodash_includes
  - js_lodash_lower_first
  - js_lodash_replace
  - js_lodash_split
  - js_lodash_start_case
  - js_lodash_starts_with
  - js_lodash_unescape
  - js_lodash_upper_first
  - js_new_from_handle
  - js_ratelimit_create
  - js_sharp_negate
  - js_sharp_quality
  - js_sharp_to_format
crates/perry-runtime/src/color_parse.rs:
  - js_color_parse_channel
crates/perry-runtime/src/date.rs:
  - js_date_now
  - js_date_to_date_string
  - js_date_to_locale_date_string
  - js_date_to_locale_string
  - js_date_to_locale_time_string
  - js_date_to_time_string
  - js_number_to_locale_string
  - js_performance_now
crates/perry-runtime/src/event_pump.rs:
  - js_notify_main_thread
  - js_wait_for_event
crates/perry-runtime/src/fs.rs:
  - js_fs_access_sync
  - js_fs_access_sync_throw
  - js_fs_append_file_sync
  - js_fs_chmod_sync
  - js_fs_copy_file_sync
  - js_fs_create_read_stream
  - js_fs_create_write_stream
  - js_fs_exists_sync
  - js_fs_is_directory
  - js_fs_mkdir_sync
  - js_fs_mkdtemp_sync
  - js_fs_read_file_binary
  - js_fs_read_file_callback
  - js_fs_read_file_sync
  - js_fs_readdir_sync
  - js_fs_realpath_sync
  - js_fs_rename_sync
  - js_fs_rm_recursive
  - js_fs_rmdir_sync
  - js_fs_stat_sync
  - js_fs_stats_is_directory
  - js_fs_stats_is_file
  - js_fs_unlink_sync
  - js_fs_write_file_sync
crates/perry-runtime/src/gc.rs:
  - gc_check_trigger_export
  - js_gc_collect
  - js_gc_enter_unsafe_zone
  - js_gc_exit_unsafe_zone
  - js_gc_init
  - js_gc_register_global_root
  - js_gc_stats
  - js_shadow_frame_pop
  - js_shadow_frame_push
  - js_shadow_slot_get
  - js_shadow_slot_set
  - js_write_barrier
crates/perry-runtime/src/i18n.rs:
  - perry_i18n_format_currency
  - perry_i18n_format_currency_default
  - perry_i18n_format_date
  - perry_i18n_format_date_long
  - perry_i18n_format_date_short
  - perry_i18n_format_number
  - perry_i18n_format_number_default
  - perry_i18n_format_percent
  - perry_i18n_format_percent_default
  - perry_i18n_format_raw
  - perry_i18n_format_time
  - perry_i18n_format_time_default
  - perry_i18n_get_locale_index
  - perry_i18n_init
  - perry_i18n_interpolate
  - perry_i18n_plural_category
  - perry_i18n_set_locale_index
  - perry_i18n_set_plural_locales
crates/perry-runtime/src/lib.rs:
  - js_register_stdlib_has_active
  - js_register_stdlib_pump
  - js_run_stdlib_pump
  - perry_init_guard_check_and_set
  - perry_runtime_widget_init
crates/perry-runtime/src/math.rs:
  - js_math_random
crates/perry-runtime/src/net.rs:
  - js_net_create_connection
  - js_net_create_server
  - js_net_server_address
  - js_net_server_close
  - js_net_server_listen
  - js_net_socket_read
  - js_net_socket_remote_address
  - js_net_socket_remote_port
crates/perry-runtime/src/node_stream.rs:
  - js_node_stream_duplex_new
  - js_node_stream_passthrough_new
  - js_node_stream_readable_from
  - js_node_stream_readable_new
  - js_node_stream_transform_new
  - js_node_stream_writable_new
crates/perry-runtime/src/object.rs:
  - js_create_namespace
  - js_unresolved_default_call
crates/perry-runtime/src/os.rs:
  - js_os_arch
  - js_os_cpus
  - js_os_eol
  - js_os_freemem
  - js_os_homedir
  - js_os_hostname
  - js_os_network_interfaces
  - js_os_platform
  - js_os_release
  - js_os_tmpdir
  - js_os_totalmem
  - js_os_type
  - js_os_uptime
  - js_os_user_info
  - js_process_argv
  - js_process_chdir
  - js_process_hrtime_bigint
  - js_process_kill
  - js_process_next_tick
  - js_process_on
  - js_process_pid
  - js_process_ppid
  - js_process_stderr
  - js_process_stdin
  - js_process_stdout
  - js_process_version
  - js_process_versions
crates/perry-runtime/src/path.rs:
  - js_path_basename
  - js_path_basename_ext
  - js_path_delimiter_get
  - js_path_dirname
  - js_path_extname
  - js_path_format
  - js_path_is_absolute
  - js_path_join
  - js_path_matches_glob
  - js_path_normalize
  - js_path_parse
  - js_path_relative
  - js_path_resolve
  - js_path_resolve_join
  - js_path_sep_get
  - js_path_to_namespaced_path
crates/perry-runtime/src/plugin.rs:
  - perry_plugin_count
  - perry_plugin_discover
  - perry_plugin_emit
  - perry_plugin_emit_event
  - perry_plugin_emit_hook
  - perry_plugin_get_config
  - perry_plugin_init
  - perry_plugin_invoke_tool
  - perry_plugin_list_hooks
  - perry_plugin_list_plugins
  - perry_plugin_list_tools
  - perry_plugin_load
  - perry_plugin_log
  - perry_plugin_on
  - perry_plugin_register_hook
  - perry_plugin_register_hook_ex
  - perry_plugin_register_route
  - perry_plugin_register_service
  - perry_plugin_register_tool
  - perry_plugin_set_config
  - perry_plugin_set_metadata
  - perry_plugin_unload
crates/perry-runtime/src/process.rs:
  - js_process_env
  - js_process_exit
crates/perry-runtime/src/promise.rs:
  - js_array_from_async
  - js_async_first_call
  - js_get_current_step_closure
crates/perry-runtime/src/proxy.rs:
  - js_proxy_apply
  - js_proxy_construct
  - js_proxy_delete
  - js_proxy_get
  - js_proxy_has
  - js_proxy_is_proxy
  - js_proxy_is_revoked
  - js_proxy_new
  - js_proxy_revoke
  - js_proxy_set
  - js_proxy_target
  - js_reflect_apply
  - js_reflect_define_property
  - js_reflect_delete
  - js_reflect_get
  - js_reflect_get_prototype_of
  - js_reflect_has
  - js_reflect_own_keys
  - js_reflect_set
crates/perry-runtime/src/regex.rs:
  - js_string_replace_regex_fn
crates/perry-runtime/src/static_plugins.rs:
  - perry_register_static_plugin
  - perry_resolve_static_plugin
crates/perry-runtime/src/stdlib_stubs.rs:
  - js_stdlib_init_dispatch
crates/perry-runtime/src/string.rs:
  - js_string_error
  - js_string_warn
crates/perry-runtime/src/text.rs:
  - js_text_decoder_decode_llvm
  - js_text_decoder_new
  - js_text_encoder_new
crates/perry-runtime/src/thread.rs:
  - js_thread_has_pending
  - js_thread_parallel_filter
  - js_thread_parallel_map
  - js_thread_process_pending
  - js_thread_spawn
crates/perry-runtime/src/timer.rs:
  - js_callback_timer_has_pending
  - js_callback_timer_next_deadline
  - js_callback_timer_tick
  - js_interval_timer_has_pending
  - js_interval_timer_next_deadline
  - js_interval_timer_tick
  - js_set_timeout
  - js_set_timeout_callback
  - js_set_timeout_callback_args
  - js_set_timeout_value
  - js_sleep_ms
  - js_timer_has_pending
  - js_timer_next_deadline
  - js_timer_now
  - js_timer_tick
crates/perry-runtime/src/tty.rs:
  - js_process_stderr_isatty
  - js_process_stdin_isatty
  - js_process_stdout_columns
  - js_process_stdout_isatty
  - js_process_stdout_on
  - js_process_stdout_rows
  - js_tty_resize_drain
crates/perry-runtime/src/typedarray.rs:
  - js_typed_array_sort_default
  - js_typed_array_sort_with_comparator
  - js_typed_array_to_sorted_with_comparator
crates/perry-runtime/src/url.rs:
  - js_abort_controller_abort
  - js_abort_controller_abort_reason
  - js_abort_controller_new
  - js_abort_controller_signal
  - js_abort_signal_add_listener
  - js_abort_signal_timeout
  - js_url_file_url_to_path
crates/perry-runtime/src/weakref.rs:
  - js_finreg_new
  - js_finreg_register
  - js_finreg_unregister
  - js_weak_throw_primitive
  - js_weakmap_delete
  - js_weakmap_get
  - js_weakmap_has
  - js_weakmap_new
  - js_weakmap_set
  - js_weakref_deref
  - js_weakref_new
  - js_weakset_add
  - js_weakset_delete
  - js_weakset_has
  - js_weakset_new
crates/perry-runtime/src/webassembly.rs:
  - js_webassembly_call_export_0
  - js_webassembly_call_export_1
  - js_webassembly_call_export_2
  - js_webassembly_call_export_3
  - js_webassembly_call_export_4
  - js_webassembly_instantiate
  - js_webassembly_validate
*/
