Skip to content

Jev Php SDK

Framework-agnostic PHP client for TypeSafe's System One API: send state plus typed Noul, Choice and Score questions in one call, get back probabilities, scores and confidence you can route on.

Stars
2
Language
PHP
License
MIT
Published by
Community
Author
mzainzulifqar
Last verified
Oct 2026

About this project

A small, framework-agnostic PHP client for TypeSafe's System One API. You send a piece of state and a set of typed questions. You get back typed answers with calibrated probabilities — a chosen option, a score, or the odds a statement is true. There is no prose to parse and no output format to coax out of a prompt.

Quoted from the project's README. Read the full README.

Highlights

  • Every question about one state goes out in a single ask() call and is answered in parallel, so three questions about one email cost barely more than one.
  • uncertain(threshold: 0.8) names fields for human review while confident answers route automatically; ranked() returns options most to least likely.
  • Rate limits, overload and connection failures retry with backoff and jitter honouring Retry-After; a rejected request is never retried.
  • Tests need no network — pass any PSR-18 client and nothing leaves the process, and the package's own suite ships a fake in tests/FakeHttpClient.php.

Watch out

This is a community package, not affiliated with TypeSafe, and it adds no calibration of its own: the promise that a 0.85 is right about 85% of the time is a property of the API, and nothing here tests it. The default model is the moving jev-latest alias, so pin a version with withModel() if you tune thresholds, or a deploy can change your routing silently. askEach() is sequential on purpose, keeping each row's result attached and its failures attributable, which means bulk throughput is yours to parallelize through a queue. One trap to pre-empt: a queued job that retries plus a client that retries means the same call is retried twice, which is exactly what RetryPolicy::none() is for. Outside Laravel you must already have a PSR-18 client or let Composer install one through php-http/discovery, and reading an answer under the wrong key or the wrong type throws MissingAnswer rather than returning null. Copy reviewed against the repository README on 2026-10-04, not from running it.

Questions about this entry

Short answers drawn from the linked project or page.

More Jev resources like this

0GitHub stars
Unofficial PHP client for the TypeSafe System One API: strictly typed, zero framework dependencies, a cURL transport you can swap, and optional ResponseModel classes that decode answers into your own objects.
Jev Repos & SDKs#community#jevbest#catalog-import
15GitHub stars
PHP 8.2+ client for Jev that sends a state with typed noul, choice, and score questions and returns one typed answer per question ID with probabilities and usage.
Jev Repos & SDKs#community#jevbest#catalog-import
45GitHub stars
Go SDK plus a pipeline-friendly CLI for typed decisions, covering single questions, batched question maps, retries, and line-oriented filtering over stdin.
Jev Repos & SDKs#community#jevbest#catalog-import
16GitHub stars
Swift library and CLI for asking Jev typed Choice, Noul, and Score questions from Apple platforms, with answers returned alongside calibrated probabilities in one parallel request.
Jev Repos & SDKs#community#jevbest#catalog-import
9GitHub stars
Go SDK for the TypeSafe API that asks typed Noul, Choice, and Score questions about a state and returns probability distributions with confidence and typed accessors.
Jev Repos & SDKs#community#jevbest#catalog-import
8GitHub stars
Dependency-free Swift package for the System One HTTP API with typed Choice, Score, and Noul questions, batched evaluation, and reusable question sets.
Jev Repos & SDKs#community#awesomejev#catalog-import

From the Jev guides

Original write-ups on what this entry is for.

Closed weights have not stopped the ecosystem from rebuilding the shape in the open. API-compatible servers, retrained heads on small models, and inference-time tricks that skip generation entirely.
Jev Repos & SDKs#open-models#research#local
Read article
Back to all resources

From the Jev community

Posts from builders shipping with Jev right now.

Follow @typesafeai