agentos-native-sidecar-core 0.2.6

Shared Secure Exec sidecar logic for native and browser shells
Documentation
#![forbid(unsafe_code)]

//! Backend-agnostic sidecar logic shared by native and browser shells.

pub mod bridge_bytes;
pub mod diagnostics;
pub mod frames;
pub mod guest_fs;
pub mod guest_net;
pub mod guest_pty;
pub mod identity;
pub mod layers;
pub mod limits;
pub mod net;
pub mod permissions;
pub mod root_fs;
pub mod router;
pub mod signals;
pub mod tools;
pub mod vm_fetch;

pub use bridge_bytes::{
    bridge_buffer_value, decode_base64, decode_bridge_buffer_value, decode_encoded_bytes_value,
    encoded_bytes_value,
};
pub use diagnostics::{
    process_snapshot_entry_from_kernel, process_status_from_kernel,
    protocol_process_snapshot_entry, SharedProcessSnapshotEntry, SharedProcessSnapshotStatus,
};
pub use frames::{
    authenticated_response, bound_udp_snapshot_response, event, layer_created_response,
    layer_sealed_response, listener_snapshot_response, overlay_created_response,
    package_linked_response, process_exited_event, process_killed_response, process_output_event,
    process_snapshot_response, process_started_response, provided_commands_response, reject,
    respond, response_with_ownership, root_filesystem_bootstrapped_response,
    root_filesystem_snapshot_response, session_opened_response, signal_state_response,
    snapshot_exported_response, snapshot_imported_response, stdin_closed_response,
    stdin_written_response, unsupported_guest_kernel_call_detail,
    unsupported_guest_kernel_call_event, validate_authenticate_versions, vm_configured_response,
    vm_created_response, vm_disposed_response, vm_lifecycle_event, zombie_timer_count_response,
    AuthenticateVersionError, DispatchResult, UNSUPPORTED_GUEST_KERNEL_CALL_EVENT,
};
pub use guest_fs::{
    decode_guest_filesystem_content, empty_guest_filesystem_response,
    encode_guest_filesystem_content, guest_filesystem_stat, handle_guest_filesystem_call,
    targeted_guest_filesystem_response,
};
pub use guest_net::handle_guest_kernel_call;
pub use identity::{shared_guest_runtime_identity, SharedGuestRuntimeIdentity};
pub use layers::{VmLayerStore, MAX_VM_LAYERS};
pub use limits::{
    validate_vm_limits, virtual_os_cpu_count, virtual_os_freemem_bytes, virtual_os_totalmem_bytes,
    vm_limits_from_config, AcpLimits, HttpLimits, JsRuntimeLimits, PluginLimits, PythonLimits,
    ToolLimits, VmLimits, WasmLimits,
};
pub use net::{
    local_endpoint_value, remote_endpoint_value, socket_addr_family, socket_address_value,
    tcp_socket_info_value, unix_socket_info_value,
};
pub use permissions::{
    allow_all_policy, deny_all_policy, environment_permission_capability,
    evaluate_permissions_policy, filesystem_permission_capability, fs_permission_capability,
    network_permission_capability, permission_mode_to_kernel_decision, permissions_from_policy,
    validate_permissions_policy,
};
pub use root_fs::{
    apply_root_filesystem_entry, build_root_filesystem, build_root_filesystem_with_loaded_snapshot,
    build_root_mount_table, build_root_mount_table_with_loaded_snapshot,
    convert_root_filesystem_entry, protocol_root_filesystem_mode,
    root_filesystem_descriptor_from_config, root_filesystem_mode_from_config,
    root_filesystem_protocol_descriptor_from_config, root_snapshot_entry,
    root_snapshot_from_entries, SidecarCoreError,
};
pub use router::{
    connection_id_of, generated_wire_blocking_extension_interrupt, request_dispatch_mode,
    request_is_unsupported_host_callback_direction, route_request_payload, session_scope_of,
    unsupported_host_callback_direction_dispatch, vm_id_of, BlockingExtensionInterrupt,
    RequestDispatchMode, RequestRoute, UNSUPPORTED_HOST_CALLBACK_DIRECTION_CODE,
    UNSUPPORTED_HOST_CALLBACK_DIRECTION_MESSAGE,
};
pub use signals::{
    apply_process_signal_state_update, canonical_signal_name, default_signal_exit_code,
    execution_signal_from_number, execution_signal_to_kernel, is_valid_posix_signal_number,
    parse_posix_signal, parse_process_signal_state_request, signal_number_from_name,
};
pub use tools::{
    ensure_command_aliases_available, ensure_toolkit_name_available,
    ensure_toolkit_registry_capacity, registered_tool_command_names, validate_toolkit_registration,
    ToolRegistrationError, DEFAULT_TOOL_TIMEOUT_MS, MAX_REGISTERED_TOOLKITS,
    MAX_REGISTERED_TOOLS_PER_VM, MAX_TOOLKIT_NAME_LENGTH, MAX_TOOLS_PER_TOOLKIT,
    MAX_TOOL_DESCRIPTION_LENGTH, MAX_TOOL_EXAMPLES_PER_TOOL, MAX_TOOL_EXAMPLE_INPUT_BYTES,
    MAX_TOOL_NAME_LENGTH, MAX_TOOL_SCHEMA_BYTES, MAX_TOOL_SCHEMA_DEPTH, MAX_TOOL_TIMEOUT_MS,
};
pub use vm_fetch::{
    ensure_vm_fetch_raw_response_buffer_within_limit, ensure_vm_fetch_response_within_limit,
    parse_kernel_http_fetch_response, serialize_kernel_http_fetch_request,
    VM_FETCH_BUFFER_LIMIT_BYTES,
};