Jev directory
CommunityJev Repos & SDKs
Jev Agent Tools — npmjs.com
Node.js 22+ npm package that provides a multi-provider Jev transport layer. One ask() call picks a carrier from the environment, sends typed questions, and validates answers before returning them, giving typed rejections instead of thrown verdicts.
- Reading time
- 2 min
- Published by
- Community
- Added
- Oct 2026
This is one of several Jev listings for the same project. The canonical entry is jkudish's Jev Agent Tools.
Highlights
- ask(input, config?) returns a Promise and never throws a verdict; failures arrive as typed codes.
- Auto-selection order is TypeSafe, OpenRouter, Cloudflare, then Vercel AI Gateway.
- Retries 408/409/429/5xx up to three attempts, honoring Retry-After within the caller's abort signal.
- Validation requires exactly the requested answer and criterion IDs with finite probabilities in [0,1].
- Used by Jev Browser and Jev MCP; MIT licensed.
Questions about this entry
Short answers drawn from the linked project or page.
Run npm install @jkudish/jev-agent-tools. It requires Node.js 22 or newer. The package exports ask() plus the JevTransport type for callers that supply their own transport.
Four built-in carriers: TypeSafe, OpenRouter, Cloudflare, and Vercel AI Gateway. Auto-selection tries them in that order, and JEV_PROVIDER can be set to typesafe, openrouter, cloudflare, vercel, or auto to select strictly.
TYPESAFE_API_KEY with optional TYPESAFE_BASE_URL, OPENROUTER_API_KEY, JEV_CLOUDFLARE_API_TOKEN preferred over CLOUDFLARE_API_TOKEN plus CLOUDFLARE_ACCOUNT_ID, and AI_GATEWAY_API_KEY. With no provider configured, the diagnostic names every supported credential variable.
The call returns ok: false before any usage is credited, with codes such as answer_id_mismatch, invalid_distribution, invalid_noul, invalid_usage, or invalid_model. Transport failures return request_failed, rate_limited, or unavailable, and messages never include response bodies or credentials.
Yes. ask(input, { transport }) accepts any JevTransport with a name and an ask(input) returning answers, usage, and model, and the validator checks it exactly as it checks a built-in carrier. The built-in list itself is maintainer-curated, so new built-in carriers generally need demonstrated demand.
Set JEV_VERCEL_ZERO_DATA_RETENTION=1 or true to request Vercel's ZDR routing on every request; unset, empty, 0, or false leaves the body unchanged, and any other value is a configuration error before a request is sent. Use JEV_PROVIDER=vercel when every judgment must use that restriction.
It is MIT licensed and maintained by jkudish, with CI configured on GitHub. The built-in provider list is a fixed, maintainer-curated set; support for other providers is expected to arrive as third-party driver packages rather than new built-ins.
Reactions & coverage
Posts, threads, and videos about this entry from around the web.
Facebook: Intake Router keeps diagnosis out of the answer space at the front desk.
FacebookClinicnotes
X: OpenRouter Decision Model Rankings
X: herdr + jev, an agent router
X: A group chat bot with decision room routing
From the Jev guides
Original write-ups on what this entry is for.
From the Jev AI model community
Posts from builders shipping with Jev right now.