agentos_native_sidecar_core/
lib.rs1#![forbid(unsafe_code)]
2
3pub mod bridge_bytes;
6pub mod diagnostics;
7pub mod frames;
8pub mod guest_fs;
9pub mod guest_net;
10pub mod guest_pty;
11pub mod identity;
12pub mod layers;
13pub mod limits;
14pub mod net;
15pub mod permissions;
16pub mod root_fs;
17pub mod router;
18pub mod signals;
19pub mod tools;
20pub mod vm_fetch;
21
22pub use bridge_bytes::{
23 bridge_buffer_value, decode_base64, decode_bridge_buffer_value, decode_encoded_bytes_value,
24 encoded_bytes_value,
25};
26pub use diagnostics::{
27 process_snapshot_entry_from_kernel, process_status_from_kernel,
28 protocol_process_snapshot_entry, SharedProcessSnapshotEntry, SharedProcessSnapshotStatus,
29};
30pub use frames::{
31 authenticated_response, bound_udp_snapshot_response, event, layer_created_response,
32 layer_sealed_response, listener_snapshot_response, overlay_created_response,
33 package_linked_response, process_exited_event, process_killed_response, process_output_event,
34 process_snapshot_response, process_started_response, provided_commands_response, reject,
35 respond, response_with_ownership, root_filesystem_bootstrapped_response,
36 root_filesystem_snapshot_response, session_opened_response, signal_state_response,
37 snapshot_exported_response, snapshot_imported_response, stdin_closed_response,
38 stdin_written_response, unsupported_guest_kernel_call_detail,
39 unsupported_guest_kernel_call_event, validate_authenticate_versions, vm_configured_response,
40 vm_created_response, vm_disposed_response, vm_lifecycle_event, zombie_timer_count_response,
41 AuthenticateVersionError, DispatchResult, UNSUPPORTED_GUEST_KERNEL_CALL_EVENT,
42};
43pub use guest_fs::{
44 decode_guest_filesystem_content, empty_guest_filesystem_response,
45 encode_guest_filesystem_content, guest_filesystem_stat, handle_guest_filesystem_call,
46 targeted_guest_filesystem_response,
47};
48pub use guest_net::handle_guest_kernel_call;
49pub use identity::{shared_guest_runtime_identity, SharedGuestRuntimeIdentity};
50pub use layers::{VmLayerStore, MAX_VM_LAYERS};
51pub use limits::{
52 validate_vm_limits, virtual_os_cpu_count, virtual_os_freemem_bytes, virtual_os_totalmem_bytes,
53 vm_limits_from_config, AcpLimits, HttpLimits, JsRuntimeLimits, PluginLimits, PythonLimits,
54 ToolLimits, VmLimits, WasmLimits,
55};
56pub use net::{
57 local_endpoint_value, remote_endpoint_value, socket_addr_family, socket_address_value,
58 tcp_socket_info_value, unix_socket_info_value,
59};
60pub use permissions::{
61 allow_all_policy, deny_all_policy, environment_permission_capability,
62 evaluate_permissions_policy, filesystem_permission_capability, fs_permission_capability,
63 network_permission_capability, permission_mode_to_kernel_decision, permissions_from_policy,
64 validate_permissions_policy,
65};
66pub use root_fs::{
67 apply_root_filesystem_entry, build_root_filesystem, build_root_filesystem_with_loaded_snapshot,
68 build_root_mount_table, build_root_mount_table_with_loaded_snapshot,
69 convert_root_filesystem_entry, protocol_root_filesystem_mode,
70 root_filesystem_descriptor_from_config, root_filesystem_mode_from_config,
71 root_filesystem_protocol_descriptor_from_config, root_snapshot_entry,
72 root_snapshot_from_entries, SidecarCoreError,
73};
74pub use router::{
75 connection_id_of, generated_wire_blocking_extension_interrupt, request_dispatch_mode,
76 request_is_unsupported_host_callback_direction, route_request_payload, session_scope_of,
77 unsupported_host_callback_direction_dispatch, vm_id_of, BlockingExtensionInterrupt,
78 RequestDispatchMode, RequestRoute, UNSUPPORTED_HOST_CALLBACK_DIRECTION_CODE,
79 UNSUPPORTED_HOST_CALLBACK_DIRECTION_MESSAGE,
80};
81pub use signals::{
82 apply_process_signal_state_update, canonical_signal_name, default_signal_exit_code,
83 execution_signal_from_number, execution_signal_to_kernel, is_valid_posix_signal_number,
84 parse_posix_signal, parse_process_signal_state_request, signal_number_from_name,
85};
86pub use tools::{
87 ensure_command_aliases_available, ensure_toolkit_name_available,
88 ensure_toolkit_registry_capacity, registered_tool_command_names, validate_toolkit_registration,
89 ToolRegistrationError, DEFAULT_TOOL_TIMEOUT_MS, MAX_REGISTERED_TOOLKITS,
90 MAX_REGISTERED_TOOLS_PER_VM, MAX_TOOLKIT_NAME_LENGTH, MAX_TOOLS_PER_TOOLKIT,
91 MAX_TOOL_DESCRIPTION_LENGTH, MAX_TOOL_EXAMPLES_PER_TOOL, MAX_TOOL_EXAMPLE_INPUT_BYTES,
92 MAX_TOOL_NAME_LENGTH, MAX_TOOL_SCHEMA_BYTES, MAX_TOOL_SCHEMA_DEPTH, MAX_TOOL_TIMEOUT_MS,
93};
94pub use vm_fetch::{
95 ensure_vm_fetch_raw_response_buffer_within_limit, ensure_vm_fetch_response_within_limit,
96 parse_kernel_http_fetch_response, serialize_kernel_http_fetch_request,
97 VM_FETCH_BUFFER_LIMIT_BYTES,
98};