NPipeline.Extensions.AI.Decisions.Jev
0.70.1
dotnet add package NPipeline.Extensions.AI.Decisions.Jev --version 0.70.1
NuGet\Install-Package NPipeline.Extensions.AI.Decisions.Jev -Version 0.70.1
<PackageReference Include="NPipeline.Extensions.AI.Decisions.Jev" Version="0.70.1" />
<PackageVersion Include="NPipeline.Extensions.AI.Decisions.Jev" Version="0.70.1" />
<PackageReference Include="NPipeline.Extensions.AI.Decisions.Jev" />
paket add NPipeline.Extensions.AI.Decisions.Jev --version 0.70.1
#r "nuget: NPipeline.Extensions.AI.Decisions.Jev, 0.70.1"
#:package NPipeline.Extensions.AI.Decisions.Jev@0.70.1
#addin nuget:?package=NPipeline.Extensions.AI.Decisions.Jev&version=0.70.1
#tool nuget:?package=NPipeline.Extensions.AI.Decisions.Jev&version=0.70.1
NPipeline.Extensions.AI.Decisions.Jev
Native TypeSafe AI System One integration for typed, confidence-aware NPipeline decisions.
Install the package
dotnet add package NPipeline.Extensions.AI.Decisions.Jev
Create a client
Reuse an application-managed HttpClient and keep the API key outside source code:
var apiKey = Environment.GetEnvironmentVariable("TYPESAFE_API_KEY")
?? throw new InvalidOperationException("TYPESAFE_API_KEY is required.");
var jevClient = new JevClient(httpClient, new JevClientOptions
{
ApiKey = apiKey,
});
The client calls POST /v1/systemone and supports mixed Choice, Score, and Noul questions. It uses jev-latest by default, applies a 10-second timeout to each
attempt, and retries connection failures, timeouts, HTTP 408, 429, and 5xx responses. Set Retry.MaxRetries to 0 when an outer resilience policy owns
retries.
Route with Jev Choice
var route = builder.AddJevRoute<Ticket, TicketRoute>(jevClient, options => options
.WithState(ticket => new
{
ticket.Subject,
ticket.Message,
ticket.CustomerTier,
})
.WithInstructions("Which team should handle this ticket?")
.AddChoice(TicketRoute.Billing, "billing", "Charges, invoices, and refunds")
.AddChoice(TicketRoute.Technical, "technical", "Bugs, outages, and integrations")
.AddChoice(TicketRoute.Other, "other", "None of the other routes apply"))
.WhenLabel(TicketRoute.Billing, billingSink, minimumConfidence: 0.75)
.WhenLabel(TicketRoute.Technical, technicalSink, minimumConfidence: 0.65)
.Otherwise(reviewSink);
builder.Connect(source, route);
The thresholds are examples. Calibrate them against representative data. Include an explicit other choice when the listed options aren't exhaustive, and use
Otherwise for low-confidence or unmatched results.
jev-latest can resolve to a different model version over time. Pin a model with WithModel when a calibrated threshold must remain tied to one model.
Validate model quality for your domain and languages before production use.
Work with metadata
Jev classifications preserve the concrete response model, TypeSafe request ID, token usage, confidence, and every option probability. Use the advanced classification handle when downstream code needs this envelope.
TypeSafe rate limits can change. Bound pipeline concurrency for your account limits, and place independent questions about one item in a single System One request.
License
This package is licensed under the Business Source License 1.1.
Production use is free for organizations with four or fewer developers and annual revenue of AUD 5 million or less. Larger organizations require a commercial license. Each release converts to the MIT License on its change date.
| 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 is compatible. 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
- NPipeline.Extensions.AI.Decisions (>= 0.70.1)
-
net8.0
- NPipeline.Extensions.AI.Decisions (>= 0.70.1)
-
net9.0
- NPipeline.Extensions.AI.Decisions (>= 0.70.1)
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 |
|---|---|---|
| 0.70.1 | 89 | 10/5/2026 |
| 0.70.0 | 95 | 10/1/2026 |
| 0.69.0 | 89 | 10/1/2026 |
| 0.68.0 | 81 | 10/1/2026 |
| 0.67.0 | 90 | 9/29/2026 |
| 0.66.1 | 95 | 9/28/2026 |
| 0.66.0 | 95 | 9/28/2026 |
| 0.65.1 | 96 | 9/27/2026 |
| 0.65.0 | 92 | 9/26/2026 |
| 0.64.0 | 93 | 9/26/2026 |
| 0.63.0 | 99 | 9/24/2026 |
| 0.62.0 | 90 | 9/24/2026 |
| 0.61.1 | 101 | 9/22/2026 |
| 0.61.0 | 104 | 9/22/2026 |
| 0.60.0 | 96 | 9/22/2026 |