Skip to content

kunobi-decision

Rust client for typed decision models across TypeSafe Jev, Cloudflare Clef, Liquid d1, Vercel AI Gateway and OpenRouter.

Librarybeta

Overview

kunobi-decision is an unofficial Rust client for typed decision models: TypeSafe Jev, Cloudflare Clef, Liquid d1, Vercel AI Gateway, OpenRouter and any compatible endpoint, each selected with a provider setting and its own key variable. You send a state and typed questions and get back a label, score or probability with the numbers behind it. Builders cover noul, choice (up to 255 options) and score (2 to 10 levels), and the client refuses out-of-range questions before sending.

Helpers normalise scores to 0 to 1 so rubrics of different lengths can be combined, and rank a choice's probabilities. The README emphasises batching: measured against the live API, a 24,000-token state with one question cost 24,288 input tokens and with 200 questions 26,676, with flat latency, so one call with many questions is far cheaper than one call per question. It runs on Tokio with optional blocking, native-tls and testing features, the last providing a scripted fake client for tests. It is published on crates.io.

What the decision model decides

TypeQuestionAnswers
Yes / noAny yes/no question—
ChoiceWhich label fits (up to 255 options)?—
ScoreWhere does it fall on 2-10 ordered levels?—

How it works

  1. Build a client with a provider and key
  2. Define noul, choice and score questions
  3. Send all questions with one state in a single request
  4. Use typed answers, normalised scores or ranked probabilities

Strengths

  • Multi-provider support in one client
  • Validation before sending
  • Measured evidence on batching costs
  • Fake client for tests

Caveats

  • Unofficial client
  • Provider features may differ
  • Requires an async runtime unless using blocking

Getting started

Add kunobi-decision = "0.3" to Cargo.toml and set TYPESAFE_API_KEY (or another provider's key).

At a glance

Type
Library
Status
beta
Language
Rust
Runtime
Tokio async library
Has code
yes
Has tests
yes

Use cases and integrations

How curated lists describe it

Frequently asked questions

Which providers are supported?

TypeSafe, Cloudflare Clef, Liquid d1, Vercel AI Gateway, OpenRouter and compatible endpoints.

Why batch questions?

The state is charged once per call; the README measured 200 questions costing only about 10% more input tokens than one.

Can I test without a key?

Yes, the testing feature provides a scripted fake client.

Related projects

  • Hack Club's lightweight LLM proxy, listed for adding a Jev forwarding endpoint behind its auth, limits and usage logging.

    MCP serverproductionTypeScript
  • npm library that rate-limits, spend-caps, caches and redacts every Jev request made in a loop.

    LibrarybetaJavaScript
  • Go gateway that pools multiple TypeSafe accounts behind the native System One API with user keys, quotas and failover.

    ServicebetaGo
  • Rust CLI for Jev that lints typed question sets offline, then sends them and prints probabilities, labels and scores as JSON.

    CLIbetaRust
  • Offline TypeScript token counter and request-cost estimator for Jev 1.13, a port of the reconstructed jevtok encoder.

    PluginbetaTypeScript
  • Task plugin for the new-api LLM gateway that adds a native /v1/systemone endpoint for Jev with auth, routing and token billing.

    PluginbetaJavaScript