shipwithjev

Catalog / Tools & apps

0373GitHub

Jot

A general-purpose agent loop where Jev picks the next move and Jot runs it.

A general-purpose agent loop where Jev picks the next move and Jot runs it. No license file at the time of writing.

runta-dev/jotREADME ↗
### The first general-purpose System One agent for Jev

Jev picks the next move. Jot runs the loop.

[](https://github.com/runta-dev/jot/stargazers)
[](https://github.com/runta-dev/jot/issues)
[](https://github.com/runta-dev/jot/commits)
[](https://www.typescriptlang.org/)
[](https://nodejs.org/)
[](https://www.apple.com/macos/)
[](https://typesafe.ai/)

[Quick start](#quick-start) · [The loop](#the-loop) · [Packages](#packages)

</div>

<p align="center">
  <a href="https://github.com/runta-dev/jot/raw/main/videos/demo.mp4">
    <img src="videos/demo.png" alt="Jot demo" width="100%">
  </a>
</p>

## What it does

Jot is the first general-purpose [System One](https://typesafe.ai/) agent for [Jev](https://typesafe.ai/). Jev chooses tools and arguments. Jot runs the loop: execute, put the real results back into context, ask Jev again until it can reply.

You see every tool call. Credentials stay on the server. Chats stay in this browser.

## The loop

```text
You → Jev chooses a tool → execute → tool result → Jev again → reply
```

```text
You: Add 6 and 7, then multiply by 2.

calculate({ left: "6", operator: "add", right: "7" })  → 13
calculate({ left: "13", operator: "multiply", right: "2" })  → 26

Jot: 26
```

The calculator does the math. Jev only decides the calls.

## Quick start

Needs Node.js, a [TypeSafe](https://typesafe.ai/) API key, and Apple Silicon with `uv` for local drafts.

```sh
npm install
cp .env.example .env   # set TYPESAFE_API_KEY
npm run draft:serve    # terminal 1
npm run dev            # terminal 2
```

Open [localhost:3000](http://localhost:3000). Loopback only.

```sh
npm test && npm run build
```

## Packages

```text
packages/ui          Chat UI and tool-call trace
packages/agent       Provider-independent loop
packages/jev-core    TypeSafe

Also filed under Tools & apps

  1. 0573

    Support chat: agent offered a human escalation path

    A frustrated customer hits a bot loop twice; the judge checks whether a human handoff was offered.

    everyai-com · Tools & apps

  2. 0572

    Subscription cancel: effective date is explicit

    An agent cancels a subscription; the judge checks the exact date the cancellation takes effect.

    everyai-com · Tools & apps

  3. 0571

    Sales quote: numbers match the official price list

    An agent quotes $29/seat against a price list; the judge checks the quote matches exactly.

    everyai-com · Tools & apps

  4. 0570

    Refund chat: agent stated the amount before issuing it

    A support agent issues a $42.50 refund; the judge checks the exact amount was stated before the refund was confirmed.

    everyai-com · Tools & apps