2025-10-20 11:45:11 -07:00
|
|
|
use anyhow::Result;
|
|
|
|
|
use clap::Parser;
|
|
|
|
|
use std::path::PathBuf;
|
|
|
|
|
|
|
|
|
|
#[derive(Parser, Debug)]
|
|
|
|
|
#[command(
|
2025-11-11 16:01:04 +01:00
|
|
|
about = "Generate TypeScript bindings and JSON Schemas for the LLMX app-server protocol"
|
2025-10-20 11:45:11 -07:00
|
|
|
)]
|
|
|
|
|
struct Args {
|
|
|
|
|
/// Output directory where generated files will be written
|
|
|
|
|
#[arg(short = 'o', long = "out", value_name = "DIR")]
|
|
|
|
|
out_dir: PathBuf,
|
|
|
|
|
|
|
|
|
|
/// Optional Prettier executable path to format generated TypeScript files
|
|
|
|
|
#[arg(short = 'p', long = "prettier", value_name = "PRETTIER_BIN")]
|
|
|
|
|
prettier: Option<PathBuf>,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fn main() -> Result<()> {
|
|
|
|
|
let args = Args::parse();
|
2025-11-11 14:29:57 +01:00
|
|
|
llmx_app_server_protocol::generate_types(&args.out_dir, args.prettier.as_deref())
|
2025-10-20 11:45:11 -07:00
|
|
|
}
|