Summary
quicktype fails to process the real-world Kestra 0.19 JSON Schema with:
Error: Internal error: Unknown type intersection.
The same failure occurs for both TypeScript and Rust output, so it appears to happen before renderer-specific code generation.
This is likely related to #2913. I am reporting it separately because Kestra is a large, real-world schema that can serve as a regression and performance test after the underlying intersection issue is fixed.
Input schema
The hosted copy was downloaded again after upload and its size and SHA-256 were verified against the benchmark input.
Steps to reproduce
node dist/index.js --lang typescript --src-lang schema --out /tmp/kestra.ts kestra-0.19.0.schema.json
The Rust renderer fails identically:
node dist/index.js --lang rust --src-lang schema --out /tmp/kestra.rs kestra-0.19.0.schema.json
Actual result
TypeScript:
Error: Internal error: Unknown type intersection.
real 4.38 seconds
Rust:
Error: Internal error: Unknown type intersection.
real 4.39 seconds
Expected result
quicktype should generate output successfully. If this schema construct is intentionally unsupported, it should return an actionable schema diagnostic that identifies the unsupported construct or location rather than an internal error.
Environment
- Repository: glideapps/quicktype
- Commit: f103f0a
- Branch: master
- quicktype version reported by the built CLI: 24.0.0
- Node.js: 24.6.0
- macOS: 14.8.3
- Architecture: arm64
Benchmark context
This was discovered while evaluating large real-world JSON Schemas for whole-pipeline performance coverage. The Kestra schema is the largest representative schema in that set, but no phase breakdown can currently be collected because the pipeline aborts with the internal error.
Summary
quicktype fails to process the real-world Kestra 0.19 JSON Schema with:
The same failure occurs for both TypeScript and Rust output, so it appears to happen before renderer-specific code generation.
This is likely related to #2913. I am reporting it separately because Kestra is a large, real-world schema that can serve as a regression and performance test after the underlying intersection issue is fixed.
Input schema
The hosted copy was downloaded again after upload and its size and SHA-256 were verified against the benchmark input.
Steps to reproduce
The Rust renderer fails identically:
Actual result
TypeScript:
Rust:
Expected result
quicktype should generate output successfully. If this schema construct is intentionally unsupported, it should return an actionable schema diagnostic that identifies the unsupported construct or location rather than an internal error.
Environment
Benchmark context
This was discovered while evaluating large real-world JSON Schemas for whole-pipeline performance coverage. The Kestra schema is the largest representative schema in that set, but no phase breakdown can currently be collected because the pipeline aborts with the internal error.