Converts a service type to its UI-facing interface.
If T is already a valid UIService, yields T unchanged so consumers
keep the original type name in errors and hovers.
Otherwise, recursively rewrites every function whose return type is not
Observe<...> to return void, enforcing unidirectional control flow
for UI consumers.
Used to constrain service properties on UI container elements so a
widget can never await on or read from a transaction / action call.
Converts a service type to its UI-facing interface.
Tis already a valid UIService, yieldsTunchanged so consumers keep the original type name in errors and hovers.Observe<...>to returnvoid, enforcing unidirectional control flow for UI consumers.Used to constrain
serviceproperties on UI container elements so a widget can never await on or read from a transaction / action call.