Infrastructure

jev-workbench

@molis-ai2TypeScriptMITupdated 2026-09-18runnable

Build versioned judgment functions on TypeSafe's Jev once, then call the same published version from your backend over HTTP and from coding agents over MCP. The vendor key stays on your machine.

molis-ai/jev-workbench

Where it calls Jev

app.post("/v1/systemone", async (req, reply) => {

apps/server/src/app.ts:542

The link points at the commit we read, so the line number still holds.

What it asks Jev

These question sets are lifted from this project's source exactly as written.

from apps/web/src/snippets.ts:20

  1. is_billingtrue/false

    Is this a billing or refund issue?

Run it on your own text

The code
import { experimental_evaluate as evaluate } from 'ai';

const { answers } = await evaluate({
  model: 'typesafe-ai/jev',
  state,
  questions: {
    is_billing: { type: 'boolean', instructions: 'Is this a billing or refund issue?' },
  },
});

from tests/integration.test.ts:428

  1. is_billingtrue/false

    这是账单问题吗?

Run it on your own text

The code
import { experimental_evaluate as evaluate } from 'ai';

const { answers } = await evaluate({
  model: 'typesafe-ai/jev',
  state,
  questions: {
    is_billing: { type: 'boolean', instructions: '这是账单问题吗?' },
  },
});

from tests/official-contract.test.ts:38

  1. departmentchoice

    Which team should handle this

    • billingPayment or subscription issues
    • technicalBugs or integration problems
    • salesPricing or account questions
  2. frustrationscore

    How frustrated the customer appears

    • 0Calm, just stating facts
    • 1Frustrated but civil
    • 2Very angry, strong language
  3. is_urgenttrue/false

    The message conveys urgency or time-sensitivity

Run it on your own text

The code
import { experimental_evaluate as evaluate } from 'ai';

const { answers } = await evaluate({
  model: 'typesafe-ai/jev',
  state,
  questions: {
    department: { type: 'choice', instructions: 'Which team should handle this',
      criteria: { billing: 'Payment or subscription issues', technical: 'Bugs or integration problems', sales: 'Pricing or account questions' } },
    frustration: { type: 'score', instructions: 'How frustrated the customer appears',
      criteria: ['Calm, just stating facts', 'Frustrated but civil', 'Very angry, strong language'] },
    is_urgent: { type: 'boolean', instructions: 'The message conveys urgency or time-sensitivity' },
  },
});

Other projects in this category