Skip to content

Tinystruct TypeSafe SDK

A Java and Maven framework that lets natural language route to existing tinystruct @Action methods: Jev picks the action and its arguments as a probability distribution over options you supply, and the dispatcher then runs, holds for confirmation, or refuses.

Stars
2
Language
Java
License
APACHE-2.0
Published by
Community
Author
tinystruct
Last verified
Oct 2026

About this project

Language: English | Português (Brasil) | 简体中文 | 繁體中文 | 日本語 | 한국어 | Türkçe | Русский | Tiếng Việt | ไทย | Deutsch | Español. tinystruct-typesafe lets natural language invoke existing tinystruct @Action methods, using TypeSafe Jev as a semantic dispatcher. tinystruct 1.7.34 or later. This project relies on a small framework change (see Architecture.md): @Action(arguments = ...) metadata now keeps order, optional and the parameter's Java type (as the argument's type), and string arguments convert to Set/List of enums.

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

Highlights

  • No chatbot layer: Jev returns a distribution over options you define and never generates text, so every argument is an enum, a boolean or an input span.
  • Nothing is routable until typesafe.routing.allowed-actions is set, and a call below min-confidence raises AmbiguousIntentException instead of running.
  • Parameter types drive the question: an enum becomes one choice, a boolean one noul, a Set or List of enums one noul each, a string a choice over input spans.
  • The score that gates a call is the weakest link across the action choice and every argument resolved from it, not the action's own confidence.

Watch out

It needs Java 17 and tinystruct 1.7.34 or later for the @Action metadata change that preserves argument order, optionality and Java type; if that version is not on Maven Central yet you have to build it locally. Arguments bind by position, so an optional parameter before a supplied one is refused and you need an overload, which is only legal because overloads of an allowlisted action are not supported at all. Values cannot contain a slash, path templates and built-ins are never routable, and an action declared for one mode is only routable from that mode. The core module does not depend on the workflow module, so an action needing confirmation is refused unless you add it, and each bin/dispatcher call is its own JVM, which means the memory workflow repository cannot carry a pending confirmation between commands. 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

4GitHub stars
JVM SDK for the TypeSafe System One API with a pure-Java core, Kotlin DSL, Spring Boot starter, and Spring AI bridge, speaking the System One wire contract across hosted and self-hosted backends.
Jev Repos & SDKs#community#awesomejev#catalog-import
6GitHub stars
Idiomatic Java 17 and later client for Jev with one-off evaluate calls, reusable JevRequest builders, async support, and structured rubric helpers.
Jev Repos & SDKs#community#jevbest#catalog-import
5GitHub stars
Unofficial Java SDK that defines Choice, Noul, and Score questions in code and submits them together for typed answers instead of parsed text.
Jev Repos & SDKs#community#awesomejev#catalog-import
6GitHub stars
An unofficial Java 21 client for the Jev decision API that replaces maps with records and sealed types, so a malformed choice, score or noul question fails to compile instead of coming back as a 422.
Jev Repos & SDKs#community#jevbest#catalog-import
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
16GitHub stars
Swift library and CLI for asking Jev typed Choice, Noul, and Score questions from Apple platforms, with answers returned alongside calibrated probabilities in one parallel request.
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