@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/dist/index.js +10 -10
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/scripts/reinstall.sh +40 -5
- package/scripts/update.sh +45 -6
package/package.json
CHANGED
package/scripts/reinstall.sh
CHANGED
|
@@ -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',
|
|
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 " /
|
|
775
|
-
echo " /
|
|
776
|
-
echo " /
|
|
777
|
-
echo " /
|
|
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',
|
|
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 /
|
|
593
|
-
" 2>/dev/null || echo "(run /
|
|
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 " /
|
|
636
|
-
echo " /
|
|
637
|
-
echo " /
|
|
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:"
|