Skip to main content

agentos_execution/
lib.rs

1#![forbid(unsafe_code)]
2
3//! Native execution plane scaffold for the secure-exec runtime migration.
4
5mod common;
6mod host_node;
7mod node_import_cache;
8mod runtime_support;
9mod signal;
10pub mod v8_host;
11pub mod v8_ipc;
12pub mod v8_runtime;
13
14pub mod benchmark;
15#[allow(dead_code, unused_imports)]
16pub mod javascript;
17pub mod python;
18pub mod wasm;
19
20pub use agentos_bridge::GuestRuntime;
21pub use agentos_v8_runtime::bridge::EMULATED_OPENSSL_VERSION;
22pub use agentos_v8_runtime::execution::GuestModuleReader;
23pub use javascript::{
24    record_sync_bridge_request_enqueued, record_sync_bridge_request_observed,
25    CreateJavascriptContextRequest, GuestRuntimeConfig, JavascriptContext, JavascriptExecution,
26    JavascriptExecutionEngine, JavascriptExecutionError, JavascriptExecutionEvent,
27    JavascriptExecutionLimits, JavascriptExecutionResult, JavascriptSyncRpcRequest,
28    LocalModuleResolutionCache, LocalResolvedModuleFormat, ModuleFsReader, ModuleResolveMode,
29    ModuleResolver, StartJavascriptExecutionRequest,
30};
31pub use python::{
32    CreatePythonContextRequest, PythonContext, PythonExecution, PythonExecutionEngine,
33    PythonExecutionError, PythonExecutionEvent, PythonExecutionLimits, PythonExecutionResult,
34    PythonVfsRpcMethod, PythonVfsRpcRequest, PythonVfsRpcResponder, PythonVfsRpcResponsePayload,
35    PythonVfsRpcStat, StartPythonExecutionRequest,
36};
37pub use signal::{NodeSignalDispositionAction, NodeSignalHandlerRegistration};
38pub use wasm::{
39    CreateWasmContextRequest, NativeBinaryFormat, StartWasmExecutionRequest, WasmContext,
40    WasmExecution, WasmExecutionEngine, WasmExecutionError, WasmExecutionEvent,
41    WasmExecutionLimits, WasmExecutionResult, WasmPermissionTier,
42};
43
44pub trait NativeExecutionBridge: agentos_bridge::ExecutionBridge {}
45
46impl<T> NativeExecutionBridge for T where T: agentos_bridge::ExecutionBridge {}
47
48#[derive(Debug, Clone, Copy, PartialEq, Eq)]
49pub struct ExecutionScaffold {
50    pub package_name: &'static str,
51    pub kernel_package: &'static str,
52    pub target: &'static str,
53    pub planned_guest_runtimes: [GuestRuntime; 2],
54}
55
56pub fn scaffold() -> ExecutionScaffold {
57    ExecutionScaffold {
58        package_name: env!("CARGO_PKG_NAME"),
59        kernel_package: "agentos-kernel",
60        target: "native",
61        planned_guest_runtimes: [GuestRuntime::JavaScript, GuestRuntime::WebAssembly],
62    }
63}