@blockrun/clawrouter 0.12.124 → 0.12.126

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blockrun/clawrouter",
3
- "version": "0.12.124",
3
+ "version": "0.12.126",
4
4
  "description": "Smart LLM router — save 85% on inference costs. 55+ models (11 free), one wallet, x402 micropayments.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -139,6 +139,41 @@ if [ -f "$CONFIG_PATH" ]; then
139
139
  fi
140
140
  echo ""
141
141
 
142
+ # 1b. Remove Crossmint/lobster extension
143
+ # lobster.cash conflicts with /wallet command — remove it so ClawRouter owns /wallet.
144
+ echo "→ Removing Crossmint/lobster extension..."
145
+ LOBSTER_DIR="$HOME/.openclaw/extensions/lobster.cash"
146
+ if [ -d "$LOBSTER_DIR" ]; then
147
+ rm -rf "$LOBSTER_DIR"
148
+ echo " ✓ Removed $LOBSTER_DIR"
149
+ else
150
+ echo " ✓ Not installed"
151
+ fi
152
+ node -e "
153
+ const fs = require('fs');
154
+ const configPath = '$CONFIG_PATH';
155
+ if (!fs.existsSync(configPath)) process.exit(0);
156
+ try {
157
+ const config = JSON.parse(fs.readFileSync(configPath, 'utf8'));
158
+ let changed = false;
159
+ for (const key of ['lobster.cash', 'lobster', 'crossmint']) {
160
+ if (config?.plugins?.entries?.[key]) { delete config.plugins.entries[key]; changed = true; console.log(' Removed plugins.entries.' + key); }
161
+ if (config?.plugins?.installs?.[key]) { delete config.plugins.installs[key]; changed = true; }
162
+ }
163
+ if (Array.isArray(config?.plugins?.allow)) {
164
+ const before = config.plugins.allow.length;
165
+ config.plugins.allow = config.plugins.allow.filter(p => !['lobster.cash','lobster','crossmint'].includes(p));
166
+ if (config.plugins.allow.length !== before) { changed = true; console.log(' Removed lobster/crossmint from plugins.allow'); }
167
+ }
168
+ if (changed) {
169
+ const tmp = configPath + '.tmp.' + process.pid;
170
+ fs.writeFileSync(tmp, JSON.stringify(config, null, 2));
171
+ fs.renameSync(tmp, configPath);
172
+ } else { console.log(' Config clean'); }
173
+ } catch (e) { console.log(' Skipped: ' + e.message); }
174
+ "
175
+ echo ""
176
+
142
177
  # 2. Clean config entries
143
178
  echo "→ Cleaning config entries..."
144
179
  node -e "
@@ -182,7 +217,7 @@ if (Array.isArray(c.plugins?.allow)) {
182
217
  'http', 'mcp', 'computer-use', 'browser', 'code', 'image', 'voice',
183
218
  'search', 'memory', 'calendar', 'email', 'slack', 'discord', 'telegram',
184
219
  'whatsapp', 'matrix', 'teams', 'notion', 'github', 'jira', 'linear',
185
- 'comfyui', 'crossmint',
220
+ 'comfyui',
186
221
  ];
187
222
  const before = c.plugins.allow.length;
188
223
  c.plugins.allow = c.plugins.allow.filter(p => {
@@ -771,10 +806,10 @@ echo " /model qwen-coder → qwen3-coder-480b (coding)"
771
806
  echo " /model maverick → llama-4-maverick"
772
807
  echo ""
773
808
  echo "OpenClaw slash commands:"
774
- echo " /blockrun → wallet balance, address, chain"
775
- echo " /blockrun export → export private key for backup"
776
- echo " /blockrun solana → switch to Solana payments"
777
- echo " /blockrun base → switch to Base (EVM) payments"
809
+ echo " /wallet → wallet balance, address, chain"
810
+ echo " /wallet export → export private key for backup"
811
+ echo " /wallet solana → switch to Solana payments"
812
+ echo " /wallet base → switch to Base (EVM) payments"
778
813
  echo " /stats → usage & cost breakdown"
779
814
  echo " /exclude add <model> → block a model from routing"
780
815
  echo ""
package/scripts/update.sh CHANGED
@@ -145,6 +145,45 @@ fi
145
145
 
146
146
  echo ""
147
147
 
148
+ # ── Step 1b: Remove Crossmint/lobster extension ───────────────
149
+ # lobster.cash is a third-party plugin that conflicts with /wallet command.
150
+ # Remove it so ClawRouter owns /wallet without conflict.
151
+ echo "→ Removing Crossmint/lobster extension..."
152
+ LOBSTER_DIR="$HOME/.openclaw/extensions/lobster.cash"
153
+ if [ -d "$LOBSTER_DIR" ]; then
154
+ rm -rf "$LOBSTER_DIR"
155
+ echo " ✓ Removed $LOBSTER_DIR"
156
+ else
157
+ echo " ✓ Not installed"
158
+ fi
159
+ # Clean crossmint/lobster from openclaw.json
160
+ node -e "
161
+ const fs = require('fs');
162
+ const configPath = '$CONFIG_PATH';
163
+ if (!fs.existsSync(configPath)) process.exit(0);
164
+ try {
165
+ const config = JSON.parse(fs.readFileSync(configPath, 'utf8'));
166
+ let changed = false;
167
+ // Remove from plugins.entries
168
+ for (const key of ['lobster.cash', 'lobster', 'crossmint']) {
169
+ if (config?.plugins?.entries?.[key]) { delete config.plugins.entries[key]; changed = true; console.log(' Removed plugins.entries.' + key); }
170
+ if (config?.plugins?.installs?.[key]) { delete config.plugins.installs[key]; changed = true; }
171
+ }
172
+ // Remove from plugins.allow
173
+ if (Array.isArray(config?.plugins?.allow)) {
174
+ const before = config.plugins.allow.length;
175
+ config.plugins.allow = config.plugins.allow.filter(p => !['lobster.cash','lobster','crossmint'].includes(p));
176
+ if (config.plugins.allow.length !== before) { changed = true; console.log(' Removed lobster/crossmint from plugins.allow'); }
177
+ }
178
+ if (changed) {
179
+ const tmp = configPath + '.tmp.' + process.pid;
180
+ fs.writeFileSync(tmp, JSON.stringify(config, null, 2));
181
+ fs.renameSync(tmp, configPath);
182
+ } else { console.log(' Config clean'); }
183
+ } catch (e) { console.log(' Skipped: ' + e.message); }
184
+ "
185
+ echo ""
186
+
148
187
  # ── Step 2: Kill old proxy ──────────────────────────────────────
149
188
  echo "→ Stopping old proxy..."
150
189
  kill_port_processes() {
@@ -190,7 +229,7 @@ try {
190
229
  'http','mcp','computer-use','browser','code','image','voice',
191
230
  'search','memory','calendar','email','slack','discord','telegram',
192
231
  'whatsapp','matrix','teams','notion','github','jira','linear',
193
- 'comfyui','crossmint',
232
+ 'comfyui',
194
233
  ];
195
234
  const before = config.plugins.allow.length;
196
235
  config.plugins.allow = config.plugins.allow.filter(p => {
@@ -589,8 +628,8 @@ if [ -f "$WALLET_FILE" ]; then
589
628
  try {
590
629
  const { privateKeyToAccount } = require('$HOME/.openclaw/extensions/clawrouter/node_modules/viem/accounts/index.js');
591
630
  console.log(privateKeyToAccount('$FINAL_KEY').address);
592
- } catch { console.log('(run /blockrun in OpenClaw to see your address)'); }
593
- " 2>/dev/null || echo "(run /blockrun in OpenClaw to see your address)")
631
+ } catch { console.log('(run /wallet in OpenClaw to see your address)'); }
632
+ " 2>/dev/null || echo "(run /wallet in OpenClaw to see your address)")
594
633
 
595
634
  echo " Wallet: $FINAL_ADDRESS"
596
635
  echo " Key file: $WALLET_FILE"
@@ -632,9 +671,9 @@ fi
632
671
 
633
672
  echo ""
634
673
  echo " OpenClaw slash commands:"
635
- echo " /blockrun → wallet balance, address, chain"
636
- echo " /blockrun export → export private key for backup"
637
- echo " /blockrun solana → switch to Solana payments"
674
+ echo " /wallet → wallet balance, address, chain"
675
+ echo " /wallet export → export private key for backup"
676
+ echo " /wallet solana → switch to Solana payments"
638
677
  echo " /stats → usage & cost breakdown"
639
678
  echo ""
640
679
  echo " CLI commands:"