Skip to main content

Module plugin_decl

Module plugin_decl 

Source

Structs§

EffectivePlugin
Plugin shape after layering route-level overrides on top of the global declaration. This is what invokers should consume — calling EffectivePlugin::resolve (rather than reading the global directly) ensures future override enforcement lands without re-walking the dispatch sites.
PluginDeclaration
One entry from the root plugins: block. The minimal shape apl-core needs to make routing + dispatch decisions; richer CPEX fields (source, priority, mode, transport blocks, description, version) are captured opaquely under extra so the round-trip preserves them without us modeling every variant for v0.
PluginOverride
Per-route override block — only the spec-overridable keys. Bare key-value pairs are NOT merged into config implicitly (spec line 399): “The override object always uses the same keys as a plugin declaration (config:, capabilities:, on_error:); bare key-value pairs are not merged into config implicitly.”

Enums§

CapsView
Internal helper that holds either a borrowed slice from the global declaration or an owned override vec; callers see a slice either way.

Type Aliases§

PluginRegistry
Registry of plugin declarations, keyed by name. Built by the parser from the root plugins: block. Type alias — no methods — so callers can wrap it in Arc<_> or borrow it directly without ceremony.