@blockrun/clawrouter 0.12.124 → 0.12.125

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.125",
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 => {
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 => {