Skip to main content

agentos_execution/
lib.rs

1#![forbid(unsafe_code)]
2
3//! Native execution plane scaffold for the agentos 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};
31#[doc(hidden)]
32pub use node_import_cache::bundled_typescript_assets;
33pub use python::{
34    CreatePythonContextRequest, PythonContext, PythonExecution, PythonExecutionEngine,
35    PythonExecutionError, PythonExecutionEvent, PythonExecutionLimits, PythonExecutionResult,
36    PythonVfsRpcMethod, PythonVfsRpcRequest, PythonVfsRpcResponder, PythonVfsRpcResponsePayload,
37    PythonVfsRpcStat, StartPythonExecutionRequest,
38};
39pub use signal::{NodeSignalDispositionAction, NodeSignalHandlerRegistration};
40pub use wasm::{
41    CreateWasmContextRequest, NativeBinaryFormat, StartWasmExecutionRequest, WasmContext,
42    WasmExecution, WasmExecutionEngine, WasmExecutionError, WasmExecutionEvent,
43    WasmExecutionLimits, WasmExecutionResult, WasmPermissionTier,
44};
45
46pub trait NativeExecutionBridge: agentos_bridge::ExecutionBridge {}
47
48impl<T> NativeExecutionBridge for T where T: agentos_bridge::ExecutionBridge {}
49
50#[derive(Debug, Clone, Copy, PartialEq, Eq)]
51pub struct ExecutionScaffold {
52    pub package_name: &'static str,
53    pub kernel_package: &'static str,
54    pub target: &'static str,
55    pub planned_guest_runtimes: [GuestRuntime; 2],
56}
57
58pub fn scaffold() -> ExecutionScaffold {
59    ExecutionScaffold {
60        package_name: env!("CARGO_PKG_NAME"),
61        kernel_package: "agentos-kernel",
62        target: "native",
63        planned_guest_runtimes: [GuestRuntime::JavaScript, GuestRuntime::WebAssembly],
64    }
65}