openai-scala-client
Async Scala client for OpenAI and many providers, with adapters for TypeSafe Jev and other decision models.
Overview
openai-scala-client is a widely used async Scala client covering OpenAI's endpoints, including streaming with a provider-neutral typed chunk stream, chat completions, the responses and agents APIs, tools and MCP, graders, vision, batch and voice. It ships adapters for many providers: Anthropic, Google Gemini and Vertex, Groq, Perplexity including its decision model, TypeSafe AI (Jev), Liquid AI (d1), Microsoft Foundry's Microsoft-Decision-1, SubQ Snap, and decision models on OpenRouter and Vercel AI Gateway.
Per the list summary, it has a dedicated TypeSafe module. For Scala and JVM teams, this means Jev and other decision models can be called through the same client and configuration as their chat models. Details of the TypeSafe module's API are not in the README excerpt.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Other | Choice, Score and Noul calls passed through the TypeSafe module(inferred) | — |
How it works
- Add the client and the TypeSafe module to your build.
- Configure the TypeSafe key.
- Call decision endpoints alongside other providers.
Strengths
- One Scala client for chat and decision models.
- Supports several decision-model providers.
- MIT licensed.
Caveats
- TypeSafe module specifics not in the README excerpt.
- Large dependency if you only need decisions.
At a glance
- Type
- Library
- Status
- production
- Language
- Scala
- Runtime
- JVM library
- Has code
- yes
- License
- MIT
Use cases and integrations
How curated lists describe it
A dedicated TypeSafe module in a Scala client that supports multiple AI providers.
logicrw/awesome-jev-projects
Frequently asked questions
Does it support Jev?
Yes, it includes an adapter and a dedicated TypeSafe module.
Which other decision models are supported?
Perplexity's decision model, Liquid AI d1, Microsoft-Decision-1, SubQ Snap and decision models on OpenRouter and Vercel AI Gateway.
What language is it for?
Scala.
Related projects
Hack Club's lightweight LLM proxy, listed for adding a Jev forwarding endpoint behind its auth, limits and usage logging.
MCP serverproductionTypeScriptAx, 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.
ProjectproductionPHPGo MCP server giving any client typed Jev decisions via OpenRouter or TypeSafe, with validated answers and no paid retries.
MCP serverproductionGoSimon Willison's LLM plugin that adds Jev as a model for yes/no, choice and score questions from the command line.
PluginproductionPython