Files
openapi/platform/openapi.yaml
T
b13d5c7b8a spec: codegen-clean hanzo.yaml + retire Stainless (openapi-generator for all langs) (#24)
* fix(spec): add SPDX license identifier (openapi-generator 3.1 requires it)

openapi-generator 7.14.0 errors 'info.license.identifier is missing' for 3.1
specs. Add the SPDX custom identifier LicenseRef-Hanzo-Proprietary alongside the
Proprietary name. Last spec-validation blocker for the openapi-generator path.

* fix(spec): make hanzo.yaml fully codegen-clean for python/go/ts

Retire Stainless: python/go/js SDKs now generate from hanzo.yaml via
openapi-generator (like cpp/dart). These spec fixes make the merged
surface compile clean across the go, python (pydantic v2) and
typescript-axios generators — all verified locally at 0 errors.

- pubsub ack_wait: type integer default 30000000000 (ns) overflows int32
  -> format: int64 (Go build fix).
- platform DeployJob/CancelDeploymentJob: oneOf of inline anonymous
  objects + `const` emitted an empty TS union type. Extract each variant
  into a named component schema referenced by $ref, and use enum:[x]
  instead of const:x for cross-generator support.
- merge.py: namespace operation tags per-service (svc_Tag), same
  discipline as schemas/operationIds. Cross-service tag collisions
  (even case-only, MCP/mcp, API Keys/api-keys) were fusing unrelated
  ops into one cross-contaminated API class and colliding on
  case-insensitive filesystems. Collapse to a single primary tag so one
  op maps to exactly one API class (no duplicate request models). Also
  namespace discriminator.mapping pointers, which prefix() missed.

* ci: retire Stainless — dispatch spec-update to python/go/js SDK repos

python/go/js now generate from hanzo.yaml with openapi-generator (like
cpp/dart), each repo owning its scripts/generate.sh + generate.yml. The
regenerate workflow replaces the Stainless build job with a
repository_dispatch(spec-update) fan-out to the three repos. LLM.md SDK
section rewritten: Stainless retired, per-language generators + publish,
remaining /v1/memory + /v1/videos spec-coverage gaps recorded.

---------

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-04 20:07:24 -07:00

89 KiB