@kentcdodds: You can now easily use Jev in @kodykoala: https://kody.codes/@kentcdodds/jev You can use this when you need typed decis…

X AI KOLs Timeline Tools

Summary

Kent C. Dodds announces @kentcdodds/jev, a typesafe AI evaluation tool integrated with Cloudflare AI Gateway for making fast, typed decisions on inputs like messages and tickets.

You can now easily use Jev in @kodykoala: https://kody.codes/@kentcdodds/jev You can use this when you need typed decisions fast: - An inbox floods in and you need to know which messages are actionable, which can wait, and which are noise. - A support thread arrives and you want the right team, an urgency score, and whether to escalate in one pass. - You're checking a refund against order and policy text and need a clear yes/no with confidence. - Chat or tickets mix bugs, feature asks, and banter; you want a label and whether there’s enough detail to file an issue. - Alerts keep firing and you need “real problem” vs “known noise,” and whether anyone should be woken. - A draft or PR is almost done and you want a ready-to-ship call plus a rough quality score. - Leads and partnership mail look similar; you want warm vs cold and whether a reply this week is worth it. Ask several questions (`choice`, `score`, `noul`) over the same state in a single call.
Original Article
View Cached Full Text

Cached at: 09/19/26, 06:52 AM

You can now easily use Jev in @kodykoala: https://kody.codes/@kentcdodds/jev

You can use this when you need typed decisions fast:

  • An inbox floods in and you need to know which messages are actionable, which can wait, and which are noise.
  • A support thread arrives and you want the right team, an urgency score, and whether to escalate in one pass.
  • You’re checking a refund against order and policy text and need a clear yes/no with confidence.
  • Chat or tickets mix bugs, feature asks, and banter; you want a label and whether there’s enough detail to file an issue.
  • Alerts keep firing and you need “real problem” vs “known noise,” and whether anyone should be woken.
  • A draft or PR is almost done and you want a ready-to-ship call plus a rough quality score.
  • Leads and partnership mail look similar; you want warm vs cold and whether a reply this week is worth it.

Ask several questions (choice, score, noul) over the same state in a single call.


@kentcdodds/jev — Kody public package

Source: https://kody.codes/@kentcdodds/jev

  • Integrations
  • jev
  • typesafe
  • evaluation
  • cloudflare
  • ai-gateway
  • noul
  • choice
  • score

Version1.0.0LicensePublishedSeptember 19, 2026Pinned commit89fdcdaRatingNo ratings yetForks0Adaptation effort—

@kentcdodds/jev

Intent

CallTypeSafe Jev(typesafe/jev) — a System One evaluation model — throughCloudflare AI Gateway, so other Kody packages can ask typed noul / choice / score questions and get calibrated answers. Reuses the samecloudflareApiTokenand account/gateway setup as@kentcdodds/aiwhen local Jev storage is empty. Success means a tiny evaluate returns\{ ok, answers \}without anyone pasting tokens into chat.

What it does

  • Evaluate shared state against named questions (noul,choice,score)
  • Return parsedanswers,model, andusage
  • Escape-hatch raw/ai/runfor progressive disclosure
  • Package storage for account/gateway ids, with fallback read from@kentcdodds/ai/settings

Prerequisites / setup

  1. Save user secret**cloudflareApiToken(do not paste the value in chat) with Workers AI access and hostapi\.cloudflare\.com**(optional alsogateway\.ai\.cloudflare\.comif you already use@kentcdodds/ai): Create / update cloudflareApiToken
  2. Set Cloudflareaccount id(and optionally gateway id) via this package’s\./settingsexport — stored in package storage, no republish. If you already configured@kentcdodds/ai/settings, leave Jev storage empty: reads fall back to those values. Gateway defaults to**kody**.
  3. Confirm readiness:
import overview from 'kody:@kentcdodds/jev'

export default async function main() {
  return await overview()
}
  1. Smoke (live, cheap):
import smokeTest from 'kody:@kentcdodds/jev/smoke-test'

export default async function main() {
  return await smokeTest({ live: true })
}

Evaluate example

import evaluate from 'kody:@kentcdodds/jev/evaluate'

export default async function main() {
  return await evaluate({
    state: 'Help! My payouts have been failing for 3 days.',
    questions: {
      is_urgent: {
        type: 'noul',
        instructions: 'Does this convey urgency?',
        criteria: {
          true: 'Explicitly time-sensitive',
          false: 'No urgency expressed',
        },
      },
    },
  })
}

Auth / settings vs@kentcdodds/ai

ConcernShared?WhereSecretYes — same namecloudflareApiToken(user scope)Account idPrefer one setupJev\./settings→ else@kentcdodds/ai/settingsGateway idPrefer one setupSame fallback chain; defaultkodyModelSeparateJev defaults totypesafe/jev Donotinvent a second Cloudflare token secret for this package.

Alternate: Vercel AI Gateway

Vercel also exposestypesafe\-ai/jevvia AI SDK 7experimental\_evaluate. This package implements theCloudflarepath first to match@kentcdodds/ai. Prefer Cloudflare unless you already standardize on Vercel.

Docs:Cloudflare Jev·TypeSafe·Package

Done when

  • cloudflareApiTokenis saved withapi\.cloudflare\.comhost approval
  • Account (and optional gateway) resolve via\./settingsor@kentcdodds/ai
  • \./smoke\-testwith\{ live: true \}returnsok: trueand a noul answer

Report this listingLog into report this listing.

Similar Articles