@blockrun/clawrouter 0.12.231 → 0.12.232

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/cli.js CHANGED
@@ -31393,6 +31393,22 @@ var init_esm4 = __esm({
31393
31393
  }
31394
31394
  });
31395
31395
 
31396
+ // src/max-tokens.ts
31397
+ function resolveMaxTokens(parsed, fallback2 = DEFAULT_MAX_TOKENS) {
31398
+ const usable = (v) => typeof v === "number" && Number.isFinite(v) && v > 0 ? v : void 0;
31399
+ const candidates = [usable(parsed.max_tokens), usable(parsed.max_completion_tokens)].filter(
31400
+ (n) => n !== void 0
31401
+ );
31402
+ return candidates.length > 0 ? Math.max(...candidates) : fallback2;
31403
+ }
31404
+ var DEFAULT_MAX_TOKENS;
31405
+ var init_max_tokens = __esm({
31406
+ "src/max-tokens.ts"() {
31407
+ "use strict";
31408
+ DEFAULT_MAX_TOKENS = 4096;
31409
+ }
31410
+ });
31411
+
31396
31412
  // src/payment-preauth.ts
31397
31413
  function createPayFetchWithPreAuth(baseFetch, client, ttlMs = DEFAULT_TTL_MS, options) {
31398
31414
  const httpClient = new x402HTTPClient(client);
@@ -31410,7 +31426,7 @@ function createPayFetchWithPreAuth(baseFetch, client, ttlMs = DEFAULT_TTL_MS, op
31410
31426
  bodyLength = bodyStr.length;
31411
31427
  const parsed = JSON.parse(bodyStr);
31412
31428
  requestModel = parsed.model ?? "";
31413
- maxTokens = Number(parsed.max_tokens) || 0;
31429
+ maxTokens = resolveMaxTokens(parsed, 0);
31414
31430
  }
31415
31431
  } catch {
31416
31432
  }
@@ -31481,6 +31497,7 @@ var init_payment_preauth = __esm({
31481
31497
  "src/payment-preauth.ts"() {
31482
31498
  "use strict";
31483
31499
  init_esm4();
31500
+ init_max_tokens();
31484
31501
  DEFAULT_TTL_MS = 36e5;
31485
31502
  }
31486
31503
  });
@@ -86091,7 +86108,7 @@ async function proxyRequest(req, res, apiBase, payFetch, options, routerOpts, de
86091
86108
  let hasVision = false;
86092
86109
  let isStreaming = false;
86093
86110
  let modelId = "";
86094
- let maxTokens = 4096;
86111
+ let maxTokens = DEFAULT_MAX_TOKENS;
86095
86112
  let routingProfile = null;
86096
86113
  let stickyExplicitModel;
86097
86114
  let balanceFallbackNotice;
@@ -86110,7 +86127,7 @@ async function proxyRequest(req, res, apiBase, payFetch, options, routerOpts, de
86110
86127
  const parsed = JSON.parse(body.toString());
86111
86128
  isStreaming = parsed.stream === true;
86112
86129
  modelId = parsed.model || "";
86113
- maxTokens = parsed.max_tokens || 4096;
86130
+ maxTokens = resolveMaxTokens(parsed);
86114
86131
  let bodyModified = false;
86115
86132
  const parsedMessages = Array.isArray(parsed.messages) ? parsed.messages : [];
86116
86133
  const lastUserMsg = [...parsedMessages].reverse().find((m) => m.role === "user");
@@ -88107,6 +88124,7 @@ var init_proxy = __esm({
88107
88124
  init_router();
88108
88125
  init_rules();
88109
88126
  init_models();
88127
+ init_max_tokens();
88110
88128
  init_logger();
88111
88129
  init_stats();
88112
88130
  init_dedup();
@@ -88124,6 +88142,7 @@ var init_proxy = __esm({
88124
88142
  init_textual_tool_calls();
88125
88143
  init_response_store();
88126
88144
  init_share_formatters();
88145
+ init_max_tokens();
88127
88146
  paymentStore = new AsyncLocalStorage();
88128
88147
  BLOCKRUN_API = "https://blockrun.ai/api";
88129
88148
  BLOCKRUN_SOLANA_API = "https://sol.blockrun.ai/api";
package/dist/index.js CHANGED
@@ -32917,6 +32917,22 @@ var init_esm4 = __esm({
32917
32917
  }
32918
32918
  });
32919
32919
 
32920
+ // src/max-tokens.ts
32921
+ function resolveMaxTokens(parsed, fallback2 = DEFAULT_MAX_TOKENS) {
32922
+ const usable = (v) => typeof v === "number" && Number.isFinite(v) && v > 0 ? v : void 0;
32923
+ const candidates = [usable(parsed.max_tokens), usable(parsed.max_completion_tokens)].filter(
32924
+ (n) => n !== void 0
32925
+ );
32926
+ return candidates.length > 0 ? Math.max(...candidates) : fallback2;
32927
+ }
32928
+ var DEFAULT_MAX_TOKENS;
32929
+ var init_max_tokens = __esm({
32930
+ "src/max-tokens.ts"() {
32931
+ "use strict";
32932
+ DEFAULT_MAX_TOKENS = 4096;
32933
+ }
32934
+ });
32935
+
32920
32936
  // src/payment-preauth.ts
32921
32937
  function createPayFetchWithPreAuth(baseFetch, client, ttlMs = DEFAULT_TTL_MS, options) {
32922
32938
  const httpClient = new x402HTTPClient(client);
@@ -32934,7 +32950,7 @@ function createPayFetchWithPreAuth(baseFetch, client, ttlMs = DEFAULT_TTL_MS, op
32934
32950
  bodyLength = bodyStr.length;
32935
32951
  const parsed = JSON.parse(bodyStr);
32936
32952
  requestModel = parsed.model ?? "";
32937
- maxTokens = Number(parsed.max_tokens) || 0;
32953
+ maxTokens = resolveMaxTokens(parsed, 0);
32938
32954
  }
32939
32955
  } catch {
32940
32956
  }
@@ -33005,6 +33021,7 @@ var init_payment_preauth = __esm({
33005
33021
  "src/payment-preauth.ts"() {
33006
33022
  "use strict";
33007
33023
  init_esm4();
33024
+ init_max_tokens();
33008
33025
  DEFAULT_TTL_MS = 36e5;
33009
33026
  }
33010
33027
  });
@@ -85911,7 +85928,7 @@ async function proxyRequest(req, res, apiBase, payFetch, options, routerOpts, de
85911
85928
  let hasVision = false;
85912
85929
  let isStreaming = false;
85913
85930
  let modelId = "";
85914
- let maxTokens = 4096;
85931
+ let maxTokens = DEFAULT_MAX_TOKENS;
85915
85932
  let routingProfile = null;
85916
85933
  let stickyExplicitModel;
85917
85934
  let balanceFallbackNotice;
@@ -85930,7 +85947,7 @@ async function proxyRequest(req, res, apiBase, payFetch, options, routerOpts, de
85930
85947
  const parsed = JSON.parse(body.toString());
85931
85948
  isStreaming = parsed.stream === true;
85932
85949
  modelId = parsed.model || "";
85933
- maxTokens = parsed.max_tokens || 4096;
85950
+ maxTokens = resolveMaxTokens(parsed);
85934
85951
  let bodyModified = false;
85935
85952
  const parsedMessages = Array.isArray(parsed.messages) ? parsed.messages : [];
85936
85953
  const lastUserMsg = [...parsedMessages].reverse().find((m) => m.role === "user");
@@ -87927,6 +87944,7 @@ var init_proxy = __esm({
87927
87944
  init_router();
87928
87945
  init_rules();
87929
87946
  init_models();
87947
+ init_max_tokens();
87930
87948
  init_logger();
87931
87949
  init_stats();
87932
87950
  init_dedup();
@@ -87944,6 +87962,7 @@ var init_proxy = __esm({
87944
87962
  init_textual_tool_calls();
87945
87963
  init_response_store();
87946
87964
  init_share_formatters();
87965
+ init_max_tokens();
87947
87966
  paymentStore = new AsyncLocalStorage();
87948
87967
  BLOCKRUN_API = "https://blockrun.ai/api";
87949
87968
  BLOCKRUN_SOLANA_API = "https://sol.blockrun.ai/api";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blockrun/clawrouter",
3
- "version": "0.12.231",
3
+ "version": "0.12.232",
4
4
  "description": "Smart LLM router — save 85% on inference costs. 55+ models (8 free), one wallet, x402 micropayments.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",