Namespace DotBoxD.Plugins.Runtime.Hooks
Classes
- HookStage<TEvent, TCurrent, TContext>
A re-typed stage in a hook chain after a
HookPipeline<TEvent>.Select. It carries a composed projection of the original event to the element currently flowing (TCurrent) plus a short-circuit flag, soWhere/Selectcompose without re-keying the pipeline (it stays keyed byTEvent). Terminals re-run the projection per publish and short-circuit when aWhererejected the element. Every fluent method offers both the (element, context) and element-only lambda arities, chosen independently per stage.
- RemoteLocalHandlerRegistry
Client-side registry for remote
RunLocalterminals. A remoteserver.Hooks.On<TEvent>().Where(..).Select(..).RunLocal(λ)chain lowers only itsWhere/Selectstages to verified IR that filters and projects server-side; the projected value is pushed back over the control-plane callback per passing event. This registry holds the nativeRunLocaldelegate (real host C#, never lowered), keyed by the subscription id returned at install time, and decodes each pushed payload back to the projected CLR type before invoking that delegate.
Delegates
- RemoteLocalPush
Delivers an encoded, filtered+projected value to the plugin's native
RunLocaldelegate across the control-plane callback. The server-side pipeline invokes this once per event that passes the lowered filter; the implementation forwardsprojectedValueover the IPC boundary keyed bysubscriptionId. Transport-agnostic so the pipeline does not depend on the RPC layer.