@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 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': 'zai/glm-5.1',
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] || 'zai/glm-5.1';
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
@@ -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 GLM-5.1 promo if nothing specified
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: GLM-5.1 promo if still active, otherwise Gemini Flash (cheap & reliable)
31
- const promoExpiry = new Date('2026-04-15');
32
- model = Date.now() < promoExpiry.getTime() ? 'zai/glm-5.1' : 'google/gemini-2.5-flash';
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blockrun/franklin",
3
- "version": "3.6.10",
3
+ "version": "3.6.11",
4
4
  "description": "Franklin — The AI agent with a wallet. Spends USDC autonomously to get real work done. Pay per action, no subscriptions.",
5
5
  "type": "module",
6
6
  "exports": {