FluxFlow.Components.FileSystem
1.0.0
dotnet add package FluxFlow.Components.FileSystem --version 1.0.0
NuGet\Install-Package FluxFlow.Components.FileSystem -Version 1.0.0
<PackageReference Include="FluxFlow.Components.FileSystem" Version="1.0.0" />
<PackageVersion Include="FluxFlow.Components.FileSystem" Version="1.0.0" />
<PackageReference Include="FluxFlow.Components.FileSystem" />
paket add FluxFlow.Components.FileSystem --version 1.0.0
#r "nuget: FluxFlow.Components.FileSystem, 1.0.0"
#:package FluxFlow.Components.FileSystem@1.0.0
#addin nuget:?package=FluxFlow.Components.FileSystem&version=1.0.0
#tool nuget:?package=FluxFlow.Components.FileSystem&version=1.0.0
FluxFlow.Components.FileSystem
Reusable file system components for FluxFlow.
Nodes
| Node type | Shape | Purpose |
|---|---|---|
directory.enumerate |
Output |
Emits files and directories from a configured directory. |
file.read |
Input → Result |
Reads file content as text or bytes and emits a read result. |
file.watch |
Output |
Emits file system change events from a watched directory. |
file.write |
Input → Result |
Writes request content to a file and emits a write result. |
Failures emit FlowError through the node error stream and do not stop later
messages from being processed.
Runtime Timing
File write results, file read results, file watch events, and directory enumeration entries use the package clock for timestamps. Existing callers use the default system clock. Hosts and tests can provide a deterministic clock through registration:
registry.RegisterFileSystemComponents(options => options
.UseClock(fileSystemClock));
Write Request
new FileWriteRequest
{
Path = "logs/output.txt",
Content = "hello",
Mode = FileWriteMode.Overwrite,
CreateDirectories = true
}
Bytes can be used instead of Content. When both are set, Bytes wins.
Read Request
new FileReadRequest
{
Path = "logs/output.txt",
ReadAs = FileReadMode.Text
}
Use ReadAs = FileReadMode.Bytes when the workflow needs raw bytes. Text reads
use the request Encoding value when provided, otherwise defaultEncoding.
Watch Output
{
"type": "file.watch",
"directory": "inbox",
"filter": "*.json",
"includeSubdirectories": false,
"notifyFilters": [ "FileName", "LastWrite", "Size" ],
"baseDirectory": "data",
"allowAbsolutePaths": false,
"boundedCapacity": 128
}
file.watch emits FileWatchEvent values with the changed path, directory,
name, change type, and old path/name for rename events.
Directory Enumerate Output
{
"type": "directory.enumerate",
"directory": "inbox",
"filter": "*.json",
"includeSubdirectories": true,
"includeFiles": true,
"includeDirectories": false,
"maxEntries": 1000,
"baseDirectory": "data",
"allowAbsolutePaths": false,
"boundedCapacity": 128
}
directory.enumerate emits DirectoryEnumerateEntry values with the resolved
path, source directory, name, entry type, optional byte length, timestamps, and
file attributes.
Configuration
{
"type": "file.read",
"baseDirectory": "data",
"allowAbsolutePaths": false,
"defaultEncoding": "utf-8",
"maxBytes": 1048576,
"boundedCapacity": 128
}
Relative paths are resolved under baseDirectory when it is set. Relative
paths that escape the base directory are rejected. Absolute paths are rejected
unless allowAbsolutePaths is true.
Supported write modes:
OverwriteAppendCreateNew
Supported read modes:
TextBytes
Composition Guidance
Use this package as one part of a host-composed graph. See Component Composition for recommended host boundaries, package boundaries, and extraction timing.
| 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.Engine (>= 1.0.0)
-
net8.0
- FluxFlow.Engine (>= 1.0.0)
- System.Threading.Tasks.Dataflow (>= 9.0.4)
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 |
|---|---|---|
| 1.0.0 | 0 | 6/4/2026 |
| 0.5.0-alpha.1 | 77 | 6/2/2026 |
| 0.4.2-alpha.1 | 47 | 6/2/2026 |
| 0.4.1-alpha.1 | 45 | 6/2/2026 |
| 0.4.0-alpha.1 | 96 | 6/1/2026 |
| 0.3.0-alpha.1 | 43 | 6/1/2026 |
| 0.2.0-alpha.1 | 43 | 6/1/2026 |
| 0.1.0-alpha.1 | 61 | 6/1/2026 |
Stable 1.0.0 component package boundary for FluxFlow.Engine 1.0.0 with package-owned contracts, neutral diagnostics, and release readiness documentation.