Skip to content

Jev SDK Java

An unofficial Java 21 client for the Jev decision API that replaces maps with records and sealed types, so a malformed choice, score or noul question fails to compile instead of coming back as a 422.

Stars
6
Language
Java
License
MIT
Published by
Community
Author
luigivis
Last verified
Oct 2026

About this project

A small, type-safe Java 21 client for the TypeSafe AI Jev (System One) decision API. Jev is a decision model, not a chat model: you hand it some content and a set of typed questions, and it hands back structured answers with calibrated probabilities. This SDK models that contract with Java's own type system — enums for the parts the API fixes, sealed interfaces and records for the parts you fill in — so a decision request that compiles is a decision request the API accepts. Score — rate on a rubric.

Quoted from the project's README. Read the full README.

Highlights

  • No maps in the API: options, rubric levels and question names are records, and answers are a sealed interface, so a switch over them is exhaustive.
  • Duplicate option names and colliding question names are rejected when you build the request, rather than silently dropping an answer at runtime.
  • Score answers merge the API's separate legend and probability objects into one ordered rubric, with a weighted average, nearestLevel and per-level odds.
  • Jackson Databind is the only runtime dependency; HTTP goes through the JDK's own HttpClient, and the client is immutable and thread-safe.

Watch out

This is an unofficial community SDK, and the README says plainly that it is not affiliated with or endorsed by TypeSafe AI, with the credit going to them. The published artifact is 0.1.0 and requires Java 21+, so expect the surface to move. The typing is asymmetric: question shapes are checked at compile time, but state is typed as Object and handed to Jackson, so a malformed context still goes out and fails on the response rather than on the build. Runtime lookups can throw as well — probabilityOf on an option you never defined, levelAt on a level that does not exist — so the compile-time guarantee covers construction, not every access afterwards. Auth reads JEV_API_KEY from the environment and refuses to start without it; the client never logs or echoes the key, and the README's advice for a key that reached a log or a commit is to rotate it in the TypeSafe console. On cost, output tokens are free on the published rate card, so only input tokens bill, which is why batching named questions into one request is the cheap path. Copy reviewed against the repository README on 2026-10-04, not from running it.

Questions about this entry

Short answers drawn from the linked project or page.

More Jev resources like this

6GitHub stars
Idiomatic Java 17 and later client for Jev with one-off evaluate calls, reusable JevRequest builders, async support, and structured rubric helpers.
Jev Repos & SDKs#community#jevbest#catalog-import
45GitHub stars
Go SDK plus a pipeline-friendly CLI for typed decisions, covering single questions, batched question maps, retries, and line-oriented filtering over stdin.
Jev Repos & SDKs#community#jevbest#catalog-import
16GitHub stars
Swift library and CLI for asking Jev typed Choice, Noul, and Score questions from Apple platforms, with answers returned alongside calibrated probabilities in one parallel request.
Jev Repos & SDKs#community#jevbest#catalog-import
9GitHub stars
Go SDK for the TypeSafe API that asks typed Noul, Choice, and Score questions about a state and returns probability distributions with confidence and typed accessors.
Jev Repos & SDKs#community#jevbest#catalog-import
8GitHub stars
Zod 4 companion that adds Jev meaning checks to shape checks: one parseAsync call sends every semantic rule as noul questions in a single request and turns probabilities into ordinary Zod issues.
Jev Repos & SDKs#community#jevbest#catalog-import
8GitHub stars
Early-alpha Haskell DSL for building Jev question packets as expressions with inferred types, exact request rendering, and exhaustive typed answer handlers.
Jev Repos & SDKs#community#jevbest#catalog-import

From the Jev guides

Original write-ups on what this entry is for.

Closed weights have not stopped the ecosystem from rebuilding the shape in the open. API-compatible servers, retrained heads on small models, and inference-time tricks that skip generation entirely.
Jev Repos & SDKs#open-models#research#local
Read article
Back to all resources

From the Jev community

Posts from builders shipping with Jev right now.

Follow @typesafeai