llm-typesafe
Simon Willison's LLM plugin that adds Jev as a model for yes/no, choice and score questions from the command line.
Overview
llm-typesafe is a plugin for Simon Willison's LLM command-line tool that adds TypeSafe's classification and scoring models, registering typesafe/jev-latest with the alias jev. You pipe or pass text as the prompt and give the question as the system prompt, and get back JSON.
By default the answer type is noul, a yes/no probability; optional criteria can define what true and false mean. With answer_type choice you supply at least two named categories with descriptions (or null) and get the chosen category, confidence and probabilities. With answer_type score you supply 2 to 10 ordered descriptions, lowest to highest, and get a possibly fractional score, legend, probabilities and confidence; the README notes that scores measure degree on the rubric, not probability. Structured JSON input is supported with an explicit input_format option, and text is never auto-interpreted as JSON. It installs with llm install and uses llm's key management. It is a convenient way to try Jev from the shell or in scripts.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Yes / no | Does this message explicitly request a refund? | — |
| Choice | Which team should handle this message? | billing · technical · other |
| Score | How reproducible is the problem described in this report? | No reproduction instructions · Some instructions, but important steps are missing · Complete steps with expected and actual results |
How it works
- llm install llm-typesafe and set a key
- Run llm -m jev with text and a system-prompt question
- Choose answer_type and criteria as options
- Receive JSON with probabilities
Strengths
- Fits existing LLM CLI workflows
- Clear option syntax for all three types
- Explicit JSON input handling
Caveats
- One question per call via the CLI
- Requires a TypeSafe key
- CLI-oriented rather than a library
Getting started
llm install llm-typesafe && llm keys set typesafe, then llm -m jev 'text' -s 'question'.At a glance
- Type
- Plugin
- Status
- production
- Language
- Python
- Runtime
- LLM CLI plugin
- Has code
- yes
- Has tests
- yes
Use cases and integrations
How curated lists describe it
LLM plugin for accessing Jev and other TypeSafe AI models.
hellogumbo/awesome-jev
Frequently asked questions
What is the default answer type?
noul, a probability of yes.
How do I ask a multiple-choice question?
Use -o answer_type choice with -o criteria listing the categories.
Is a score a probability?
No, it measures position on your rubric.
Related projects
Go integration bringing TypeSafe Choice, Score and Noul to Google's adk-go agents, with a typed client, routing agent and callbacks.
ProjectbetaGoRuby gem for probabilistic conditionals like Feelings(msg).like?("urgent"), answered by Jev or other decision models.
ProjectbetaRubyRust CLI and library that asks Jev typed questions via OpenRouter and combines the probabilities with fuzzy-logic rules into decisions.
CLIbetaRustElixir DSL (Gut.feel) that picks an Elixir value for a subject and question, with a Jev evaluation adapter among LLM options.
ProjectbetaElixirIndependent OpenClaw plugin exposing one explicitly invoked typesafe_decide tool that sends supplied state and typed questions to Jev.
HookbetaTypeScriptMinimal Pi extension and TypeScript client registering a jev_evaluate tool for noul, choice and score across five Jev platforms.
ProjectbetaTypeScript