Minos.NET.Recording
1.4.0
Prefix Reserved
dotnet add package Minos.NET.Recording --version 1.4.0
NuGet\Install-Package Minos.NET.Recording -Version 1.4.0
<PackageReference Include="Minos.NET.Recording" Version="1.4.0" />
<PackageVersion Include="Minos.NET.Recording" Version="1.4.0" />
<PackageReference Include="Minos.NET.Recording" />
paket add Minos.NET.Recording --version 1.4.0
#r "nuget: Minos.NET.Recording, 1.4.0"
#:package Minos.NET.Recording@1.4.0
#addin nuget:?package=Minos.NET.Recording&version=1.4.0
#tool nuget:?package=Minos.NET.Recording&version=1.4.0
Minos.NET.Recording
A decision recorder for Minos.NET: one pipeline stage writes a record of every decision, with its question set, state, answers and usage, to a JSONL file or a sink of your own. Outcomes are attached to a record later by its decision id, and records are erased by a key you choose. The stage never delays or fails a decision, runs your redaction before anything is kept, and never puts the state, an id or a key in a log, a trace or a metric. Native AOT-compatible.
dotnet add package Minos.NET.Recording
using Minos;
using Minos.Recording;
await using var sink = new JsonlDecisionRecordSink("decisions.jsonl");
await using var recorder = new DecisionRecorder(sink);
// Outermost, so one decision is one record.
using var recorded = client.AsBuilder().UseRecording(recorder).Build();
using (var scope = DecisionRecording.Begin(erasureKey: customerId))
{
var answers = await recorded.EvaluateAsync<Triage>(message);
await recorder.AddOutcomeAsync(
scope.DecisionId!,
DecisionOutcome.Signal("mailer", DateTimeOffset.UtcNow, "complained"));
}
// Completes after the sink has erased the customer's records, or throws RecordingException.
await recorder.EraseAsync(customerId);
await foreach (var decision in DecisionRecordFile.ReadAsync("decisions.jsonl", CancellationToken.None))
{
Console.WriteLine($"{decision.Record.DecisionId}: {decision.Outcomes.Count} outcomes");
}
Documentation: Recording decisions. Source and issues: github.com/MarcelRoozekrans/Minos.NET. Licensed under the MIT license.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.0)
- Minos.NET (>= 1.4.0)
- ZeroAlloc.Results (>= 1.4.5)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.