@blockrun/franklin 3.6.10 → 3.6.11
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/agent/llm.js +4 -3
- package/dist/commands/start.js +15 -4
- package/package.json +1 -1
package/dist/agent/llm.js
CHANGED
|
@@ -105,14 +105,15 @@ export class ModelClient {
|
|
|
105
105
|
catch {
|
|
106
106
|
// Router not available (e.g. old build) — use hardcoded fallback table
|
|
107
107
|
}
|
|
108
|
-
// Static fallback if router is unavailable
|
|
108
|
+
// Static fallback if router is unavailable. Default to FREE model so
|
|
109
|
+
// users aren't silently charged when their intended model can't resolve.
|
|
109
110
|
const FALLBACKS = {
|
|
110
|
-
'blockrun/auto': '
|
|
111
|
+
'blockrun/auto': 'nvidia/nemotron-ultra-253b',
|
|
111
112
|
'blockrun/eco': 'nvidia/nemotron-ultra-253b',
|
|
112
113
|
'blockrun/premium': 'anthropic/claude-sonnet-4.6',
|
|
113
114
|
'blockrun/free': 'nvidia/nemotron-ultra-253b',
|
|
114
115
|
};
|
|
115
|
-
return FALLBACKS[model] || '
|
|
116
|
+
return FALLBACKS[model] || 'nvidia/nemotron-ultra-253b';
|
|
116
117
|
}
|
|
117
118
|
async *streamCompletion(request, signal) {
|
|
118
119
|
// Resolve virtual models before any API call
|
package/dist/commands/start.js
CHANGED
|
@@ -17,7 +17,8 @@ export async function startCommand(options) {
|
|
|
17
17
|
const chain = loadChain();
|
|
18
18
|
const apiUrl = API_URLS[chain];
|
|
19
19
|
const config = loadConfig();
|
|
20
|
-
// Resolve model — default to
|
|
20
|
+
// Resolve model — default to FREE (nemotron) so users don't get surprise charges.
|
|
21
|
+
// Paid models (glm-5.1, sonnet, opus, etc.) must be opted in with --model or /model.
|
|
21
22
|
let model;
|
|
22
23
|
const configModel = config['default-model'];
|
|
23
24
|
if (options.model) {
|
|
@@ -27,9 +28,19 @@ export async function startCommand(options) {
|
|
|
27
28
|
model = configModel;
|
|
28
29
|
}
|
|
29
30
|
else {
|
|
30
|
-
// Default:
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
// Default: free NVIDIA model — zero wallet charges until user explicitly switches
|
|
32
|
+
model = 'nvidia/nemotron-ultra-253b';
|
|
33
|
+
}
|
|
34
|
+
// Warn when a paid model is active so users know they'll be charged
|
|
35
|
+
const FREE_MODELS = new Set([
|
|
36
|
+
'nvidia/nemotron-ultra-253b',
|
|
37
|
+
'nvidia/qwen3-coder-480b',
|
|
38
|
+
'nvidia/devstral-2-123b',
|
|
39
|
+
'blockrun/free',
|
|
40
|
+
]);
|
|
41
|
+
if (!FREE_MODELS.has(model)) {
|
|
42
|
+
console.log(chalk.yellow(` Model: ${model} (paid — charges from your wallet per call)`));
|
|
43
|
+
console.log(chalk.dim(` Switch to free with: /model free\n`));
|
|
33
44
|
}
|
|
34
45
|
// Auto-create wallet if needed (no interruption — free models work without funding)
|
|
35
46
|
let walletAddress = '';
|
package/package.json
CHANGED