Expand description
Runtime module export bindings for Shape extensions.
This module defines the in-process representation used by VM/LSP/CLI after a plugin has been loaded through the ABI capability interfaces.
§ABI policy (ADR-006 §2.7.5)
Per ADR-006 §2.7.5, this module enforces the cross-crate ABI split:
RawCallableInvoker::invoke— stable extension contract. Stays on raw&u64/&[u64]so CFFI extensions don’t recompile when the runtime’s internal carrier shape changes. Conversion to/ fromKindedSlothappens insideshape-runtimeat the boundary (the VM-sideinvoke_callableadapter constructsKindedSlots from raw bits + the typed registry’sNativeKinds before runtime-tier dispatch and unpacks back tou64for the extension call).ModuleFn(internal Rust trait object) — migrates toKindedSlot. Lives entirely insideshape-runtimewith no recompilation concern.FrameInfo(internal carrier) — migrates toKindedSlot. The pre-existing manualClone/Dropcallingvalue_word_drop::vw_clone/vw_drop_slicecollapses to default:KindedSlot::Drop/Clonecarry the refcount discipline now, soVec<KindedSlot>push / pop / clone preserve the WB2.4 retain semantics by construction.
Structs§
- Frame
Info - Information about a single VM call frame, captured at a point in time.
- Module
Artifact - Bundled module artifact from an extension.
- Module
Context - Execution context available to module functions during a VM call.
- Module
Export Registry - Registry of all extension modules.
- Module
Exports - A Rust-implemented module exposed via
<name>. - Module
Function - Schema for a module function — describes parameters and return type. Used by LSP for completions, hover, and signature help.
- Module
Param - Schema for a single parameter of a module function. Used by LSP for completions and by validation for type checking.
- RawCallable
Invoker - Raw callable invoker as a function pointer + opaque context.
Enums§
- Module
Export Visibility - Visibility policy for one extension export.
- Module
FnEntry - One entry in the VM’s per-process module-function table
(
module_fn_table), indexed by positionalu32id.
Traits§
- VmState
Accessor - Trait providing read access to VM state for state module functions.
Functions§
- check_
fs_ permission - Check permission and enforce filesystem path scope constraints.
- check_
net_ permission - Check permission and enforce network host scope constraints.
- check_
permission - Check whether the current execution context has a required permission.
Type Aliases§
- Module
Fn - A module function callable from Shape (synchronous).