jev-sdk-java
Type-safe Java 21 client for Jev's System One API using sealed interfaces and records so invalid requests fail at compile time.
Overview
jev-sdk-java is a small, unofficial Java 21 client for the TypeSafe AI Jev decision API. Its main idea is moving request mistakes from runtime 422 errors to compile time. The raw API is a single POST /v1/systemone whose questions form a discriminated union: a choice needs a name-to-description object, a score an ordered array, and a noul neither. This SDK models that with enums for fixed parts and sealed interfaces and records for the parts you fill in, with no maps in its public API.
Answers are a sealed interface, so switches over them are exhaustive, and probabilities come back as ordered records rather than loosely populated maps. The only runtime dependency is Jackson Databind, with HTTP through the JDK's own client. The README covers authentication, the three primitives, asking several questions at once, describing content, error handling, implementation patterns, Spring Boot integration, testing and design notes, and thanks the TypeSafe team for publishing a clean OpenAPI schema.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Which team? | billing · support |
| Score | How urgent? | Can wait · This week · Today |
| Yes / no | Is this spam? | yes · no |
How it works
- Add the Maven dependency (Java 21+)
- Build questions with Question.choice, score and noul
- Send the request through the client
- Switch exhaustively over typed answers
Strengths
- Compile-time checking of request shapes
- Exhaustive handling of answer types
- Minimal dependencies
- Spring Boot integration documented
Caveats
- Unofficial community SDK
- Requires Java 21+
Getting started
Add the com.luigivismara jev-sdk-java dependency via Maven or Gradle and set your TypeSafe API key.At a glance
- Type
- Library
- Status
- beta
- Language
- Java
- Runtime
- Library
- Has code
- yes
- License
- MIT
Use cases and integrations
How curated lists describe it
Type-safe Java 21 client for the TypeSafe AI Jev (System One) decision API
logicrw/awesome-jev-projectsType-safe Java 21 client for the TypeSafe AI Jev (System One) decision API.
hellogumbo/awesome-jev
Frequently asked questions
Why a typed SDK?
So malformed requests fail at compile time instead of returning a 422 at runtime.
What are the dependencies?
Only Jackson Databind plus the JDK HTTP client.
Is it official?
No. It is an unofficial community SDK.
Related projects
Ax, a DSPy-style multi-language LLM framework, listed with a native TypeSafe provider for Boolean, Choice, Score and raw Jev questions.
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.
LibraryproductionPythonProvider-agnostic TypeScript AI SDK; per list sources, an @tanstack/ai-typesafe adapter exposes Jev decisions through decide().
ServiceproductionTypeScript