diff --git a/README.md b/README.md index 17a6e8d6..84972d99 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Launch any AI agent on any cloud with a single command. Coding agents, research agents, self-hosted AI tools — Spawn deploys them all. All models powered by [OpenRouter](https://openrouter.ai). (ALPHA software, use at your own risk!) -**15 agents. 32 clouds. 444 combinations. Zero config.** +**15 agents. 32 clouds. 445 combinations. Zero config.** ## Install diff --git a/cli/package.json b/cli/package.json index 25526743..76aa4794 100644 --- a/cli/package.json +++ b/cli/package.json @@ -1,6 +1,6 @@ { "name": "@openrouter/spawn", - "version": "0.2.31", + "version": "0.2.32", "type": "module", "bin": { "spawn": "cli.js" diff --git a/cli/src/index.ts b/cli/src/index.ts index 0209fc14..d797f9d3 100644 --- a/cli/src/index.ts +++ b/cli/src/index.ts @@ -244,8 +244,8 @@ async function main(): Promise { if (isInteractiveTTY()) { await cmdInteractive(); } else { - console.error(pc.yellow("Non-interactive terminal detected (no TTY). Showing help instead of interactive picker.")); - console.error(pc.dim("To launch directly, use: spawn \n")); + console.error(pc.yellow("No interactive terminal detected.")); + console.error(pc.dim(`To launch directly: ${pc.cyan("spawn ")}\n`)); cmdHelp(); } return; @@ -255,6 +255,7 @@ async function main(): Promise { const showVersion = () => { console.log(`spawn v${VERSION}`); console.log(pc.dim(` ${process.argv[1] ?? "unknown path"}`)); + console.log(pc.dim(` Run ${pc.cyan("spawn update")} to check for updates.`)); }; const immediateCommands: Record void> = { "help": cmdHelp, "--help": cmdHelp, "-h": cmdHelp, diff --git a/shared/common.sh b/shared/common.sh index 388efb83..08b661c1 100644 --- a/shared/common.sh +++ b/shared/common.sh @@ -1023,7 +1023,7 @@ _api_handle_transient_http_error() { error_msg="service unavailable" fi - if ! _api_should_retry_on_error "http_${http_code}" "${attempt}" "${max_retries}" "${interval}" "${max_interval}" "Cloud API returned ${error_msg} (HTTP ${http_code})"; then + if ! _api_should_retry_on_error "${attempt}" "${max_retries}" "${interval}" "${max_interval}" "Cloud API returned ${error_msg} (HTTP ${http_code})"; then log_error "Cloud API returned HTTP ${http_code} after ${max_retries} attempts" return 1 fi