typesafe

n8n community node for TypeSafe System One (Jev): ask Noul, Choice and Score questions about any item, branch on calibrated probabilities, and send low-confidence answers to human review.

Package Information

Released: this month
Downloads: 0 weekly / 0 monthly
Latest Version: 2.0.5
Author: Taifoon

Documentation

TypeSafe for n8n

Let your n8n workflow make a decision, and send it to a person when it is not sure.

  • What: an n8n node that asks TypeSafe's Jev yes/no (Noul), pick-one (Choice) and rate-it (Score) questions
    about any item, and routes it to Pass, Fail or Review.
  • Why: a chat model writes prose you have to parse and guesses when unsure. This node returns a probability for
    every answer, so an uncertain item goes to a person instead of going wrong quietly.
  • How: in n8n, Settings → Community Nodes → Install @taifoon/n8n-nodes-typesafe, add your TypeSafe key, and ask
    "Is this a refund request?".

Use it to route tickets, classify rows, guard an LLM's input or output, or gate an agent's tool call for approval.
It is not for writing text, summarising, or reasoning about code.

item ──► TypeSafe ──► Pass      confident, and it cleared your thresholds
                 ├──► Fail      confident, and it did not
                 └──► Review    unsure, or the answer did not validate: send this to a person

Install

In self-hosted n8n: Settings → Community Nodes → Install, then enter @taifoon/n8n-nodes-typesafe.
It brings Taifoon's other packages with it: @taifoon/jev (the grader) and @taifoon/jev-wilson (the premium maths).
Because of those dependencies it is not an n8n-verified node, so it installs on self-hosted n8n, not on n8n Cloud.

Get a TypeSafe API key from console.typesafe.ai and create a
TypeSafe API credential. The test button makes one tiny real call, so you know at once whether the key works.
The node talks to TypeSafe directly with your key, and nobody else, including us, is in the path.

Running n8n for a team? Supply the key from a secrets file. Upgrading from 1.1 or
earlier? The credential type was renamed: Upgrading.

Try it in two minutes

  1. Add a Manual Trigger and an Edit Fields node with a subject and a body: paste in any
    support email.
  2. Add TypeSafe, operation Ask. Leave Item to Judge alone; it already sends the whole item.
    Add three questions:
    • is_refund · Yes/no · Is the customer asking for money back?
    • team · Pick one · Which team should handle this? · billing, technical, sales, abuse
    • urgency · Rate it · How urgent is this? · None | Low | Medium | High
  3. Run it. You get answers.is_refund.p, answers.team.value, answers.urgency.value.
  4. Now make it branch. In Routing put {"team": {"minConfidence": 0.6}}. Tickets the model is sure
    about leave by Pass; the ones it is unsure about leave by Review. Wire Review to a person.

Ready-made versions are in examples/.

Judge workflows, ready to import

Each one runs as imported on sample data, needs only your own TypeSafe key, and ends in three plainly named exits. Import
the file in n8n (Workflows → Import from File), pick your TypeSafe API credential, press Test workflow.

# Workflow For The judge decides File
1 Grade an AI agent's delivered work teams running agents did the delivery meet the task's criteria? complete / reject / needs review judge-agent-delivery
2 Grade a Base agent job from its on-chain record agent marketplaces, ERC-8183 builders the same, from the job's public record, plus the unsigned evaluator call judge-base-job
3 Fact-check a chatbot answer before it ships support and RAG teams does the answer claim anything its source does not say? send / hold / review judge-answer-factcheck
4 Accept or return a freelancer's deliverable agencies, marketplaces criteria met? accept / request changes / escalate judge-freelancer-deliverable
5 Refund-dispute judge e-commerce, marketplaces refund / deny / a person, from the complaint and the evidence judge-refund-dispute
6 QA an extraction against its source finance operations does every extracted value match the document? post / re-extract / review judge-extraction-qa
7 Grade a batch of submissions educators, bounty programmes per row: verdict, probabilities and a receipt judge-bulk-submissions
8 Check a translation keeps its meaning localisation meaning kept, nothing added or dropped? publish / send back / review judge-translation
9 Moderate posts against your own rules communities which rule, if any, a post breaks: publish / remove / a moderator judge-moderation
10 Approval gate before an AI agent's action anyone running an AI Agent is this action safe and asked for? run / block / a person approval-gate-node
11 Triage support tickets support teams refund? which team? how urgent? support-triage-direct

Workflows 1, 2, 4 and 7 use Jev Options → Ask RUBRIC_v1: code checks the facts first, Jev answers four closed
questions, and the verdict comes with a receipt anyone can recompute. The others ask your own Noul questions and route
them with thresholds. Every file is tested end to end in test/templates.test.mjs, and imported and run in n8n 1.123.82.

Workflow 2 needs only your TypeSafe key: the evidence route is a public read. It outputs jev.verdict, the receipt and
the unsigned complete / reject call for the job's evaluator seat. Nothing is signed or sent.

Three kinds of question

You ask You get back Think of it as
Yes / no ("Noul") p, the probability the statement is true an IF with a dial
Pick one ("Choice") the option, a probability for every option, and a confidence a Switch that knows when it is guessing
Rate it ("Score") a level on a rubric you write, and a confidence a ranking you can threshold

Describe the options, and add an other, to sharpen a Choice. Ask every question that might matter in one node:
they are answered at once and independently, so ten cost about the same as one.

What you must know

  • Route only what you gate on. An item leaves by Pass only if every routed question passed. Route
    urgency too, and a good refund ticket "fails" for not being urgent.
  • Nothing fails open. A Routing mistake, or an answer that does not validate, sends the item to Review.
  • A rating is a zero-based level number. 0 is your first level; every answer includes a legend.
  • Fit thresholds on your own items. Label a few dozen before you trust them. The raw probabilities are
    not calibrated on your data.
  • Calculate first, then ask. Do arithmetic in a Code node. Ask the model for judgment, never a sum.
  • Leave Fail Closed on. A malformed answer then stops the item instead of flowing on as an empty value.

Cost: about 0.6 to 0.8 s and 450 input tokens for three questions. TypeSafe charges 0.042 USD per million input
tokens and nothing for output: roughly 0.00002 USD per item. Input is text or JSON; no images or audio.

More operations and options

  • Translate turns a sentence into questions, in eleven languages, offline and free.
    How Translate works
  • Reply Language says the answers back as sentences in the asker's language. Raw Output returns
    TypeSafe's answer untouched. Reply and Raw Output
  • Jev Options grade an agent job under RUBRIC_v1 and return unsigned on-chain calls.
    Jev Options, and the standalone package @taifoon/jev.

Documentation

This package integrates one service: TypeSafe. It is published from GitHub Actions with an npm provenance
statement, and every release must pass n8n's community-package scanner.

Licence

Independent project. Jev and TypeSafe are products of TypeSafe AI, Inc., which does not endorse this package.

MIT. An independent community node by Taifoon. TypeSafe and Jev are
trademarks of TypeSafe AI; this project is not affiliated with or endorsed by TypeSafe AI.

Discussion