Skip to main content

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>

Returns​

String