Skip to content

jev-tools

Unofficial TypeScript monorepo of Jev tools: a tool-call guard, a GitHub issue triage Action, a bulk JSONL/CSV sorter and a shared client.

Librarybeta

Overview

jev-tools is an unofficial set of TypeScript packages built on TypeSafe's Jev. All of them ask narrow questions, branch on the typed answer in code and send anything Jev is unsure about to a human or a larger model. @cmaintz/jev-guard vets an agent's tool calls before they run with allow, block or hold, failing safe on low confidence, missing answers and provider errors, with LangChain JS and Vercel AI SDK adapters.

@cmaintz/jev-triage is a GitHub Action that labels, prioritises, routes and deduplicates issues, sending low-confidence answers to a human label or an LLM. @cmaintz/jev-sort is a CLI and library that streams JSONL or CSV rows through Jev and appends typed columns plus a _confidence field. @cmaintz/jev-core is the shared client with question and answer types, TypeSafe and Cloudflare providers, retries, timeouts and response validation. Each tool needs a Jev key from TypeSafe or a supported provider.

What the decision model decides

TypeQuestionAnswers
ChoiceShould this agent tool call be allowed, blocked or held?allow · block · hold
ChoiceWhich label, priority and route fit this GitHub issue, and is it a duplicate?(inferred)—
OtherUser-defined typed columns for each JSONL/CSV row—

How it works

  1. Tool builds state (tool call, issue, or data row)
  2. Ask narrow typed questions through jev-core
  3. Branch on answer and confidence in code
  4. Low confidence goes to a human, hold, or larger model

Strengths

  • Fail-safe defaults on low confidence and errors
  • Covers agents, GitHub issues and bulk data
  • Shared client supports TypeSafe and Cloudflare providers

Caveats

  • Unofficial, not affiliated with TypeSafe
  • Requires a Jev key for every tool

Getting started

npm install @cmaintz/jev-guard (or npm install -g @cmaintz/jev-sort); reference the triage Action as CMaintz/jev-tools/packages/triage@<tag>.

At a glance

Type
Library
Status
beta
Language
TypeScript
Runtime
Node / GitHub Action
Has code
yes

Use cases and integrations

How curated lists describe it

Frequently asked questions

What does jev-guard decide?

Whether an agent's tool call should be allowed, blocked or held, failing safe when unsure.

What does the triage Action do?

Labels, prioritises, routes and dedupes GitHub issues, deferring low-confidence cases.

Which providers are supported?

TypeSafe and Cloudflare, via the shared jev-core client.

Related projects

  • Free Claude Code skill where Jev sorts and Claude writes: classify, pre-route items so Claude reads only unsure ones, and gate tool calls.

    ProjectbetaPython
  • Moves a coding agent's bulk semantic judgments (triage, tagging, routing) to Jev; an A/B reports 78% fewer tokens at similar accuracy.

    ProjectbetaPython
  • Google Sheets custom functions JEV_IF, JEV_PROB, JEV_CHOICE and JEV_SCORE that classify, tag and score cells with Jev.

    ProjectbetaJavaScript
  • Multiplayer GitHub triage dashboard where Jev answers kind, severity, urgency, duplicate and next step per issue.

    Appbeta
  • Research MVP pairing an LLM-authored, revisable ontology with Jev classification, where low confidence triggers ontology revisions.

    ServiceresearchPython
  • elvex blog on wiring Jev into an agent harness as a tool for search, approvals and context, citing 2,000 expense reports in 20 seconds.

    Articlediscussion