@blockrun/clawrouter 0.11.10 → 0.11.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/cli.js CHANGED
@@ -5185,6 +5185,7 @@ async function proxyRequest(req, res, apiBase, payFetch, options, routerOpts, de
5185
5185
  let maxTokens = 4096;
5186
5186
  let routingProfile = null;
5187
5187
  let accumulatedContent = "";
5188
+ let responseInputTokens;
5188
5189
  const isChatCompletion = req.url?.includes("/chat/completions");
5189
5190
  const sessionId = getSessionId(req.headers);
5190
5191
  let effectiveSessionId = sessionId;
@@ -6039,6 +6040,10 @@ async function proxyRequest(req, res, apiBase, payFetch, options, routerOpts, de
6039
6040
  const jsonStr = jsonBody.toString();
6040
6041
  try {
6041
6042
  const rsp = JSON.parse(jsonStr);
6043
+ if (rsp.usage && typeof rsp.usage === "object") {
6044
+ const u = rsp.usage;
6045
+ if (typeof u.prompt_tokens === "number") responseInputTokens = u.prompt_tokens;
6046
+ }
6042
6047
  const baseChunk = {
6043
6048
  id: rsp.id ?? `chatcmpl-${Date.now()}`,
6044
6049
  object: "chat.completion.chunk",
@@ -6187,6 +6192,10 @@ async function proxyRequest(req, res, apiBase, payFetch, options, routerOpts, de
6187
6192
  if (rspJson.choices?.[0]?.message?.content) {
6188
6193
  accumulatedContent = rspJson.choices[0].message.content;
6189
6194
  }
6195
+ if (rspJson.usage && typeof rspJson.usage === "object") {
6196
+ if (typeof rspJson.usage.prompt_tokens === "number")
6197
+ responseInputTokens = rspJson.usage.prompt_tokens;
6198
+ }
6190
6199
  } catch {
6191
6200
  }
6192
6201
  }
@@ -6235,7 +6244,8 @@ async function proxyRequest(req, res, apiBase, payFetch, options, routerOpts, de
6235
6244
  cost: costWithBuffer,
6236
6245
  baselineCost: baselineWithBuffer,
6237
6246
  savings: accurateCosts.savings,
6238
- latencyMs: Date.now() - startTime
6247
+ latencyMs: Date.now() - startTime,
6248
+ ...responseInputTokens !== void 0 && { inputTokens: responseInputTokens }
6239
6249
  };
6240
6250
  logUsage(entry).catch(() => {
6241
6251
  });