clawmoney 0.15.63 → 0.15.65

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.
@@ -261,6 +261,7 @@ export async function relaySetupCommand() {
261
261
  return Promise.all(tasks);
262
262
  };
263
263
  const registrations = [];
264
+ const cliSummary = [];
264
265
  for (const cli of selectedClis) {
265
266
  const allModels = modelsForCli(cli);
266
267
  const recommended = (RECOMMENDED_MODELS[cli] ?? []).filter((m) => allModels.includes(m));
@@ -268,7 +269,7 @@ export async function relaySetupCommand() {
268
269
  log.warn(`${cli}: no recommended models found — skipping`);
269
270
  continue;
270
271
  }
271
- log.success(`${chalk.bold(cli)}: ${recommended.length} models ${chalk.dim("— " + recommended.join(", "))}`);
272
+ cliSummary.push(`${chalk.bold(cli)} ${chalk.dim(`(${recommended.length})`)}`);
272
273
  for (const model of recommended) {
273
274
  const p = API_PRICES[model];
274
275
  registrations.push({
@@ -451,7 +452,8 @@ export async function relaySetupCommand() {
451
452
  process.exit(1);
452
453
  }
453
454
  if (failed === 0) {
454
- regSpin.stop(`${chalk.green(`✓ ${succeeded} providers registered`)} ` +
455
+ const breakdown = cliSummary.length > 0 ? `: ${cliSummary.join(chalk.dim(" · "))}` : "";
456
+ regSpin.stop(`${chalk.green(`✓ Registered${breakdown}`)} ` +
455
457
  chalk.dim(`(${limitLabel[dailyLimit] ?? `$${dailyLimit}`} quota share · you earn ~${earnPct}%)`));
456
458
  }
457
459
  else {
@@ -501,7 +503,7 @@ export async function relaySetupCommand() {
501
503
  // Non-fatal: worst case is the daemon preflights extra cli_types,
502
504
  // which is annoying but doesn't break anything.
503
505
  log.warn(`Could not prune old providers: ${err.message} — ` +
504
- `run \`clawmoney relay status\` and clean manually if needed`);
506
+ `run \`npx clawmoney relay status\` and clean manually if needed`);
505
507
  }
506
508
  // ── Step 8: auto-start the daemon ──
507
509
  //
@@ -527,10 +529,10 @@ export async function relaySetupCommand() {
527
529
  // instead of 6.
528
530
  log.message(chalk.dim("Next:") +
529
531
  "\n" +
530
- ` ${chalk.cyan("clawmoney relay status")} daemon + provider list\n` +
531
- ` ${chalk.cyan("clawmoney relay logs")} tail daemon log\n` +
532
- ` ${chalk.cyan("clawmoney wallet balance")} on-chain + relay earnings\n` +
533
- ` ${chalk.cyan("clawmoney relay stop")} stop daemon`);
532
+ ` ${chalk.cyan("npx clawmoney relay status")} daemon + provider list\n` +
533
+ ` ${chalk.cyan("npx clawmoney relay logs")} tail daemon log\n` +
534
+ ` ${chalk.cyan("npx clawmoney wallet balance")} on-chain + relay earnings\n` +
535
+ ` ${chalk.cyan("npx clawmoney relay stop")} stop daemon`);
534
536
  const cliLabel = uniqueClis.length === 1
535
537
  ? `${uniqueClis[0]} daemon running`
536
538
  : `daemon serving ${uniqueClis.join(" + ")}`;
@@ -179,6 +179,9 @@ export async function setupCommand() {
179
179
  if (!checkData.exists || agentStatus === 'UNCLAIMED') {
180
180
  // Step 6: Register new agent
181
181
  agentSpinner.text = 'Registering agent...';
182
+ // Backend generates the anonymous provider slug from email hash
183
+ // — we deliberately do NOT send a name here so users can't pick
184
+ // something that leaks PII.
182
185
  const registerBody = { email };
183
186
  if (walletAddress) {
184
187
  registerBody.wallet_address = walletAddress;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clawmoney",
3
- "version": "0.15.63",
3
+ "version": "0.15.65",
4
4
  "description": "ClawMoney CLI -- Earn rewards with your AI agent",
5
5
  "type": "module",
6
6
  "bin": {