clawmoney 0.15.24 → 0.15.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/relay-setup.js +19 -17
- package/package.json +1 -1
|
@@ -2,7 +2,7 @@ import { execSync } from "node:child_process";
|
|
|
2
2
|
import { existsSync } from "node:fs";
|
|
3
3
|
import { homedir } from "node:os";
|
|
4
4
|
import { join } from "node:path";
|
|
5
|
-
import { intro, outro, multiselect,
|
|
5
|
+
import { intro, outro, multiselect, select, spinner, isCancel, cancel, log, } from "@clack/prompts";
|
|
6
6
|
import chalk from "chalk";
|
|
7
7
|
import { apiPost } from "../utils/api.js";
|
|
8
8
|
import { loadConfig, requireConfig } from "../utils/config.js";
|
|
@@ -156,15 +156,19 @@ export async function relaySetupCommand() {
|
|
|
156
156
|
detectSpin.start("Scanning for installed CLI clients...");
|
|
157
157
|
const detected = detectInstalledClis();
|
|
158
158
|
detectSpin.stop("Scan complete");
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
else {
|
|
164
|
-
log.warn(`${chalk.bold(d.cli.padEnd(12))} ${chalk.dim(d.hint)}`);
|
|
165
|
-
}
|
|
166
|
-
}
|
|
159
|
+
// Collapse per-CLI rows into one (or two) summary lines — users only
|
|
160
|
+
// care about "which ones can I lend" at this point, not the per-binary
|
|
161
|
+
// hint strings. If everything's present it's a single green line; any
|
|
162
|
+
// misses get their own warn line with a short hint.
|
|
167
163
|
const available = detected.filter((d) => d.available);
|
|
164
|
+
const missing = detected.filter((d) => !d.available);
|
|
165
|
+
if (available.length > 0) {
|
|
166
|
+
log.success(`Found: ${chalk.bold(available.map((d) => d.cli).join(", "))}`);
|
|
167
|
+
}
|
|
168
|
+
if (missing.length > 0) {
|
|
169
|
+
log.warn(`Missing: ${chalk.bold(missing.map((d) => d.cli).join(", "))} ` +
|
|
170
|
+
chalk.dim(`(install the CLI, or run \`clawmoney antigravity login\` for antigravity)`));
|
|
171
|
+
}
|
|
168
172
|
if (available.length === 0) {
|
|
169
173
|
log.error("No supported CLI clients found locally. Install at least one of: " +
|
|
170
174
|
chalk.cyan("claude, codex, gemini") +
|
|
@@ -288,15 +292,13 @@ export async function relaySetupCommand() {
|
|
|
288
292
|
log.message(chalk.dim(` ${registrations.length} provider(s) · ${limitLabel[dailyLimit] ?? `$${dailyLimit}/day cap`} per model`));
|
|
289
293
|
log.message(chalk.dim(` You earn ~${Math.round((1 - PLATFORM_FEE) * 100)}% of what buyers pay (after platform fee)`));
|
|
290
294
|
log.message(chalk.dim(` To customize: edit ~/.clawmoney/config.yaml after start`));
|
|
291
|
-
const proceed = await confirm({
|
|
292
|
-
message: `Register all ${registrations.length} providers now?`,
|
|
293
|
-
initialValue: true,
|
|
294
|
-
});
|
|
295
|
-
if (isCancel(proceed) || !proceed) {
|
|
296
|
-
cancel("Setup cancelled");
|
|
297
|
-
process.exit(0);
|
|
298
|
-
}
|
|
299
295
|
// ── Step 6: register each (idempotent — "already registered" counts as success) ──
|
|
296
|
+
//
|
|
297
|
+
// No "Register all N providers now?" confirm — the user already
|
|
298
|
+
// picked subscriptions + daily quota share. Seeing the summary and
|
|
299
|
+
// immediately going into registration is the expected flow. Ctrl-C
|
|
300
|
+
// still aborts, and registrations are idempotent so a mid-way abort
|
|
301
|
+
// is recoverable by re-running.
|
|
300
302
|
let succeeded = 0;
|
|
301
303
|
let failed = 0;
|
|
302
304
|
const failures = [];
|