From 29e32f1800b8489364523bcd2347c672eed4e394 Mon Sep 17 00:00:00 2001 From: slhafzjw Date: Tue, 24 Feb 2026 21:56:24 +0800 Subject: [PATCH] refactor: rename cli and tui tools --- README.md | 20 +- tools/api-cli.main.kts | 278 ------------------ tools/{api-cli.kts => slhaf-hub-cli.kts} | 8 +- tools/{api-tui.main.kts => slhaf-hub-tui.kts} | 2 +- 4 files changed, 15 insertions(+), 293 deletions(-) delete mode 100755 tools/api-cli.main.kts rename tools/{api-cli.kts => slhaf-hub-cli.kts} (96%) rename tools/{api-tui.main.kts => slhaf-hub-tui.kts} (99%) diff --git a/README.md b/README.md index d2a6da1..fea34f6 100644 --- a/README.md +++ b/README.md @@ -91,28 +91,28 @@ You can add/remove `*.hub.kts` files in `scripts/` at any time. The web host res - For script files with custom extension (`*.hub.kts`), IDEA code insight is usually weaker than standard `*.main.kts` or module Kotlin sources. This is an IDE limitation for custom script definitions. ## Command CLI -A standalone CLI script is available at `tools/api-cli.main.kts` (independent from host internals, only HTTP calls). +A standalone CLI script is available at `tools/slhaf-hub-cli.kts` (independent from host internals, only HTTP calls). Examples: ```bash -kotlin tools/api-cli.main.kts --base-url=http://127.0.0.1:8080 --token-file=./scripts/.host-api-token list -kotlin tools/api-cli.main.kts --token-file=./scripts/.host-api-token type -kotlin tools/api-cli.main.kts --token-file=./scripts/.host-api-token show hello -kotlin tools/api-cli.main.kts --token-file=./scripts/.host-api-token run hello --arg=name=Alice --arg=upper=true -kotlin tools/api-cli.main.kts --token-file=./scripts/.host-api-token create demo --text='// @desc: demo\nval args: Array = emptyArray()\nprintln("ok")' -kotlin tools/api-cli.main.kts --token-file=./scripts/.host-api-token sub-create demo-sub --scripts=hello,time -kotlin tools/api-cli.main.kts --token-file=./scripts/.host-api-token sub-list +kotlin tools/slhaf-hub-cli.kts --base-url=http://127.0.0.1:8080 --token-file=./scripts/.host-api-token list +kotlin tools/slhaf-hub-cli.kts --token-file=./scripts/.host-api-token type +kotlin tools/slhaf-hub-cli.kts --token-file=./scripts/.host-api-token show hello +kotlin tools/slhaf-hub-cli.kts --token-file=./scripts/.host-api-token run hello --arg=name=Alice --arg=upper=true +kotlin tools/slhaf-hub-cli.kts --token-file=./scripts/.host-api-token create demo --text='// @desc: demo\nval args: Array = emptyArray()\nprintln("ok")' +kotlin tools/slhaf-hub-cli.kts --token-file=./scripts/.host-api-token sub-create demo-sub --scripts=hello,time +kotlin tools/slhaf-hub-cli.kts --token-file=./scripts/.host-api-token sub-list ``` Note: - In this environment, `elide run -- ` currently does not expose Kotlin script args reliably; use `kotlin` to run the CLI script. ## Simple TUI -A minimal keyboard-driven TUI is available at `tools/api-tui.main.kts`. +A minimal keyboard-driven TUI is available at `tools/slhaf-hub-tui.kts`. Run: ```bash -kotlin tools/api-tui.main.kts --base-url=http://127.0.0.1:8080 --token-file=./scripts/.host-api-token +kotlin tools/slhaf-hub-tui.kts --base-url=http://127.0.0.1:8080 --token-file=./scripts/.host-api-token ``` Keys: diff --git a/tools/api-cli.main.kts b/tools/api-cli.main.kts deleted file mode 100755 index ae61113..0000000 --- a/tools/api-cli.main.kts +++ /dev/null @@ -1,278 +0,0 @@ -#!/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