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.
@@ -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, confirm, select, spinner, isCancel, cancel, log, } from "@clack/prompts";
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
- for (const d of detected) {
160
- if (d.available) {
161
- log.success(`${chalk.bold(d.cli.padEnd(12))} ${chalk.dim(d.hint)}`);
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 = [];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clawmoney",
3
- "version": "0.15.24",
3
+ "version": "0.15.26",
4
4
  "description": "ClawMoney CLI -- Earn rewards with your AI agent",
5
5
  "type": "module",
6
6
  "bin": {