Skip to content

Jev

Call TypeSafe's decision model through an HTTP integration

Deploy on exe.dev

Shelley handles the setup.

Prefer a terminal?
curl -fsSL https://exe-staging.dev/deploy/jev/prompt.txt | ssh exe.dev new --prompt=/dev/stdin

Jev is TypeSafe's model for making structured decisions from text. You send state and typed questions, and Jev returns values your code can use directly.

Create an HTTP proxy integration so the API key stays outside your VM. Get a key from the TypeSafe dashboard, export it in your local shell, and attach the integration to your VM:

printf '%s' "$TYPESAFE_API_KEY" | \
  ssh exe.dev integrations add http-proxy \
    --name typesafe \
    --target https://api.typesafe.ai \
    --bearer=- \
    --attach vm:my-jev

From the attached VM, call the integration hostname instead of api.typesafe.ai. The proxy adds the bearer token before forwarding the request:

curl --fail-with-body https://typesafe.int.exe.xyz/v1/systemone \
  --json '{
    "state": "My payout has been delayed for three days. Please help ASAP.",
    "model": "jev-latest",
    "questions": {
      "is_urgent": {
        "type": "noul",
        "instructions": "Does this message express urgency?"
      }
    }
  }'

The response contains an answers.is_urgent.noul value between 0 and 1. See TypeSafe's API reference for Choice, Score, and Noul questions.

What you get#

  • The typesafe HTTP proxy integration attached to your VM, so the API key stays outside it
  • A Jev call from the VM through https://typesafe.int.exe.xyz
  • An answers.is_urgent.noul value between 0 and 1 from the example request
What's running, and where
Private https://typesafe.int.exe.xyz/ Jev, from the attached VM, with the bearer token added for you
my-jev.exe.xyz exe.dev VM
typesafe integration An exe.dev HTTP proxy integration to https://api.typesafe.ai

Deploy with Shelley#

Click Deploy and Shelley will set up Jev on a new VM, then check that it works. No config-file wrangling required.

Prefer a terminal?
curl -fsSL \
  https://exe-staging.dev/deploy/jev/prompt.txt \
  | ssh exe.dev new --prompt=/dev/stdin
What Shelley is told
Set up Jev on this VM by following the exe.dev recipe at https://exe-staging.dev/deploy/jev.md from top to bottom.

The recipe's example VM name is my-jev. This VM's name is the output of `hostname`: use it wherever the recipe writes my-jev. Skip the step that creates the VM; you are on it.

You are done when all of these are true. Check each one yourself:
- The `typesafe` HTTP proxy integration attached to your VM, so the API key stays outside it
- A Jev call from the VM through `https://typesafe.int.exe.xyz`
- An `answers.is_urgent.noul` value between `0` and `1` from the example request

Only I can create the integration, from my own computer, and the API key
must never be on this VM. Give me the `integrations add` command first,
with this VM's name in it, and wait until I say I've run it. Then make
the example call.

Finish with the URLs I should open.

Also at /deploy/jev/prompt.txt. The recipe it follows is /deploy/jev.md.

Updated Oct 17, 2026 · Markdown · manifest.json · Something wrong? Tell us