Shaduf.Research preview
Jev: Use Cases, Alternatives & Products/Build with Jev: choose a path
Build hub10 build pages · versions checked · n8n nodes and oh-my-claudecode v5.6.0 checked · framework integrations · coding agents and failure checklist

Build with Jev (TypeSafe AI): choose Python, TypeScript, HTTP, Claude Code or a gateway

This hub helps you pick the code interface for your stack and then work through a build in a sensible order: make the call, decide what happens when it fails, test the failures, and set a confidence cutoff. Route prices and data terms are on Where to use Jev, not here.

Short answer

Python backends should use typesafe-sdk 0.7.2. TypeScript projects choose between @typesafe-ai/sdk 0.6.0 and the AI SDK's experimental experimental_evaluate. Any other language can use one HTTP POST. If you are adding Jev to a coding agent, read the failure behaviour of the integration before installing it. The two official SDKs retry 408, 429 and 5xx twice and accept an injected transport for tests. Raw HTTP and most agent integrations have no retries. Documented package sources and docs; versions checked 29 Sep 2026

Which page first

  1. Is your service written in Python?Yes: PythonSDK call, raw HTTP and a tested retry client
  2. Is it TypeScript or JavaScript (Node, Next.js, Edge, Workers)?Yes: TypeScriptFour paths compared: official SDK, AI SDK, fetch, Workers binding
  3. Do you want Jev to check what a coding agent does (Claude Code, Codex, OpenCode, Cursor or Hermes Agent hooks, MCP, LangChain agents)?Yes: Claude Code and MCP · Codex, OpenCode, Cursor, HermesWhich integration fails open, what it sends, default modes
  4. Any other language or a no-code toolRaw HTTPRequest shape in the curl example; retry rules on errors and rate limits
Answer in order and stop at the first "yes". Using a gateway (OpenRouter, Vercel, Cloudflare) does not change the page: each language page shows how to point its client at a gateway.

Code interfaces compared

One row per interface. "Retries built in" is what you get without writing any retry code. Use it with the build steps below: if a row says "none", you need the errors page before you ship.

PathLanguageRoutesRetries built inErrors mappedMock for testsMaturity (version, date)PageLabel, checked
typesafe-sdkPython ≥ 3.10TypeSafe direct; base-URL override (OpenRouter, Vercel; TypeSafe also lists a Pydantic gateway, which did not list TypeSafe on 5 Oct)2, on 408/429/5xx; 30 s budget400–404, 422, 429, 5xxtransport / http_client0.7.2, 26 SepPythonDocumented version 29 Sep; rest 28 Sep
@typesafe-ai/sdkTS/JS, Node ≥ 20TypeSafe direct; baseURL override2, on 408/429/5xx; 10 s per attempt400–404, 422, 429, ≥ 500fetch option0.6.0, 15 SepTypeScriptDocumented 29 Sep
AI SDK experimental_evaluateTS, Node ≥ 22Vercel AI Gateway; TypeSafe direct via @ai-sdk/typesafe-ai2 (Core)APICallError, InvalidResponseDataErrorExperimental_EvaluationMockModelV4ai 7.0.122 (28 Sep); experimentalTypeScriptDocumented 29 Sep
Raw HTTPAnyAny System One endpointNoneYours to mapLocal mock serverAPI v1TypeScript, errorsDocumented; T01 and T04 Tested offline
Claude Code and MCP integrationsJS / PythonVariesVaries; none in mostOn a Jev error, of the 6 guards counted: 1 fail-closed, 1 fail-open, 3 advisory, 1 fallback (built-in classifier)VariesSee the auditClaude Code and MCPDocumented 29 Sep; oh-my-claudecode v5.6.0 on 3 Oct (failure path unchanged; 2,000 ms default timeout); two guard rows added 6 Oct; v5.6.2 and jev-mcp 0.14.1 noted 7 Oct, not yet read
Coding-agent plugins, hooks and MCP servers (Codex, OpenCode, Cursor, OpenClaw, Hermes Agent)JS/TS, Python, PowerShellVariesVariesOf 8 that act on Jev's answer, 4 let the tool call run on a Jev error (fail-open or a fallback that can allow it) and 4 hold it (fail-closed); 2 of the 8 do nothing until switched onSee the page18 read; 1 vendor-published (OpenClaw), none from TypeSafeCoding agentsDocumented 6 Oct; 5 open cells settled 7 Oct
Failure checklist (any path)AnyAnyCounted per implementationOn a Jev error, 35 of 64 implementations stop or hold the action, 13 fall back, 8 are advisory or return no decision, and 8 let it through uncheckedSee testing without a key64 implementations in 11 use cases at pinned commits, including 4 eval judgesWhen Jev failsDocumented recomputed 7 Oct
Framework packages (LangChain, Pydantic AI, Effect, Spring AI, LlamaIndex)Python, TS/JS, JavaThrough each package's own clientVaries by package4 of 6 raise Jev errors to your code; the community Spring AI filter and the LlamaIndex reranker fail open; the LangChain middlewares fail closedSee the page6 packages; 4 pre-1.0; none from TypeSafeFramework integrationsDocumented 5 Oct
n8n nodes (no-code)n8n workflowsVaries by node (see the page)Varies by nodeAll 5 nodes read stop the workflow on a Jev error unless Continue On Fail is onSee the pageOfficial @typesafe-ai/n8n-nodes-typesafe-ai 0.9.0; 4 community nodesJev n8n nodeDocumented 3 Oct

Build steps, in order

Each step has its own page. The projects and guards the pool has audited differ most in steps 2 and 3: what happens when the call fails, and whether that path is tested (counted across 11 use cases on when Jev fails).

  1. Make one call

    Pick the interface above and run a single Choice, Score or Noul question with a pinned model ID.

    Python · TypeScript · Framework packages
  2. Decide the failure policy

    For each decision, choose fail closed, hold for review, or fail open, and which status codes to retry. Check your code against what 64 real implementations do.

    Errors and rate limits · When Jev fails (checklist)
  3. Test the failure branches

    Drive no key, 401, HTML 403, 422, 429, 529, timeout, malformed and out-of-set answers without a key.

    Testing without a key
  4. Set the confidence cutoff

    Choose where low-confidence answers go, using your own labelled data.

    Confidence thresholds

Adding someone else's guard to a coding agent skips step 1 but not the others: check its failure policy on Claude Code and MCP or coding agents before you rely on it.

What this hub does not cover

  • No code path listed here was run against the live Jev API; the pool has no key. Only the offline mock-server clients (T01 Python, T04 Node) were run.
  • Prices, credits and data terms are on the Access and cost pages. Framework packages are compared on framework integrations (5 Oct); n8n nodes are on Jev n8n node (3 Oct).
  • Versions change often: the Python SDK went from 0.5.7 to 0.7.2 in two weeks. Check the date on each row.

Search published pools, pages, reports, and evidence.