AdapterNodeDescriptorProjection
Namespace: Meshmakers.Octo.Sdk.Common.Adapters
Projects the process's registered pipeline nodes onto the wire shape the controller stores (AB#4924).
public static class AdapterNodeDescriptorProjection
Inheritance Object → AdapterNodeDescriptorProjection
Remarks:
🔴 One source, two registration paths. A dedicated adapter reports its descriptors on
RegisterAdapterWithSchemaAsync; a pool member reports the same ones on
RegisterPoolMemberAsync, because the controller has to answer the same questions
("what can this process run", "is this trigger process-bound", "what class is this pipeline")
for a borrowed process as for an owned one. Building the projection twice is how the two
answers would start to differ.
Methods
TryProject(INodeSchemaRegistry, Action<Exception>)
Projects every registered node, or null when there is no registry or the scan throws. Never propagates: a process that cannot describe its nodes must still be able to register — it degrades to the controller's name-based fallback.
public static IReadOnlyList<NodeDescriptorDto> TryProject(INodeSchemaRegistry nodeSchemaRegistry, Action<Exception> onError)
Parameters
nodeSchemaRegistry INodeSchemaRegistry
onError Action<Exception>
Returns
IReadOnlyList<NodeDescriptorDto>
TryGenerateSchema(IPipelineSchemaGenerator, Action<Exception>)
Generates the composite pipeline JSON Schema, or null when there is no generator or the generation throws. Same never-propagates contract as AdapterNodeDescriptorProjection.TryProject(INodeSchemaRegistry, Action<Exception>).
public static string TryGenerateSchema(IPipelineSchemaGenerator pipelineSchemaGenerator, Action<Exception> onError)
Parameters
pipelineSchemaGenerator IPipelineSchemaGenerator
onError Action<Exception>