* 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]>
89 KiB
89 KiB