Skip to content

Kestra 0.19 schema fails with Unknown type intersection for all output languages #2941

Description

@schani

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions