Skip to main content

Module process_driver

Module process_driver 

Source
Expand description

Loading a process driver: the artifact a transport: process manifest names under inference.driver, which knows how to drive one harness CLI.

A process driver is pure translation and is granted nothing. ProcessDriver instantiates it on an empty WASI context with no Murmur host import, so a driver that reaches for anything else fails to load rather than running with less than it expected.

Re-exports§

pub use crate::bindings::process_driver::exports::murmur::driver::process::Bridge;
pub use crate::bindings::process_driver::exports::murmur::driver::process::Description;
pub use crate::bindings::process_driver::exports::murmur::driver::process::DriverFile;
pub use crate::bindings::process_driver::exports::murmur::driver::process::Event;
pub use crate::bindings::process_driver::exports::murmur::driver::process::ExitStatus;
pub use crate::bindings::process_driver::exports::murmur::driver::process::FailureKind;
pub use crate::bindings::process_driver::exports::murmur::driver::process::InterruptMethod;
pub use crate::bindings::process_driver::exports::murmur::driver::process::LaunchPlan;
pub use crate::bindings::process_driver::exports::murmur::driver::process::LaunchRequest;
pub use crate::bindings::process_driver::exports::murmur::driver::process::QuotaState;
pub use crate::bindings::process_driver::exports::murmur::driver::process::QuotaWindow;
pub use crate::bindings::process_driver::exports::murmur::driver::process::RetryInfo;
pub use crate::bindings::process_driver::exports::murmur::driver::process::Session;
pub use crate::bindings::process_driver::exports::murmur::driver::process::SessionInfo;
pub use crate::bindings::process_driver::exports::murmur::driver::process::SessionMode;
pub use crate::bindings::process_driver::exports::murmur::driver::process::ToolCallInfo;
pub use crate::bindings::process_driver::exports::murmur::driver::process::ToolCallProgress;
pub use crate::bindings::process_driver::exports::murmur::driver::process::ToolCallStart;
pub use crate::bindings::process_driver::exports::murmur::driver::process::ToolResultInfo;
pub use crate::bindings::process_driver::exports::murmur::driver::process::TurnFailure;
pub use crate::bindings::process_driver::exports::murmur::driver::process::Usage;

Structs§

ProcessDriver
One instantiated process driver. The runtime keeps one for a whole run, so the driver may carry what launch was given into parse.

Constants§

PROCESS_DRIVER_IFACE
The instance name every process driver exports.

Functions§

check_driver_interface
Checks the inference driver’s exports against the transport that names it and the WIT level this host serves.
check_required_env
Checks that every variable description.required_env names is declared in capabilities.env.allow, given as env_allow. Names match exactly.
check_stream_interface
Checks a runtime: driver artifact’s imports against the stream interface of the WIT level this host serves.
describe_process_driver_wasm
Compiles wasm as a process driver on a fresh engine, instantiates it with no grants, and returns what its describe reports.
launch_and_parse_process_driver_wasm
Compiles wasm as a process driver the way describe_process_driver_wasm does, then calls launch with request and parse with lines on that one instance, as a run would.