TypeSafe Connector for Mule 4
Think: Smart If Statements.
Jev is TypeSafe's System One model. It turns unstructured JSON state and typed questions into a value a Choice router, filter, or expression can read. The flow owns the if: the threshold, the route, and the side effect. This connector exists to make that if possible in Mule.
Start with How Decisions Work for connector behavior (policy bands, fail-closed Apply Policy, filter keep/uncertain/drop, drift on Noul) without needing deep Jev reading.
Jev
Use these pages when you need the official project behind a connector concept:
| Topic | Official page |
|---|---|
| What Jev is | Introduction |
| System One | System One |
| How to design the if | How to build with System One |
| State | State |
| Choice, Score, Noul, and Box | Primitives |
| Images (multipart assets) | Images |
| Box coordinates | Box |
| When to act on an answer | Confidence |
jev-latest and model cards | Models |
POST /{apiVersion}/systemone | HTTP API |
| Announcement | Introducing System One Models and Jev |
Why use it?
Jev is one System One HTTP call. The connector turns that call into Studio-ready Decide shortcuts, scale patterns, local policy, utilities, and sources — see Why a Connector.
- Typed decisions — Noul (yes/no probability), Choice (classification), Score (ordered rubric), and Box (image coordinates) answers.
- Images — PNG/JPEG assets on Decide and Select calls (multipart); Locate for Box. See Images.
- Native DataSense — JSON input and output metadata, including answer-specific metadata for reusable question sets.
- Six routes — TypeSafe, OpenRouter, Vercel AI Gateway, Cloudflare Workers AI, compatible gateways, and an in-process mock.
- Resilient execution — ordered provider fallbacks, retry handling, optional caching, budgets, and usage statistics.
- Flow-ready governance — local policy returns
ACCEPT,REVIEW, orREJECT; fails closed and validates rules before applying. - Scale operations — bounded-concurrency batch evaluation and filtering with optional keep / uncertain / drop bands.
- Operational signals — polling sources for drift (including Noul certainty), budget thresholds, and successful provider failovers.
Core concepts
| Term | Meaning |
|---|---|
| State | The JSON context being evaluated, such as a ticket, order, candidate, or message. |
| Noul | A yes/no question whose answer is the probability of “yes.” |
| Choice | A classification question that returns one option and a probability distribution. |
| Score | An ordered rubric that returns a score, level distribution, and derived level. |
| Box | An image question that returns a bounding box (top / bottom / left / right as 0–1 fractions) plus derived geometry. Needs Jev 1.14+. |
| Images | Reference → PNG or JPEG binary on Decide / Select operations; each reference must appear in state, instructions, or criteria. |
| Question set | A reusable JSON file under src/main/resources/questions/. |
| Policy | Local thresholds that convert answers into an ACCEPT, REVIEW, or REJECT action (three-band Noul, per-option Choice, named routeQuestion). |
Routes
| Route | Authentication | Notes |
|---|---|---|
| TypeSafe | API key | Direct System One access, model listing, and images / Box (supportsImages, supportsBox). |
| OpenRouter | API key | Jev through OpenRouter, including provider-reported cost. No multipart images. |
| Vercel AI Gateway | Gateway key or OIDC token | Jev through Vercel AI Gateway. No multipart images. |
| Cloudflare Workers AI | Account ID and API token | Cloudflare model endpoint; model listing and images unavailable. |
| Compatible Gateway | Optional bearer key | A configurable endpoint that implements the System One contract; images when the gateway supports them. |
| Mock | None | In-process, deterministic answers for development and tests, including images / Box. |
Keyed routes can define ordered fallback routes. A fallback is attempted for connectivity, timeout, rate-limit, and overload failures—not for invalid requests or authorization failures.
Operations
Decide and select
- [Decide] Evaluate — evaluate a complete question set (including Box).
- [Decide] Ask Yes/No — ask one Noul question.
- [Decide] Choose — classify state into one option.
- [Decide] Score — grade state against ordered levels.
- [Decide] Locate — return the bounding box of a target in an image.
- [Select] Candidate — select and rank the best upstream row.
- [Decide] Evaluate Batch — evaluate one question set across many states.
- [Select] Filter — partition items into kept, uncertain, and dropped by Noul.
Policy and utilities
- [Policy] Apply — turn answers into a routing action locally (fails closed; validates policy).
- [Util] Connection Get Capabilities — report route capabilities locally.
- [Util] Connection List Models — enumerate models across supporting routes.
- [Util] Validate Question Set — validate a question set before a billed call.
See the operations overview for inputs, outputs, and provider-call behavior.
Sources
- On Drift Detected — watches no-match rate, confidence (or Noul certainty), and answer-distribution changes.
- On Budget Threshold — fires when calls or input tokens cross a configured percentage.
- On Provider Failover — emits successful fallback events.
See Sources for payloads and configuration.
Requirements
- Mule Runtime 4.9.0 or later
- Java 17
- Maven 3.9.x