NodeDescriptorDto
Namespace: Meshmakers.Octo.Communication.Contracts.DataTransferObjects
Data transfer object describing a pipeline node type with its configuration schema. Sent from adapters to the communication controller during registration.
public record NodeDescriptorDto : IEquatable<NodeDescriptorDto>
Inheritance Object → NodeDescriptorDto
Implements IEquatable<NodeDescriptorDto>
Properties
NodeName
The name of the node (e.g. "Select")
public string NodeName { get; set; }
Property Value
Version
The version of the node
public int Version { get; set; }
Property Value
Category
The category (e.g. "Trigger", "Transform", "Control")
public string Category { get; set; }
Property Value
IsTrigger
Whether this node is a trigger node
public bool IsTrigger { get; set; }
Property Value
SupportsChildren
Whether this node supports child transformations
public bool SupportsChildren { get; set; }
Property Value
ConfigurationSchemaJson
JSON Schema string describing the configuration
public string ConfigurationSchemaJson { get; set; }
Property Value
IsDeprecated
Whether this node is deprecated
public bool IsDeprecated { get; set; }
Property Value
DeprecationMessage
Optional reason or migration hint when the node is deprecated
public string DeprecationMessage { get; set; }
Property Value
RequiresRunningProcess
Whether this trigger node only works while the adapter process is running (e.g. in-process polling or event subscriptions). Workloads with pipelines using such triggers are not on-demand capable — hibernating them would silently stop the trigger (AB#4984).
public bool RequiresRunningProcess { get; set; }
Property Value
ExecutionClass
The scheduling class this trigger implies when the pipeline runs on a leased adapter pool
(AB#4924): 0 Interactive — work a human is waiting for (an HTTP request, a manual
run) — or 1 Batch, everything scheduled or event-driven. Within one tenant's turn in
the round-robin rotation, Interactive is served before Batch; across tenants the class has no
effect at all, so it cannot reintroduce the starvation round-robin exists to prevent.
Defaults to Batch, which is the conservative answer: a trigger that declares nothing can
never jump a queue. An int rather than an enum deliberately — this DTO is the wire
contract between an adapter and the controller, and a value the receiving side does not
know must deserialize rather than throw.
public int ExecutionClass { get; set; }
Property Value
Constructors
NodeDescriptorDto(String, Int32, String, Boolean, Boolean, String, Boolean, String, Boolean, Int32)
Data transfer object describing a pipeline node type with its configuration schema. Sent from adapters to the communication controller during registration.
public NodeDescriptorDto(string NodeName, int Version, string Category, bool IsTrigger, bool SupportsChildren, string ConfigurationSchemaJson, bool IsDeprecated, string DeprecationMessage, bool RequiresRunningProcess, int ExecutionClass)
Parameters
NodeName String
The name of the node (e.g. "Select")
Version Int32
The version of the node
Category String
The category (e.g. "Trigger", "Transform", "Control")
IsTrigger Boolean
Whether this node is a trigger node
SupportsChildren Boolean
Whether this node supports child transformations
ConfigurationSchemaJson String
JSON Schema string describing the configuration
IsDeprecated Boolean
Whether this node is deprecated
DeprecationMessage String
Optional reason or migration hint when the node is deprecated
RequiresRunningProcess Boolean
Whether this trigger node only works while the adapter process is running (e.g. in-process
polling or event subscriptions). Workloads with pipelines using such triggers are not
on-demand capable — hibernating them would silently stop the trigger (AB#4984).
ExecutionClass Int32
The scheduling class this trigger implies when the pipeline runs on a leased adapter pool
(AB#4924): 0 Interactive — work a human is waiting for (an HTTP request, a manual
run) — or 1 Batch, everything scheduled or event-driven. Within one tenant's turn in
the round-robin rotation, Interactive is served before Batch; across tenants the class has no
effect at all, so it cannot reintroduce the starvation round-robin exists to prevent.
Defaults to Batch, which is the conservative answer: a trigger that declares nothing can
never jump a queue. An int rather than an enum deliberately — this DTO is the wire
contract between an adapter and the controller, and a value the receiving side does not
know must deserialize rather than throw.