Expand description
Plugin dispatch: classify a plugin reference into a runtime, then run it.
This is the single entry point the loader uses to invoke a plugin "..."
reference. It is deliberately split into two phases:
resolve_plugin— pure classification: native vs WASM vs Python, path-security, feature-gating, and the #1432 bare-module-name rejection. Returns a runnableResolvedPluginor a typedPluginResolveError.ResolvedPlugin::run— execute the chosen runtime, returning the plugin’sPluginOutput(ops + diagnostics) or a typedPluginRunError.
Errors are typed (not host LedgerErrors) so the loader keeps ownership of
its error-code convention: it maps these kinds to E8001/E8002/E8004/E8005
and records diagnostics through one uniform path. The split lets the loader
build wrappers and apply ops once per plugin instead of once per runtime.
Enums§
- Plugin
Pass - Which pass’s native plugins to resolve.
- Plugin
Resolve Error - Why a plugin reference could not be resolved to a runnable runtime. The host maps each kind to its own error code and message.
- Plugin
RunError - Why a resolved plugin failed at runtime (load or execution).
- Resolved
Plugin - A plugin reference resolved to a concrete runtime, ready to
run.
Functions§
- resolve_
plugin - Classify a plugin invocation into a runnable
ResolvedPlugin.