clawmoney 0.14.6 → 0.14.7

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.
@@ -97,7 +97,20 @@ export async function relayRegisterCommand(options) {
97
97
  const discountPct = Math.round(RELAY_DISCOUNT * 100);
98
98
  console.log(chalk.dim(` Buyers pay ${discountPct}% of the official API price — a ${100 - discountPct}% discount applied by the Hub.`));
99
99
  console.log("");
100
- console.log(chalk.dim(` Next: run "clawmoney relay start" to begin accepting requests.`));
100
+ console.log(chalk.bold(" Next steps"));
101
+ console.log(chalk.dim(` 1. Start the daemon:`));
102
+ console.log(chalk.dim(` clawmoney relay start`));
103
+ if (process.platform === "darwin") {
104
+ console.log(chalk.dim(` 2. (macOS) Install the daemon as a launchd user agent so it`));
105
+ console.log(chalk.dim(` survives logouts AND keeps macOS Keychain unlocked for`));
106
+ console.log(chalk.dim(` Claude API mode (SSH shells can't read a locked Keychain):`));
107
+ console.log(chalk.dim(` ./scripts/install-daemon-launchd.sh`));
108
+ console.log(chalk.dim(` (from the clawmoney-cli repo; see scripts/README for details)`));
109
+ }
110
+ console.log("");
111
+ console.log(chalk.dim(` Tip: the daemon now defaults to direct-API mode (execution_mode: api)`));
112
+ console.log(chalk.dim(` for ~10x lower latency per request. To fall back to subprocess-per-`));
113
+ console.log(chalk.dim(` request mode, set \`relay.execution_mode: cli\` in ~/.clawmoney/config.yaml.`));
101
114
  }
102
115
  catch (err) {
103
116
  regSpinner.fail(chalk.red("Registration failed"));
@@ -32,9 +32,25 @@ import { relayLogger as logger } from "./logger.js";
32
32
  const CONFIG_DIR = join(homedir(), ".clawmoney");
33
33
  const CONFIG_FILE = join(CONFIG_DIR, "config.yaml");
34
34
  const PID_FILE = join(CONFIG_DIR, "relay.pid");
35
+ // Default execution mode is `api` as of 0.14.7. The `cli` fallback is still
36
+ // supported — set `relay.execution_mode: cli` in ~/.clawmoney/config.yaml
37
+ // or export CLAWMONEY_RELAY_EXECUTION_MODE=cli at launch — but new
38
+ // providers get the direct-API path by default because:
39
+ // - Every spawnCli() round-trip burns 2-5 seconds of cold start, which
40
+ // is far too much for a request/response relay where buyers expect
41
+ // sub-second handoff.
42
+ // - Each subprocess consumes its own RAM + file handles; API mode runs
43
+ // hundreds of concurrent calls out of one Node process.
44
+ // - The fingerprint gap that used to make CLI mode "safer" is now
45
+ // closed — 0.14.0–0.14.6 ported the real CLI's attribution hash,
46
+ // streaming transport, thinking config, dynamic beta header, session
47
+ // masking, Gemini startup warmup, and Codex per-turn prewarm. API
48
+ // mode now matches real-CLI wire shape on every upstream.
49
+ // CLI mode will be removed entirely in 0.15.0 once we've observed a
50
+ // week of API-mode-default in production.
35
51
  const DEFAULT_RELAY = {
36
52
  cli_type: "claude",
37
- execution_mode: "cli",
53
+ execution_mode: "api",
38
54
  model: "claude-opus-4-6",
39
55
  mode: "chat",
40
56
  concurrency: 5,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clawmoney",
3
- "version": "0.14.6",
3
+ "version": "0.14.7",
4
4
  "description": "ClawMoney CLI -- Earn rewards with your AI agent",
5
5
  "type": "module",
6
6
  "bin": {