Files
gen/sdks.json

61 lines
2.6 KiB
JSON

{
"_comment": "Language matrix for zap-proto/gen. TWO TIERS: tier1 = OpenAPI/HTTP client + swappable transport (ZAP-native via zap-proto/http where a native transport exists, else HTTPS/WS/SSE) — available for all langs now; tier2 = zapgen zero-copy native View/Builder/Client (needs a native-ZAP runtime AND a zapgen emit backend). status reflects tier2 readiness. Regenerate with bin/zapsdk <lang> <schema>.",
"generator": {
"tool": "zapgen",
"canonical": "github.com/zap-proto/go/cmd/zapgen",
"reference_impl": "github.com/zap-proto/js src/zapgen (emit.ts is the emit-backend reference)",
"emits": ["ts", "openapi"]
},
"languages": {
"go": {
"runtime": "github.com/zap-proto/go",
"emit_backend": "canonical (Go zapgen)",
"http_fallback": "oapi-codegen | stainless",
"sdk_repo": "github.com/hanzoai/go-sdk",
"status": "tier1-PROVEN (oapi-codegen client from .zap-derived OpenAPI: go build/vet/test green)"
},
"rust": {
"runtime": "zap-proto/rust (crate zap-protocol)",
"emit_backend": "TODO emit-rust",
"http_fallback": "progenitor",
"sdk_repo": "github.com/hanzoai/rust-sdk",
"status": "priority-1-proof"
},
"python": {
"runtime": "zap-proto (py) + hanzo-zap CloudClient",
"emit_backend": "TODO emit-python",
"http_fallback": "openapi-python-client | stainless (hanzoai)",
"sdk_repo": "github.com/hanzoai/python-sdk (package hanzoai — BACK-COMPAT LOCKED)",
"status": "tier1-PROVEN (hanzoai __all__ byte-identical; opt-in ZAP transport via hanzo-zap; 9/9 tests; live /v1/models 200; branch feat/zap-transport)"
},
"typescript": {
"runtime": "@zap-proto/zap",
"emit_backend": "exists (emit.ts)",
"http_fallback": "openapi-typescript",
"sdk_repo": "github.com/hanzoai/js-sdk",
"status": "tier2-PROVEN (zapgen View/Builder + TasksClient/Server + OpenAPI; tsc --noEmit clean)"
},
"cpp": {
"runtime": "zap-proto/cpp",
"emit_backend": "TODO emit-cpp",
"http_fallback": "openapi-generator (cpp-restsdk)",
"sdk_repo": "TODO hanzoai/cpp-sdk",
"status": "scaffold"
},
"ruby": {
"runtime": "zap-proto/ruby (capn_proto.gemspec)",
"emit_backend": "TODO emit-ruby",
"http_fallback": "openapi-generator (ruby)",
"sdk_repo": "TODO hanzoai/ruby-sdk",
"status": "scaffold"
},
"php": {
"runtime": "NONE (needs zap-proto/php)",
"emit_backend": "n/a until runtime",
"http_fallback": "openapi-generator (php)",
"sdk_repo": "TODO hanzoai/php-sdk",
"status": "fallback-only"
}
}
}