Files
zeekayandHanzo Dev f5b25946c7 feat: the Hanzo Cloud Java SDK, generated from hanzoai/openapi
2452 operations over 1737 paths, 263 tags, 1798 schemas — 2333 Java sources
under hanzo-java-cloud/src/main/java/ai/hanzo/cloud, none of them written by
hand. Published as ai.hanzo:hanzo-java-cloud, versioned to the document's own
info.version so a release is: change the spec, regenerate, tag.

scripts/generate.sh is a CALL SITE, not a generator invocation. The invocation
lives once in hanzoai/openapi generate.py and every knob is data in sdks.yaml
beside it, so there is nothing here that can drift on its own — and
`--check` is a CI gate, which makes that a fact instead of a convention.

The client is okhttp-gson rather than the `native` java.net.http library the
java row originally asked for: native's oneof template emits `List<T>.class`,
which is not legal Java, and this document has three oneOfs with an inline
array variant. That is recorded where the decision lives, in sdks.yaml.

The six canonical flows are in examples/<flow>/, one per flows.yaml, and the
build compiles them, so they cannot rot. HANZO_API_KEY, HANZO_BASE_URL and
HANZO_ORG_ID resolve in exactly one place, examples/Hanzo.java — verified on
the wire to send both `Authorization: Bearer` and `X-Org-Id`.

The repo root owns the build, README, LICENSE, examples, scripts and CI;
generate.py owns one directory and replaces it wholesale.

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-31 09:28:37 -07:00
..