FluxFlow.Components.Sources.Composition
1.4.0
See the version list below for details.
dotnet add package FluxFlow.Components.Sources.Composition --version 1.4.0
NuGet\Install-Package FluxFlow.Components.Sources.Composition -Version 1.4.0
<PackageReference Include="FluxFlow.Components.Sources.Composition" Version="1.4.0" />
<PackageVersion Include="FluxFlow.Components.Sources.Composition" Version="1.4.0" />
<PackageReference Include="FluxFlow.Components.Sources.Composition" />
paket add FluxFlow.Components.Sources.Composition --version 1.4.0
#r "nuget: FluxFlow.Components.Sources.Composition, 1.4.0"
#:package FluxFlow.Components.Sources.Composition@1.4.0
#addin nuget:?package=FluxFlow.Components.Sources.Composition&version=1.4.0
#tool nuget:?package=FluxFlow.Components.Sources.Composition&version=1.4.0
FluxFlow.Components.Sources.Composition
Optional FluxFlow.Composition registration helpers for standalone generated
and sequence source nodes from FluxFlow.Components.Sources.
This package does not scan assemblies, resolve CLR types from strings, add hot
reload behavior, or resolve generated items from resources. Hosts register
closed generated source output types explicitly and provide optional keyed
TimeProvider services.
Registration
services.AddKeyedSingleton<TimeProvider>("fixed", timeProvider);
services
.AddFluxFlowComposition(configuration)
.RegisterNodes(registry => registry
.RegisterGeneratedSource<OrderMessage>()
.RegisterSequenceSource());
Use custom node type names when a host needs more than one generated output shape:
registry
.RegisterGeneratedSource<OrderMessage>("source.generated.order")
.RegisterGeneratedSource<HttpMessage>("source.generated.http");
Node Types
| Type | Node | Optional resource | Ports |
|---|---|---|---|
source.generated |
GeneratedSourceNode<TOutput> |
clock |
Output |
source.sequence |
SequenceSourceNode |
clock |
Output |
The composition runtime starts both sources through the normal IFlowSource
lifecycle. source.generated deserializes inline items from node
configuration into the closed generic output type registered by the host.
Design Metadata
SourcesComponentDesignMetadataProvider exposes neutral Designer metadata for
the generated and sequence source composition nodes. Hosts can add it to a
ComponentDesignMetadataCatalog to populate palettes, editors, validation
views, or generated documentation.
The provider describes node options, ports, option grouping/editor hints, and a
resource picker hint for the optional clock resource. Inline generated
items are node configuration and are exposed as JSON metadata. The clock
remains a host-owned composition resource with a key-pattern hint and is not
exposed as an editable node option.
The metadata is authored through the shared validated Designer metadata builder
while preserving the same public metadata contracts consumed by hosts.
Configuration
{
"FluxFlow": {
"Composition": {
"workflows": {
"main": {
"nodes": {
"orders": {
"type": "source.generated",
"resources": {
"clock": "fixed"
},
"configuration": {
"name": "orders",
"outputType": "app.order",
"items": [
{ "id": "A-100", "total": 125 },
{ "id": "A-101", "total": 250 }
],
"boundedCapacity": 128
}
},
"numbers": {
"type": "source.sequence",
"configuration": {
"name": "numbers",
"start": 10,
"step": 5,
"count": 3
}
}
},
"links": []
}
}
}
}
}
Missing generated items bind as an empty source. GeneratedSourceOptions.OutputType
remains diagnostic metadata; the actual output port type comes from the closed
generic registration selected by the host.
Invalid source option values fail during composition build through the node
factory. If build failures are configured as diagnostics, the runtime is not
created and the host receives a FactoryFailed diagnostic with the relevant
option name.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- FluxFlow.Components.Designer (>= 2.16.0)
- FluxFlow.Components.Sources (>= 3.1.1)
- FluxFlow.Composition (>= 1.0.9)
- FluxFlow.Composition.Hosting (>= 1.0.5)
-
net8.0
- FluxFlow.Components.Designer (>= 2.16.0)
- FluxFlow.Components.Sources (>= 3.1.1)
- FluxFlow.Composition (>= 1.0.9)
- FluxFlow.Composition.Hosting (>= 1.0.5)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 8.0.0-rc.1 | 65 | 9/5/2026 |
| 7.0.0-rc.1 | 75 | 8/9/2026 |
| 6.0.0 | 125 | 8/3/2026 |
| 1.5.0 | 128 | 7/3/2026 |
| 1.4.0 | 121 | 7/2/2026 |
Adds richer Designer option hints and a host-owned clock resource key pattern for source composition metadata while preserving runtime behavior.