typesafe-ai GitHub organisation and repos
TL;DR Four repos matter for building with Jev:
typesafe-sdk-python(pip install typesafe-sdk, v0.6.0),typesafe-sdk-js(npm install @typesafe-ai/sdk, v0.6.0),skills(the agent skill / Claude Code plugin), andsystem-one-adapter-python(system-one-adapter, v0.1.4 — run the same API against an LLM for comparison). Everything else in the org is infrastructure or a fork.
Org listing
Org: https://github.com/typesafe-ai. Listing observed during ingestion on 2026-09-17; "Last push" is from that listing.
| Repo | Language | Description | Last push | Relevance to Jev |
|---|---|---|---|---|
system-one-adapter-python |
Python | Drop-in TypeSafeClient replacement backed by LLM APIs |
2026-09-16 | High — comparison harness; see system-one-adapter: LLM-backed drop-in for TypeSafeClient |
typesafe-sdk-js |
TypeScript | JavaScript/TypeScript SDK for the TypeSafe API | 2026-09-15 | High — JavaScript/TypeScript SDK: install, client, choice/score/noul |
typesafe-sdk-python |
Python | Python SDK for TypeSafe AI API | 2026-09-15 | High — Python SDK: install, clients, system_one() |
skills |
— | Agent skills for building with the TypeSafe System One API | 2026-09-12 | High — The typesafe-ai agent skill and Claude Code plugin |
daggerverse |
Python | Dagger modules | 2026-09-09 | None (internal CI/build infra) |
Overwatch |
Python | no description | 2026-09-03 | Unknown (no description, not ingested) |
pulumi-clickhouse |
Go | — | 2026-07-08 | None (infra: Pulumi provider for ClickHouse) |
typesafe-ai.github.io |
HTML | — | 2026-06-04 | None (org GitHub Pages site) |
LLaDA (fork) |
— | fork | 2025-06-17 | Research interest only — upstream LLaDA is a diffusion-style language model |
vllm (fork) |
— | fork | 2025-05-23 | Research/serving interest only — upstream vLLM inference engine |
Only the four high-relevance repos were mirrored into raw/github/; pinned commits are recorded in raw/MANIFEST.json.
typesafe-sdk-python
| Field | Value |
|---|---|
| Repo | https://github.com/typesafe-ai/typesafe-sdk-python |
| Package | typesafe-sdk on PyPI, version 0.6.0 (releases seen: 0.0.1a0, 0.5.7, 0.6.0) |
| License | MIT |
| Python | requires-python >= 3.10 (classifiers list 3.10–3.14) |
| Dependencies | httpx2>=2.0.0, msgspec>=0.21.1, tenacity>=9.0.0, typing-extensions>=4.13.0 |
| Author / maintainer | TypeSafe AI support@typesafe.ai / Daniel Gafni daniel@typesafe.ai |
| Status classifier | "Development Status :: 5 - Production/Stable", "Typing :: Typed" |
Install and first call, verbatim from the repo README:
uv add typesafe-sdk
from typesafe_sdk import Choice, TypeSafeClient
with TypeSafeClient() as client:
response = client.system_one(
state={"document": "I was charged twice. Please fix this ASAP."},
questions={
"category": Choice(
instructions="What is this ticket about?",
criteria={"billing": None, "technical": None, "other": None},
),
},
)
print(response.choices["category"].choice)
Set TYPESAFE_API_KEY in the environment first. Docs: https://docs.typesafe.ai/sdk/python/. Note there is also a typesafe-ai 0.1.0 package on PyPI that is only a redirect shim depending on typesafe-sdk; the unrelated typesafe 0.9.1 package is not TypeSafe AI's.
typesafe-sdk-js
| Field | Value |
|---|---|
| Repo | https://github.com/typesafe-ai/typesafe-sdk-js |
| Package | @typesafe-ai/sdk on npm, version 0.6.0 (0.5.7 on 2026-09-12, 0.6.0 on 2026-09-15) |
| License | MIT (LICENSE: "Copyright (c) 2026 TypeSafe") |
| Runtime | engines.node >= 20 |
| package.json author | "evinism" |
| Build | ESM + CommonJS + TypeScript declarations; tsdown, biome, vitest |
npm install @typesafe-ai/sdk
import { choice, TypeSafeClient } from "@typesafe-ai/sdk";
const client = new TypeSafeClient();
const response = await client.systemOne({
state: { document: "I was charged twice. Please fix this ASAP." },
questions: {
category: choice("What is this ticket about?", {
billing: null,
technical: null,
other: null,
}),
},
});
console.log(response.answers.category.choice);
"Answer types are inferred from your questions." Docs: https://docs.typesafe.ai/sdk/javascript/. The repo also ships a jsr.json, so a JSR publication target exists (contents not ingested).
skills
| Field | Value |
|---|---|
| Repo | https://github.com/typesafe-ai/skills |
| Plugin | name typesafe, version 0.5.7, marketplace owner typesafe-ai, MIT |
| Skill | typesafe-ai — "Design TypeSafe workflows, find current docs and cookbooks, and compose typed judgments in code" |
| SKILL.md | https://github.com/typesafe-ai/skills/blob/main/skills/typesafe-ai/SKILL.md (raw: https://raw.githubusercontent.com/typesafe-ai/skills/main/skills/typesafe-ai/SKILL.md) |
Install, verbatim:
claude plugin marketplace add typesafe-ai/skills
claude plugin install typesafe@typesafe-ai
npx skills add typesafe-ai/skills --skill typesafe-ai
"Select your agent when prompted. Installation is project-local by default; add -g to install globally." In Claude Code the skill can be invoked explicitly with /typesafe:typesafe-ai. Details in The typesafe-ai agent skill and Claude Code plugin.
system-one-adapter-python
| Field | Value |
|---|---|
| Repo | https://github.com/typesafe-ai/system-one-adapter-python |
| Package | system-one-adapter, version 0.1.4 |
| License | MIT ("Copyright (c) 2026 TypeSafe AI") |
| Python | >= 3.10 |
| Dependencies | msgspec>=0.19.0, tenacity>=8.0.0, typesafe-sdk>=0.6.0, typing-extensions>=4.0.0 |
| Maintainers | Erik Gafni erik@typesafe.ai, Daniel Gafni daniel@typesafe.ai |
"A drop-in replacement for typesafe_sdk's system_one evaluation API, backed by LLM APIs instead of TypeSafe. Useful for comparing TypeSafe against an LLM on cost/speed/intelligence." Provider SDKs are optional extras:
pip install 'system-one-adapter[openai]' # OpenAI-compatible providers
pip install 'system-one-adapter[anthropic]' # native Anthropic
from system_one_adapter import SystemOneAdapterClient, Noul, Score, Choice
client = SystemOneAdapterClient(
structured_outputs=True,
llm_answer_mode="probabilities",
normalize_probabilities=True,
)
response = client.system_one(
state="This book was a delight to read.",
questions={"positive": Noul(instructions="The book review is positive.")},
provider="openai",
model="gpt-4o-mini",
)
This is the same wrapper the launch blog calls the "System One LLM" wrapper used to constrain LLMs in TypeSafe's published evals. Full option table and response extensions in system-one-adapter: LLM-backed drop-in for TypeSafeClient.
Forks and infrastructure repos
LLaDA(fork, last push 2025-06-17) andvllm(fork, 2025-05-23) — forks of third-party projects, predating the public launch. Nothing in the sources says what TypeSafe changed in either, so any link to Jev's architecture or serving stack would be speculation.daggerverse(Python, 2026-09-09) — Dagger modules; build/CI tooling.pulumi-clickhouse(Go, 2026-07-08) — infrastructure-as-code for ClickHouse.Overwatch(Python, 2026-09-03) — no description published; purpose unknown.typesafe-ai.github.io(HTML, 2026-06-04) — GitHub Pages site for the org.
Related
- Community repos: what people built and how they use Jev — third-party repos built on Jev (community tier)
- Python SDK: install, clients, system_one() / JavaScript/TypeScript SDK: install, client, choice/score/noul — the SDK contracts
- The typesafe-ai agent skill and Claude Code plugin — the skill in detail
- system-one-adapter: LLM-backed drop-in for TypeSafeClient — the adapter's full API
- TYPESAFE_* environment variables across SDKs —
TYPESAFE_*variables the SDKs read - TypeSafe AI (company) — the company
Sources
- raw/github/typesafe-sdk-python/README.md, pyproject.toml (https://github.com/typesafe-ai/typesafe-sdk-python)
- raw/github/typesafe-sdk-js/README.md, package.json (https://github.com/typesafe-ai/typesafe-sdk-js)
- raw/github/skills/README.md, .claude-plugin/plugin.json, .claude-plugin/marketplace.json (https://github.com/typesafe-ai/skills)
- raw/github/system-one-adapter-python/README.md, pyproject.toml (https://github.com/typesafe-ai/system-one-adapter-python)
- Org listing and package registry facts recorded in CLAUDE.md "Facts collected during ingestion" (2026-09-17)