adk-go-typesafe
Go integration bringing TypeSafe Choice, Score and Noul to Google's adk-go agents, with a typed client, routing agent and callbacks.
Overview
adk-go-typesafe connects TypeSafe AI's System One models such as Jev to adk-go, Google's Go agent development kit. It provides a typed HTTP client, an ADK function tool, a classification and routing agent, assessment callbacks and dynamic context filtering, so Go agents and workflows can make typed decisions.
The client is described as a temporary bridge until TypeSafe publishes a Go SDK; its API types are generated from TypeSafe's OpenAPI schema. Responses keep probabilities, confidence, score legends, model identity and token usage. The default model is jev-latest, the default timeout is ten seconds, and retries are opt-in. The author maintains sibling adapters for Bedrock, Ollama and Kronk.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Which team should handle this? | billing · technical |
| Yes / no | Does this require immediate attention? | yes · no |
How it works
- Build a Request with state and typed questions
- client.Evaluate sends it to TypeSafe
- Read choice, confidence and probabilities from typed answers
- Use them in an ADK routing agent, tool or callback
Strengths
- Typed Go API generated from the OpenAPI schema
- Keeps full probabilities and token usage
- Context cancellation and typed API errors with Retry-After
Caveats
- Stopgap until an official Go SDK exists
- Live examples need a TypeSafe API key
Getting started
go get github.com/craigh33/adk-go-typesafeAt a glance
- Type
- Project
- Status
- beta
- Language
- Go
- Runtime
- library (adk-go)
- Has code
- yes
- License
- Apache-2.0
Use cases and integrations
How curated lists describe it
TypeSafe AI System One integration and utilities for adk-go.
hellogumbo/awesome-jev
Frequently asked questions
What does it add to adk-go?
A typed TypeSafe client, an ADK tool, a routing agent, assessment callbacks and context filtering.
Is this the official Go SDK?
No, the README calls it a temporary bridge until TypeSafe publishes one.
Which model is used by default?
jev-latest, overridable per client or per request.
Related projects
Ruby gem for probabilistic conditionals like Feelings(msg).like?("urgent"), answered by Jev or other decision models.
ProjectbetaRubyAx, 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.
ProjectproductionPHPSimon Willison's LLM plugin that adds Jev as a model for yes/no, choice and score questions from the command line.
PluginproductionPythonElixir library for unified LLM calls across providers, with an evaluate interface that calls Jev via TypeSafe or OpenRouter.
ProjectproductionElixir