generate_schema/
generate_schema.rs

1//! Generate and save JSON Schema for Expertise type
2
3use llm_toolkit_expertise::dump_expertise_schema;
4
5fn main() {
6    println!("=== Expertise JSON Schema Generator ===\n");
7
8    // Generate schema
9    let schema = dump_expertise_schema();
10
11    // Print to stdout
12    println!("--- JSON Schema ---\n");
13    println!(
14        "{}",
15        serde_json::to_string_pretty(&schema).expect("Failed to serialize schema")
16    );
17
18    // Optionally save to file
19    // Uncomment to save:
20    /*
21    let output_path = "expertise-schema.json";
22    match save_expertise_schema(output_path) {
23        Ok(_) => println!("\n✅ Schema saved to: {}", output_path),
24        Err(e) => eprintln!("\n❌ Failed to save schema: {}", e),
25    }
26    */
27
28    println!("\n--- Schema Stats ---");
29    if let Some(obj) = schema.as_object() {
30        println!("Top-level keys: {}", obj.keys().count());
31        if let Some(defs) = obj.get("definitions").and_then(|v| v.as_object()) {
32            println!("Type definitions: {}", defs.keys().count());
33            println!("Defined types:");
34            for key in defs.keys() {
35                println!("  - {}", key);
36            }
37        }
38    }
39}