agentos_native_sidecar/
limits.rs1pub use agentos_native_sidecar_core::limits::{
4 validate_vm_limits, AcpLimits, HttpLimits, JsRuntimeLimits, PluginLimits, PythonLimits,
5 ToolLimits, VmLimits, WasmLimits, DEFAULT_ACP_MAX_READ_LINE_BYTES,
6 DEFAULT_ACP_STDOUT_BUFFER_BYTE_LIMIT, DEFAULT_JS_CAPTURED_OUTPUT_LIMIT_BYTES,
7 DEFAULT_JS_EVENT_PAYLOAD_LIMIT_BYTES, DEFAULT_JS_STDIN_BUFFER_LIMIT_BYTES,
8 DEFAULT_MAX_FETCH_RESPONSE_BYTES, DEFAULT_PYTHON_EXECUTION_TIMEOUT_MS,
9 DEFAULT_PYTHON_MAX_OLD_SPACE_MB, DEFAULT_PYTHON_OUTPUT_BUFFER_MAX_BYTES,
10 DEFAULT_PYTHON_VFS_RPC_TIMEOUT_MS, DEFAULT_TOOL_TIMEOUT_MS, DEFAULT_V8_HEAP_LIMIT_MB,
11 DEFAULT_V8_IPC_MAX_FRAME_BYTES, DEFAULT_WASM_CAPTURED_OUTPUT_LIMIT_BYTES,
12 DEFAULT_WASM_MAX_MODULE_FILE_BYTES, DEFAULT_WASM_SYNC_READ_LIMIT_BYTES,
13 MAX_PERSISTED_MANIFEST_BYTES, MAX_PERSISTED_MANIFEST_FILE_BYTES, MAX_REGISTERED_TOOLKITS,
14 MAX_REGISTERED_TOOLS_PER_VM, MAX_TOOLS_PER_TOOLKIT, MAX_TOOL_EXAMPLES_PER_TOOL,
15 MAX_TOOL_EXAMPLE_INPUT_BYTES, MAX_TOOL_SCHEMA_BYTES, MAX_TOOL_TIMEOUT_MS,
16};
17use agentos_vm_config::VmLimitsConfig;
18
19use crate::state::SidecarError;
20
21pub fn vm_limits_from_config(
22 config: Option<&VmLimitsConfig>,
23 sidecar_max_frame_bytes: usize,
24) -> Result<VmLimits, SidecarError> {
25 agentos_native_sidecar_core::limits::vm_limits_from_config(config, sidecar_max_frame_bytes)
26 .map_err(|error| SidecarError::InvalidState(error.to_string()))
27}