Skip to content

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.

LibrarybetaMIT

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

TypeQuestionAnswers
ChoiceWhich team?billing · support
ScoreHow urgent?Can wait · This week · Today
Yes / noIs this spam?yes · no

How it works

  1. Add the Maven dependency (Java 21+)
  2. Build questions with Question.choice, score and noul
  3. Send the request through the client
  4. 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

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.

    PluginproductionTypeScript
  • Effect TypeScript library whose @effect/ai-typesafe package maps classify, probability and rating operations to Jev questions.

    ProjectproductionTypeScript
  • PHP monorepo whose Polyglot module adds a TypeSafe driver for typed Noul, Choice and Score decisions alongside LLM inference.

    ProjectproductionPHP
  • Elixir library for unified LLM calls across providers, with an evaluate interface that calls Jev via TypeSafe or OpenRouter.

    ProjectproductionElixir
  • Self-hosted multi-tenant AI agent platform listed as including optional TypeSafe client tools for classification, scoring and yes/no.

    LibraryproductionPython
  • Provider-agnostic TypeScript AI SDK; per list sources, an @tanstack/ai-typesafe adapter exposes Jev decisions through decide().

    ServiceproductionTypeScript