triageActive Specification

High-Throughput Ticket Router

Department routing, urgency scoring, and churn-signal Noul for high-volume support tickets.

Architecture overview

Documents a Jev AI tools triage composition: categorize tickets, score urgency, and detect cancellation language in one parallel System One call. Useful when volume makes generative classification expensive.

Traditional LLM limitation

Manual triage is slow; regex misses context; generative LLM output tokens dominate cost at scale.

Jev AI tools advantage

Official pricing makes large fan-out cheap on input tokens with free output metering (typesafe.ai). Compose answers in your own routing code.

Official API schema (field names from docs.typesafe.ai)

Source: TypeSafe HTTP API reference. Question IDs below this table are directory example compositions — you choose them.

FieldTypeRangeNotes
statestring | object | arrayPlain text or structured JSONContent to evaluate. Shared across all questions in one request.
modelstringe.g. "jev-latest"Optional; defaults to TypeSafe flagship alias when omitted in SDKs.
questions.<id>.type"choice" | "score" | "noul"Exactly one of three primitivesQuestion ID is chosen by you; answers return under the same keys.
questions.<id>.instructionsstringNatural-language judgmentThe actual question sent for inference (IDs are not sent to the model).
questions.<id>.criteria (choice)Record<option, string | null>1–255 optionsMap of option key → rubric description.
questions.<id>.criteria (score)string[]≥ 2 ordered levelsOrdered level descriptions; score is a weighted position along them.
questions.<id>.criteria (noul){ true?: string; false?: string }OptionalOptional clarification of yes/no meanings. Answer field is noul ∈ [0, 1].
answers.<id> (choice){ type, choice, probabilities, confidence }choice ∈ criteria keys; confidence ∈ [0, 1]Probabilities sum to 1 across options.
answers.<id> (score){ type, score, legend, probabilities, confidence }score may fall between levelslegend maps level index → description.
answers.<id> (noul){ type, noul }noul ∈ [0, 1]Probability that the answer is yes. No separate confidence field.
usage{ input_tokens, output_tokens }Non-negative integersToken accounting for the request.

Example composition for this Jev AI tools workflow

Sample state and question keys are illustrative compositions for this directory page — not a separate official product API. Primitives remain Choice / Score / Noul.

Customer Email: "Our production database has been down for 45 minutes after maintenance. If this is not resolved within the hour, we will cancel our enterprise contract and request a full refund."
Choice
ticket_category: Primary department routing
Options: [billing_refunds, outage_bug, account_access, general]
Score
urgency_level: Urgency rating
levels: low → critical_p0
Noul
churn_risk: Did the customer express an explicit cancellation threat?

Runnable call examples

Endpoint: https://api.typesafe.ai/v1/systemone (official). Requires your own TYPESAFE_API_KEY.

curl

curl -X POST https://api.typesafe.ai/v1/systemone \
  -H "Authorization: Bearer $TYPESAFE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"state":{"ticket":"TICKET_BODY"},"model":"jev-latest","questions":{"category":{"type":"choice","instructions":"Primary department routing","criteria":{"billing_refunds":"Billing","outage_bug":"Outage","account_access":"Access","general":"General"}},"urgency":{"type":"score","instructions":"Urgency","criteria":["Low","Medium","Critical P0"]},"churn_risk":{"type":"noul","instructions":"Explicit cancellation threat?"}}}'

TypeScript

import { choice, noul, score, TypeSafeClient } from "@typesafe-ai/sdk";

const client = new TypeSafeClient();
const triage = await client.systemOne({
  state: { ticket: ticketBody },
  model: "jev-latest",
  questions: {
    category: choice("Primary department routing", {
      billing_refunds: "Billing and refunds",
      outage_bug: "Outage or production bug",
      account_access: "Account access",
      general: "General inquiry",
    }),
    urgency: score("Urgency", ["Low", "Medium", "Critical P0"]),
    churn_risk: noul("Explicit cancellation threat?"),
  },
});

Python

from typesafe_sdk import Choice, Noul, Score, TypeSafeClient

with TypeSafeClient() as client:
    triage = client.system_one(
        state={"ticket": ticket_body},
        model="jev-latest",
        questions={
            "category": Choice(
                instructions="Primary department routing",
                criteria={
                    "billing_refunds": "Billing and refunds",
                    "outage_bug": "Outage or production bug",
                    "account_access": "Account access",
                    "general": "General inquiry",
                },
            ),
            "urgency": Score(instructions="Urgency", criteria=["Low", "Medium", "Critical P0"]),
            "churn_risk": Noul(instructions="Explicit cancellation threat?"),
        },
    )

Latency & cost (source attribution)

Official end-to-end latency range: ~70–500ms; many calls land near ~100ms from US West Coast (source: typesafe.ai / TypeSafe public materials, 2026-09). Official list price: $0.042 / 1M input tokens; output tokens free (source: typesafe.ai, as of 2026-09). Card latency figures are illustrative compositions within that published range — not independent lab measurements by this directory.

  • Card illustration on this page: ~82ms (illustrative, within official range — not a lab run by jevaitools.com).
  • Official list price: $0.042 / 1M input tokens; output tokens free (source: typesafe.ai, as of 2026-09).

This directory has not published an independent measurement script for this page. To measure yourself: call the official endpoint with your key, record wall-clock p50/p95 andusage.input_tokens, and keep the date of the run.

Comparison with generative LLMs on the same decision task

TypeSafe publishes workflow evaluations where Jev is compared with frontier LLMs on accuracy, cost, and latency (company materials, 2026). Those multipliers are vendor-reported ceilings, not results measured by this directory. Run the same questions through an LLM structured-output adapter on your labeled set before choosing a stack.

Suitable for

  • First-pass queue routing at high volume
  • Escalation when churn Noul exceeds a policy threshold
  • Batch backfills of historical tickets

Not suitable for

  • Drafting customer replies
  • Resolving billing disputes without CRM/state joins
  • Legal determination of refund eligibility

Common failure modes

  • Overlapping Choice criteria → unstable department picks
  • Urgency Score levels described inconsistently across teams
  • Missing CRM context in state (VIP / SLA) that humans would use

Other Jev AI Tools

This site is an independent third-party directory and is not affiliated with, endorsed by, or operated by TypeSafe AI.