TypeSafe
Jev 1.14
typesafe/jev-1.14
The latest version of Jev, TypeSafe's structured decision model and the first of its System One models. It makes fast, structured decisions for software and returns probabilities, not prose.
RoleThe tool-call gate
$0.042
In / M
Free
Out / M
262K
Context
- AA intelligence index
- Not on listing
- Inputs
- text, image
- Outputs
- decisions
- Tools
- Not listed
- Structured output
- Not listed
- Reasoning
- Not listed
- Weights
- Closed
- Listed
- Oct 14, 2026
01 · What it's good at
Use it for this.
Three jobs this model is built for, and the ones to give to something else.
01
Gating an agent's risky tool calls: approve, block, or ask a human
02
Classification and grading with calibrated probabilities
03
Any step where the next line of code is an if-statement
Skip it for
- Writing, chat, or code generation
- Picking a model for you. That is Jev Router, a different product
02 · Example tasks
What you'd actually send it.
Real inputs, not a benchmark. Paste one into the snippet below to try it.
You send
State: the proposed refund, the ticket, and your policy. noul questions: right order? amount allowed? policy covers it?
Why this model
From OpenRouter's cookbook: approve at 0.9 or above, block at 0.1 or below, otherwise ask a human.
03 · Your stack
Where it sits: Gate & route.
Inside your agent runner, between the model proposing a tool call and the tool running. Also anywhere you would otherwise parse 'yes' or 'no' out of a chat reply.
Layer 01
Retrieve
Layer 02
Plan & reason
Layer 03
Do the volume
Layer 04 · this model
Gate & route
Layer 05
Draw, speak, listen
04 · Wire it up
One request. Paste and run.
Uses OpenRouter, so one key works for every model on this site. Set OPENROUTER_API_KEY and swap the prompt for one of the tasks above.
const res = await fetch("https://openrouter.ai/api/alpha/decisions", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.OPENROUTER_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"model": "typesafe/jev-1.14",
"state": {
"proposed_call": "issue_refund(order=4821, amount=129.00)",
"ticket": "The blender arrived cracked. Order 4821.",
"policy": "Refund damaged items up to the order total."
},
"questions": {
"right_order": {
"type": "noul",
"instructions": "Does the refund target the order named in the ticket?"
},
"policy_covers": {
"type": "noul",
"instructions": "Does the policy cover this refund?"
}
}
}),
});
if (!res.ok) throw new Error(`Decisions ${res.status}: ${await res.text()}`);
const { answers } = await res.json();
// A noul answer is the probability of "yes". Your code picks the thresholds.
const p = answers.right_order.noul;
if (p >= 0.9) console.log("yes");
else if (p <= 0.1) console.log("no");
else console.log("send to a human", p);
Decisions is an alpha endpoint on OpenRouter. The TypeScript SDK exposes it as openRouter.alpha.decisions.create().
05 · Watch out for
Gotchas.
Repeated identical calls can move probabilities slightly (the cookbook saw up to 0.08). Keep thresholds far apart.
Never let a failed or malformed decision count as an approval.
From our review · 2026-10-18
Jev answers three question shapes, plus Box questions that are Jev-only on the OpenRouter listing. noul is yes/no, choice is one of your options, score is a level on your rubric. Each comes back as probabilities. You pick the threshold. The weights are closed: there is no Hugging Face id on the OpenRouter listing. A separate product, Jev Router, does pick a model for you. That is a router, not this classifier.
TypeSafe's site claims large speed and cost gains on its own System One workflows, and 'zero hallucinations.' Those are the vendor's numbers. Jev was announced Sep 15, 2026; 1.14 was listed available Oct 14, 2026.
Sources
- OpenRouter model listing ↗
- OpenRouter cookbook: gate agent tool calls with Jev ↗
- TypeSafe quickstart ↗
- TypeSafe models ↗
- Introducing System One and Jev ↗
- OpenRouter Jev guide ↗
Lessons are written from each model's listing and the linked docs. We don't publish our own benchmark numbers; the index above is Artificial Analysis, as shown on OpenRouter.
Keep learning