ai_json_template/ai_json_template.rs
1// ---------------- [ File: ai-json-template/src/ai_json_template.rs ]
2crate::ix!();
3
4/// The derived code implements `AiJsonTemplate` for each struct, letting you
5/// call `MyStruct::to_template()` to get a JSON “schema” describing how the
6/// AI should produce data that matches this layout.
7///
8pub trait AiJsonTemplate
9: Clone
10+ Debug
11+ LoadFromFile
12+ SaveToFile<Error=SaveLoadError>
13+ Serialize
14+ for<'a> Deserialize<'a>
15{
16 /// Return a JSON template describing how the AI’s output should be structured.
17 /// This might include doc comments or other instructions for each field.
18 fn to_template() -> serde_json::Value;
19}