Skip to content

question-kit

TypeScript standard library for System One models: ready-made Jev methods with confidence gates and a turn-by-turn service agent.

Projectprototype

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

TypeQuestionAnswers
ChoiceWhich intent does the customer have (e.g. order, hours)?—
Yes / noIs the customer done ordering?—
Yes / noDoes anything look wrong with this result?—

How it works

  1. Define a service: intents, slots, tools, procedures
  2. Each customer turn, Jev reads intent and slot values
  3. Readings below the confidence gate are not acted on
  4. 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

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
  • 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.

    ProjectproductionPython
  • DeepSeek Harness plugin that classifies each user message's emotion, urgency and department with Jev and injects it as context.

    PluginbetaTypeScript
  • iOS custom keyboard that shows a copied message's intent, risk level and candidate replies inside any chat app, filling but never sending.

    AppbetaSwift
  • Windows desktop chat assistant that OCRs a selected chat region, has Jev analyse the conversation, and ranks drafted replies for copying.

    ProjectbetaPython, TypeScript