Skip to content

TypeSafe — mattneel

An unofficial Elixir client for TypeSafe's System One API. Noul, Choice and Score questions go out in one request and come back as structs with probabilities, and thresholds and policy stay in your code.

Stars
2
Language
Elixir
License
MIT
Published by
Community
Author
mattneel
Last verified
Oct 2026

mattneel/typesafe

User repository on GitHub

View on GitHub

An idiomatic Elixir client for the TypeSafe AI API

Forks
1
Last pushed
Updated Oct 2026

Repo stats from the GitHub API, cached Oct 2026.

This is one of several Jev listings for the same project. The canonical entry is TypeSafe — krzyzanowskim.

About this project

Elixir client for TypeSafe's System One API and its Jev model. Ask typed Choice, Noul and Score questions about your application's state in one request, and get back structs with probabilities that your code acts on. This is a community client, not an official TypeSafe SDK. The SDK returns judgments as data. Thresholds and policy stay in your code. Add typesafe to your dependencies in mix.exs:

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

Highlights

  • Answers come back keyed by your own ids: atom ids and atom Choice options stay atoms, strings stay strings.
  • A %TypeSafe.Error{} struct covers every failure mode, and invalid_request errors carry a :path pointing at the offending value.
  • The default retry policy matches TypeSafe's Python and JavaScript SDKs: two retries, exponential backoff, Retry-After honoured, 30 s budget.
  • Tests route through Req.Test with stub_answers and run async, so no test needs a real key or a paid call.

Watch out

This is a community client and the README says so directly — it is not an official TypeSafe SDK, so it can lag the API. It pins Elixir 1.18 or later (for the standard library JSON module) and Erlang/OTP 27 or later, which is a higher floor than the Node SDK needs, and it sits at version 0.1.0. It depends on Req at ~> 0.7.4 or ~> 0.8 plus Zoi and Telemetry, and the test helpers need Plug on top of that. The client is an immutable value with no process state, so you build it once and share it; the Finch pool owns the connect timeout, not the :timeout option, which only covers receiving. :retry_delay is rejected while :retry is a policy struct, and TYPESAFE_LOG_LEVEL is not read — you configure Logger yourself. An answer type this SDK version does not recognise is skipped with a warning and stays reachable in raw, so a schema addition upstream becomes a silent gap rather than an error. 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

1GitHub stars
An unofficial Elixir SDK for TypeSafe's System One endpoint, built on Req and Finch, with per-call retry policies, a shared connection pool and status-mapped errors.
Jev Repos & SDKs#community#jevbest#catalog-import
0GitHub stars
Elixir client for the TypeSafe AI System One API: supervised Mint HTTP/1 and HTTP/2 connections, bounded concurrency, request deadlines, retries and telemetry, with typed Choice, Score and Noul answers.
Jev Repos & SDKs#community#jevbest#catalog-import
0GitHub stars
Unofficial typed Elixir client for the TypeSafe System One API: typed question structs in, typed answer structs out, atom-keyed answers, concurrent fan-out over many states and offline test stubs.
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

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