Skip to content

Commit 720e31a

Browse files
author
1bcMax
committed
fix: always set blockrun/auto as default model on upgrade
Previous version returned early if blockrun provider already existed, so users upgrading from older versions never got blockrun/auto as the default model. Now always sets the default even on upgrade.
1 parent c4e5897 commit 720e31a

3 files changed

Lines changed: 23 additions & 17 deletions

File tree

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@blockrun/clawrouter",
3-
"version": "0.3.35",
3+
"version": "0.3.36",
44
"description": "Smart LLM router — save 78% on inference costs. 30+ models, one wallet, x402 micropayments.",
55
"type": "module",
66
"main": "dist/index.js",

src/index.ts

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -56,26 +56,32 @@ function injectModelsConfig(logger: { info: (msg: string) => void }): void {
5656
try {
5757
const config = JSON.parse(readFileSync(configPath, "utf-8"));
5858

59-
// Check if already configured
60-
if (config.models?.providers?.blockrun) {
61-
return; // Already configured
62-
}
59+
// Track if we need to write
60+
let needsWrite = false;
6361

64-
// Inject models config
62+
// Inject models config if not present
6563
if (!config.models) config.models = {};
6664
if (!config.models.providers) config.models.providers = {};
6765

68-
config.models.providers.blockrun = {
69-
baseUrl: "http://127.0.0.1:8402/v1",
70-
api: "openai-completions",
71-
models: OPENCLAW_MODELS,
72-
};
66+
if (!config.models.providers.blockrun) {
67+
config.models.providers.blockrun = {
68+
baseUrl: "http://127.0.0.1:8402/v1",
69+
api: "openai-completions",
70+
models: OPENCLAW_MODELS,
71+
};
72+
needsWrite = true;
73+
}
7374

74-
// Set blockrun/auto as the default model for smart routing
75-
config.models.default = "blockrun/auto";
75+
// Always set blockrun/auto as default (even on upgrade)
76+
if (config.models.default !== "blockrun/auto") {
77+
config.models.default = "blockrun/auto";
78+
needsWrite = true;
79+
}
7680

77-
writeFileSync(configPath, JSON.stringify(config, null, 2));
78-
logger.info("Injected BlockRun models into OpenClaw config (default: blockrun/auto)");
81+
if (needsWrite) {
82+
writeFileSync(configPath, JSON.stringify(config, null, 2));
83+
logger.info("Set default model to blockrun/auto (smart routing enabled)");
84+
}
7985
} catch {
8086
// Silently fail — config injection is best-effort
8187
}

0 commit comments

Comments
 (0)