Skip to content

TypeSafe SDK Go — valksor

Unofficial Go client for the TypeSafe System One API, aiming for 1:1 parity with the official JavaScript and Python SDKs: typed Noul, Choice and Score, status-specific errors, and an injectable http.Client.

Stars
0
Language
Go
License
MIT
Published by
Community
Author
valksor
Last verified
Oct 2026

This is one of several Jev listings for the same project. The canonical entry is TypeSafe SDK Go — Tangerg.

About this project

An idiomatic Go client for the TypeSafe AI System One API. Typed Noul, Choice, and Score questions and their answers. Single SystemOne call with typed answer lookup helpers. Generic SystemOneAs[T] to decode responses into your own typed structs. Configurable per-attempt timeouts and exponential-backoff retries. Request IDs and raw response metadata on every call. Injectable http.Client transport for framework integration and tests. Status-specific typed errors that work with errors.As.

Quoted from the project's README. Read the full README.

Highlights

  • SystemOneAs[T] decodes answers into your own struct, lifting each answer to a top-level field, at the cost of presence validation.
  • Status-specific types such as RateLimitError and UnprocessableEntityError, plus APIConnectionError and APITimeoutError, all work with errors.As.
  • 408, 429, 5xx, connection errors and timeouts retry twice with exponential backoff; the default timeout is 10 seconds per attempt.
  • Config.BaseURL can point at an OpenAI-style AI gateway or reverse proxy that forwards the Authorization header unchanged.

Watch out

It is independent and unaffiliated, an aspiration of 1:1 parity with the official JS and Python SDKs rather than a stated guarantee, and it requires Go 1.25 or newer. SystemOneAs has three deliberate differences from SystemOne: presence is not validated, so a missing answer or field decodes to its zero value with no error and you want pointer fields plus nil checks; it returns no request ID or headers on a successful decode; and unknown answer types are dropped rather than surfaced. Use SystemOne when you need to inspect an unrecognized answer or the request ID on success. ResponseValidationError exposes .Body, which echoes the request state and may contain sensitive data, so the README says not to log it unredacted. Releases are pinned to the same version line as the official SDKs, requiring Version, the newest changelog entry and the Git tag to match exactly. Copy reviewed against the repository README on 2026-10-04, not from running it.

Questions about this entry

Short answers drawn from the linked project or page.

More Jev resources like this

45GitHub stars
Go SDK plus a pipeline-friendly CLI for typed decisions, covering single questions, batched question maps, retries, and line-oriented filtering over stdin.
Jev Repos & SDKs#community#jevbest#catalog-import
9GitHub stars
Go SDK for the TypeSafe API that asks typed Noul, Choice, and Score questions about a state and returns probability distributions with confidence and typed accessors.
Jev Repos & SDKs#community#jevbest#catalog-import
4GitHub stars
Community Go client for the TypeSafe System One evaluation API with raw structs and a builder that produce the same EvaluationRequest, defaulting to jev-latest.
Jev Repos & SDKs#community#jevbest#catalog-import
1GitHub stars
Unofficial, independently maintained Go client for the TypeSafe AI System One API with no third-party dependencies: choice, score and noul questions, typed accessors that error instead of returning zero, and per-call timeout, retry and header overrides.
Jev Repos & SDKs#community#jevbest#catalog-import
2GitHub stars
Community Go client for the TypeSafe AI System One API covering the same surface as the official Python and TypeScript SDKs, using functional options, context cancellation, sentinel errors, `log/slog`, no dependencies outside the standard library, and optional Langfuse tracing.
Jev Repos & SDKs#community#jevbest#catalog-import
Communityfgn/jevgoGo
1GitHub stars
An unofficial Go client that keeps Jev answers in your own types, so a choice over your enum yields that enum and the compiler checks the switch you write on it.
Jev Repos & SDKs#community#jevbest#catalog-import

From the Jev guides

Original write-ups on what this entry is for.

Closed weights have not stopped the ecosystem from rebuilding the shape in the open. API-compatible servers, retrained heads on small models, and inference-time tricks that skip generation entirely.
Jev Repos & SDKs#open-models#research#local
Read article
Back to all resources

From the Jev community

Posts from builders shipping with Jev right now.

Follow @typesafeai