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::execution::GuestModuleReader;
22pub use javascript::{
23    record_sync_bridge_request_enqueued, record_sync_bridge_request_observed,
24    CreateJavascriptContextRequest, GuestRuntimeConfig, JavascriptContext, JavascriptExecution,
25    JavascriptExecutionEngine, JavascriptExecutionError, JavascriptExecutionEvent,
26    JavascriptExecutionLimits, JavascriptExecutionResult, JavascriptSyncRpcRequest,
27    LocalModuleResolutionCache, LocalResolvedModuleFormat, ModuleFsReader, ModuleResolveMode,
28    ModuleResolver, StartJavascriptExecutionRequest,
29};
30pub use python::{
31    CreatePythonContextRequest, PythonContext, PythonExecution, PythonExecutionEngine,
32    PythonExecutionError, PythonExecutionEvent, PythonExecutionLimits, PythonExecutionResult,
33    PythonVfsRpcMethod, PythonVfsRpcRequest, PythonVfsRpcResponsePayload, PythonVfsRpcStat,
34    StartPythonExecutionRequest,
35};
36pub use signal::{NodeSignalDispositionAction, NodeSignalHandlerRegistration};
37pub use wasm::{
38    CreateWasmContextRequest, NativeBinaryFormat, StartWasmExecutionRequest, WasmContext,
39    WasmExecution, WasmExecutionEngine, WasmExecutionError, WasmExecutionEvent,
40    WasmExecutionLimits, WasmExecutionResult, WasmPermissionTier,
41};
42
43pub trait NativeExecutionBridge: agentos_bridge::ExecutionBridge {}
44
45impl<T> NativeExecutionBridge for T where T: agentos_bridge::ExecutionBridge {}
46
47#[derive(Debug, Clone, Copy, PartialEq, Eq)]
48pub struct ExecutionScaffold {
49    pub package_name: &'static str,
50    pub kernel_package: &'static str,
51    pub target: &'static str,
52    pub planned_guest_runtimes: [GuestRuntime; 2],
53}
54
55pub fn scaffold() -> ExecutionScaffold {
56    ExecutionScaffold {
57        package_name: env!("CARGO_PKG_NAME"),
58        kernel_package: "agentos-kernel",
59        target: "native",
60        planned_guest_runtimes: [GuestRuntime::JavaScript, GuestRuntime::WebAssembly],
61    }
62}