#[derive(AiJsonTemplate)]Expand description
This new implementation supports:
- Named structs (as before),
- Enums with any mix of:
- Unit variants,
- Struct variants (with named fields),
- Tuple variants (with unnamed fields).
It generates a template describing each variant and its fields. Where those fields are
themselves AiJsonTemplate, the macro nests that template, just like with structs.
Please integrate this entire function as-is (and make sure the other helper modules
like gather_doc_comments and classify_field_type are still in scope).