question-kit
TypeScript standard library for System One models: ready-made Jev methods with confidence gates and a turn-by-turn service agent.
Overview
question-kit calls itself the standard library for System One models, currently Jev. Its core package provides ready-made methods for common jobs, each writing its own questions and returning a typed result with a confidence: structure recovery, rubrics, featurization, stability checks, ranking by score or pairwise, plus confidence formulas from TypeSafe's docs, a lint for badly formed questions, a cache, and an API client with retries and pacing. The authors say methods were tuned against thousands of labelled cases.
The service-agent module runs a customer conversation from a service described as data: intents, slots, tools and procedures. Code runs the procedure, Jev reads the customer (intent, slot values, whether they are done, whether something looks wrong), and every reading passes a confidence gate before acting; no language model writes anything. A pizza-ordering demo shows traced Jev readings. TypeScript is the full kit and a Python port is in preview. The project is alpha and APIs will change.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Which intent does the customer have (e.g. order, hours)? | — |
| Yes / no | Is the customer done ordering? | — |
| Yes / no | Does anything look wrong with this result? | — |
How it works
- Define a service: intents, slots, tools, procedures
- Each customer turn, Jev reads intent and slot values
- Readings below the confidence gate are not acted on
- Code calls tools and continues the procedure; Jev checks the result
Strengths
- No generated text; every reading is gated by confidence
- Question lint catches malformed questions before sending
- Cache and pacing built in
Caveats
- Alpha; APIs change between 0.x releases
- Not accepting pull requests yet
- Python port is partial
Getting started
npm install question-kit @typesafe-ai/sdk (Python preview: pip install "question-kit[typesafe]"); set TYPESAFE_API_KEY and run bun run pizza for the demo.At a glance
- Type
- Project
- Status
- prototype
- Language
- TypeScript
- Runtime
- Node / Bun library
- Has code
- yes
- Stars
- 3
Use cases and integrations
How curated lists describe it
Tool kits for building with System-One models
wh000wh000/awesome-jev-live
Frequently asked questions
What does the service agent decide?
Jev reads the customer's intent, the values a step needs and whether they are finished; code decides what to do.
Does any LLM write the replies?
No; replies come from the service definition and code, not a language model.
Is it stable?
No, it is alpha and APIs will change between 0.x releases.
Related projects
AstrBot group-chat plugin fork that adds a 50-70 ms System One check on whether the bot should chime in, after the original random gate.
DemobetaPython- jev-chat-windows★ 802
Windows WeChat reply assistant: local offline OCR reads the chat, Jev judges intent and tension and ranks three drafted replies to fill in.
ProjectproductionPython AstrBot plugin where Jev decides whether the bot should join a group conversation; the main model still writes the reply.
ProjectproductionPythonDeepSeek Harness plugin that classifies each user message's emotion, urgency and department with Jev and injects it as context.
PluginbetaTypeScriptiOS custom keyboard that shows a copied message's intent, risk level and candidate replies inside any chat app, filling but never sending.
AppbetaSwiftWindows desktop chat assistant that OCRs a selected chat region, has Jev analyse the conversation, and ranks drafted replies for copying.
ProjectbetaPython, TypeScript