laya-php
★ 110marcreichel/laya-php
Laravel-ready PHP client for Laya, the open System One model, so a typed decision is a PHP enum rather than a parsed sentence. Self-hosted, no Jev key.
PHP client for the three primitives.
View on GitHub →Checked, not fully reviewed
A small, tested PHP client for Jev's three answer types. Checked, not fully reviewed: reads the published shape, retries 529, sends objects' private fields.
Good for
Watch out for
Tested Oct 6, 2026 at d71bb9e468fd · PHP 8.5 in Docker; its 68 tests, and the client driven against a local stand-in answering in TypeSafe's published response shape
Checked, not fully reviewed. We ran its 68 tests (all pass) and drove the client against a stand-in that answers in the shape of TypeSafe’s published spec. No Jev calls.
You declare a decision as a class whose constructor parameters carry #[Noul], #[Choice] or
#[Score] attributes, call $client->evaluate($text, TicketDecision::class), and get an instance
back; a fluent SystemOneRequest::build() covers everything else. Against the stand-in, a noul, a
choice with its confidence, and a score with its expected value and per-level probabilities all came
back as sent, and models() read the { models: [...] } shape.
It retries 408, 429 and every 5xx, including 529, three attempts in all: one 529 was
answered 1.5 s later, and four in a row gave up after three tries with a Guzzle ServerException.
The optional request log omits headers, so the
API key stays out of it; the request body, state included, does not.
One behaviour to know before passing your own objects. The README says objects are sent “with their
private properties”, and they are: a User with a private passwordHash and a protected apiToken
went out with both. That is the documented behaviour of its serializer, not a bug, but it is not what
json_encode would do — convert to an array with only the fields you mean to send.
Apache-2.0, 14 stars, PHP 8.2+. For Laya’s own server, see laya-php.
See how it compares with other tools in Best Jev tools, tested hands-on.
Review updated Oct 6, 2026. Numbers quoted from the project are its author's own; we don't publish our own measurements of Jev.
marcreichel/laya-php
Laravel-ready PHP client for Laya, the open System One model, so a typed decision is a PHP enum rather than a parsed sentence. Self-hosted, no Jev key.
spring-ai-community/spring-ai-typesafe
Java client for the System One API on Spring RestClient, plus Spring AI integrations that use it as a judge, a guardrail, a RAG post-processor and a tool index.
obie/ruby_decision_model
Ruby gem with one client for decision models behind several providers: TypeSafe's Jev, OpenRouter (the default), OpenAI, Cloudflare Clef, Perplexity and any /v1/systemone server.
New Jev releases, pricing changes, and the best new projects, once a week. No spam; unsubscribe anytime.
Powered by Buttondown. See our privacy policy.