#!/usr/bin/env kotlin import java.io.File import java.net.URI import java.net.URLEncoder import java.net.http.HttpClient import java.net.http.HttpRequest import java.net.http.HttpResponse import java.nio.charset.StandardCharsets import kotlin.system.exitProcess val ENV_API_BASE_URL = "HOST_API_BASE_URL" val ENV_API_TOKEN = "HOST_API_TOKEN" data class GlobalOptions( val baseUrl: String, val token: String?, val tokenFile: String?, ) data class ParsedInput( val global: GlobalOptions, val command: String, val commandArgs: List, ) fun usage(): String = """ Usage: elide run api-cli.main.kts [global options] [command options] Global options: --base-url= Default: HOST_API_BASE_URL or http://127.0.0.1:8080 --token= Authorization token --token-file= Load token from file (fallback: HOST_API_TOKEN env) Commands: health type list show