Table of Contents

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, so Where/Select compose without re-keying the pipeline (it stays keyed by TEvent). Terminals re-run the projection per publish and short-circuit when a Where rejected the element. Every fluent method offers both the (element, context) and element-only lambda arities, chosen independently per stage.

RemoteHookStage<TEvent, TCurrent>
RemoteHookStage<TEvent, TCurrent, TContext>
RemoteLocalHandlerRegistry

Client-side registry for remote RunLocal terminals. A remote server.Hooks.On<TEvent>().Where(..).Select(..).RunLocal(λ) chain lowers only its Where/Select stages 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 native RunLocal delegate (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 RunLocal delegate across the control-plane callback. The server-side pipeline invokes this once per event that passes the lowered filter; the implementation forwards projectedValue over the IPC boundary keyed by subscriptionId. Transport-agnostic so the pipeline does not depend on the RPC layer.

RemoteLocalResultRequest