feat(central-ui): FlowDebugService — management-command bridge + predicted graph
IFlowDebugService/FlowDebugService (scoped, registered beside IDataConnectionMoveService). Run/replay go to the per-node ManagementActor through ManagementActorHolder with the Blazor principal projected to AuthenticatedUser, exactly as DataConnectionMoveService does; the FlowDebugRunResult payload is deserialised (camelCase) and fed to FlowGraphBuilder, while ManagementError/Unauthorized/holder-null/transport faults collapse into FlowDebugOutcome with the server's error code verbatim (STANDBY_NODE reaches the page untouched). Prediction is DB-only: PredictMethodAsync hands FlowShapePredictor a memoised resolver that maps a route target → Instance.UniqueName → template parent chain (nearest definition wins, cycle guarded) → TemplateScript.Code; PredictValueChangeAsync roots at the write and appends each script whose value-change trigger names the attribute (same attributeName/attribute keys the site's TriggerRouting parser reads). Claude-Session: https://claude.ai/code/session_01GSLkkHKz9JrAtmJjmQK3cP
This commit is contained in:
@@ -140,6 +140,7 @@ public static class ServiceCollectionExtensions
|
||||
// name collision, no instance binding, no native-alarm-source name reference);
|
||||
// the move dialog only SUBMITS the command and renders the returned outcome.
|
||||
services.AddScoped<IDataConnectionMoveService, DataConnectionMoveService>();
|
||||
services.AddScoped<IFlowDebugService, FlowDebugService>();
|
||||
|
||||
// Schema Library: authoring + read accessors for the reusable named
|
||||
// JSON-Schema library (SharedSchema + ISharedSchemaRepository).
|
||||
|
||||
Reference in New Issue
Block a user