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
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="NPipeline.Extensions.AI.Decisions.Jev" Version="0.70.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="NPipeline.Extensions.AI.Decisions.Jev" Version="0.70.1" />
                    
Directory.Packages.props
<PackageReference Include="NPipeline.Extensions.AI.Decisions.Jev" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add NPipeline.Extensions.AI.Decisions.Jev --version 0.70.1
                    
#r "nuget: NPipeline.Extensions.AI.Decisions.Jev, 0.70.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package NPipeline.Extensions.AI.Decisions.Jev@0.70.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=NPipeline.Extensions.AI.Decisions.Jev&version=0.70.1
                    
Install as a Cake Addin
#tool nuget:?package=NPipeline.Extensions.AI.Decisions.Jev&version=0.70.1
                    
Install as a Cake Tool

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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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