Skip to content

jev_elixir

Small idiomatic Elixir client for Jev via TypeSafe or OpenRouter, with boolean ask? and analyze helpers.

Librarybeta

Overview

jev_elixir is a compact Elixir interface for typed decisions with Jev. It exposes application-level functions such as Jev.ask?/2, which returns a real boolean against a threshold for use in case expressions or Phoenix controllers, and Jev.analyze/3 for richer questions. Provider adapters handle the wire format.

The first release supports TypeSafe's System One API and OpenRouter's alpha Decisions API (defaulting to typesafe/jev-1.13), both with Noul, Choice and Score. Configuration is done at runtime so the API key stays out of compiled releases, and calls can override provider, key, model, endpoint or timeout. The README's example marks a comment as spam when ask? passes at a 0.95 threshold.

What the decision model decides

TypeQuestionAnswers
Yes / noIs this spam?—

How it works

  1. Add jev_elixir and configure provider and key in runtime.exs
  2. Call Jev.ask? or Jev.analyze with a state
  3. Adapter sends the request to TypeSafe or OpenRouter
  4. Branch on the boolean or typed result

Strengths

  • Idiomatic boolean API for Phoenix code
  • Two provider adapters
  • Keys kept out of compiled releases

Caveats

  • OpenRouter Decisions API is alpha and may change
  • Version 0.1.0

Getting started

Add `{:jev_elixir, "~> 0.1.0"}` and set `config :jev_elixir, provider: :typesafe, api_key: System.fetch_env!("TYPESAFE_API_KEY")`.

At a glance

Type
Library
Status
beta
Language
Elixir
Runtime
Library
Has code
yes

Use cases and integrations

How curated lists describe it

Frequently asked questions

Which providers are supported?

TypeSafe's System One API and OpenRouter's Decisions API.

What does ask? return?

A real boolean based on the Noul probability and your threshold.

How is the key handled?

Through runtime configuration so it is not compiled into releases.

Related projects

  • Unofficial Symfony bundle with a typed Jev client, Noul and Choice validator constraints, Workflow guards and a profiler panel.

    LibrarybetaPHP
  • Nushell plugin that asks Jev noul, choice and score questions about a state or each table row, returning typed answers to filter.

    PluginbetaRust
  • Community Java 17 SDK for Jev with typed Ask declarations, enum-backed choices and a Spring Boot starter.

    LibrarybetaJava
  • Hack Club's lightweight LLM proxy, listed for adding a Jev forwarding endpoint behind its auth, limits and usage logging.

    MCP serverproductionTypeScript
  • 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