typesafe-sdk-cpp
Unofficial C++20 SDK for System One with a builder-configured client, typed questions and pluggable libcurl or Boost.Beast transports.
Overview
typesafe-sdk-cpp is an unofficial C++20 SDK for TypeSafe AI targeting System One models such as Jev. A client is configured through a builder and picks up TYPESAFE_API_KEY automatically. Choice, Score and Noul are typed, so answers arrive as fields rather than strings to parse.
It builds with standard CMake and depends on nlohmann/json. By default it uses a built-in libcurl transport; applications that own their HTTP stack can turn libcurl off and implement a Transport interface, and an optional Boost.Beast transport is available for Boost.Asio applications. Added as a subdirectory, it builds only the library, with tests and examples running only at top level. Added as a subdirectory, the SDK builds only the library, and it reuses an existing nlohmann_json target if the parent project already defines one.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | What is this ticket about? | billing · technical · other |
| Score | How urgent is this ticket? | can wait · this week · today |
How it works
- Add the SDK with add_subdirectory and link typesafe_cpp.
- Build a client and a SystemOneRequest.
- Call systemOne and read typed answers.
- Handle TypeSafeError on failure.
Strengths
- Pluggable transports (libcurl, Boost.Beast, custom).
- Typed answers in C++20.
- Plays well as a CMake subproject.
Caveats
- Unofficial.
- Requires a TypeSafe key.
Getting started
add_subdirectory(typesafe-sdk-cpp) and target_link_libraries(your_target PUBLIC typesafe_cpp)At a glance
- Type
- Library
- Status
- beta
- Language
- C++
- Runtime
- library (CMake)
- Has code
- yes
- Has tests
- yes
Use cases and integrations
How curated lists describe it
An unofficial CPP 20 SDK for the TypeSafe API.
hellogumbo/awesome-jev
Frequently asked questions
What C++ standard is required?
C++20.
Can I use my own HTTP stack?
Yes, disable libcurl and implement the Transport interface, or use the Boost.Beast transport.
What are the dependencies?
nlohmann/json, plus libcurl by default.
Related projects
Hack Club's lightweight LLM proxy, listed for adding a Jev forwarding endpoint behind its auth, limits and usage logging.
MCP serverproductionTypeScriptAx, a DSPy-style multi-language LLM framework, listed with a native TypeSafe provider for Boolean, Choice, Score and raw Jev questions.
PluginproductionTypeScriptEffect TypeScript library whose @effect/ai-typesafe package maps classify, probability and rating operations to Jev questions.
ProjectproductionTypeScriptPHP monorepo whose Polyglot module adds a TypeSafe driver for typed Noul, Choice and Score decisions alongside LLM inference.
ProjectproductionPHPGo MCP server giving any client typed Jev decisions via OpenRouter or TypeSafe, with validated answers and no paid retries.
MCP serverproductionGoSimon Willison's LLM plugin that adds Jev as a model for yes/no, choice and score questions from the command line.
PluginproductionPython