TypeSafeAI.Net
.NET SDK for System One with typed QuestionSet handles and a Microsoft.Extensions.AI package for guardrail and routing middleware.
Overview
TypeSafeAI for .NET is a community SDK with two packages. The core TypeSafeAI package provides TypeSafeClient, a typed QuestionSet, retries, HttpClientFactory and dependency injection support, and is trim and AOT safe. TypeSafeAI.Extensions.AI integrates with Microsoft.Extensions.AI, adding guardrail and routing chat-client middleware, an AIFunction tool bridge and an IEvaluator adapter.
Every question added to a QuestionSet returns a handle, and result.Get(handle) returns its typed answer; Choice can be generic over an enum with Label attributes for names and descriptions. It targets net8.0 and net10.0 and is published on NuGet with CI. Enum options can carry Label attributes with names and descriptions, falling back to the member name, so categories in C# map cleanly to Choice criteria.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | What is this ticket about? | billing · technical · Other |
| Yes / no | Does this convey urgency? | Explicitly time-sensitive · No urgency expressed |
| Score | How angry is the customer? | calm · annoyed · furious |
How it works
- Add TypeSafeAI (and optionally TypeSafeAI.Extensions.AI).
- Build a QuestionSet and keep the handles.
- Call SystemOneAsync.
- Read answers with result.Get(handle), or use the MEAI middleware.
Strengths
- Handle-based typed answers.
- Microsoft.Extensions.AI guardrail and routing middleware.
- Trim and AOT safe.
Caveats
- Community SDK; requires a key.
Getting started
dotnet add package TypeSafeAIAt a glance
- Type
- Library
- Status
- beta
- Language
- C#
- Runtime
- .NET library
- Has code
- yes
- Has tests
- yes
Use cases and integrations
How curated lists describe it
.NET SDK for the TypeSafe AI platform.
hellogumbo/awesome-jev
Frequently asked questions
What does the Extensions.AI package add?
Guardrail and routing chat-client middleware, an AIFunction tool bridge and an IEvaluator adapter.
How do I read answers?
With result.Get(handle) for each question handle.
Which frameworks?
net8.0 and net10.0.
Related projects
Ax, a DSPy-style multi-language LLM framework, listed with a native TypeSafe provider for Boolean, Choice, Score and raw Jev questions.
PluginproductionTypeScriptCline's official curated plugin collection, which includes jev-browser, jev-guard and jev-playground plugins.
PluginproductionTypeScriptEffect TypeScript library whose @effect/ai-typesafe package maps classify, probability and rating operations to Jev questions.
ProjectproductionTypeScriptPHP monorepo whose Polyglot module adds a TypeSafe driver for typed Noul, Choice and Score decisions alongside LLM inference.
ProjectproductionPHPElixir library for unified LLM calls across providers, with an evaluate interface that calls Jev via TypeSafe or OpenRouter.
ProjectproductionElixirSelf-hosted multi-tenant AI agent platform listed as including optional TypeSafe client tools for classification, scoring and yes/no.
LibraryproductionPython