Keep your HTTP API and your async API in one TypeSpec workspace. Emit OpenAPI and AsyncAPI from the same models.
Verified conversion rules
Every input/output pair in these docs was generated by the actual converter — models, scalars, enums, unions, inheritance, discriminators, and validation keywords.
No silent drops
Anything the emitter cannot represent is omitted with a warning or reported as an error — never silently rewritten. Each diagnostic is documented with its cause and fix.