clawmoney 0.10.17 → 0.10.18
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/relay/executor.js +4 -1
- package/dist/relay/provider.js +6 -1
- package/package.json +1 -1
package/dist/relay/executor.js
CHANGED
|
@@ -106,7 +106,10 @@ export function parseClaudeOutput(raw) {
|
|
|
106
106
|
if (modelUsage) {
|
|
107
107
|
for (const [modelName, usage] of Object.entries(modelUsage)) {
|
|
108
108
|
model = modelName;
|
|
109
|
-
|
|
109
|
+
// Total input = base + cache_creation + cache_read
|
|
110
|
+
inputTokens += (usage.inputTokens ?? 0)
|
|
111
|
+
+ (usage.cacheCreationInputTokens ?? 0)
|
|
112
|
+
+ (usage.cacheReadInputTokens ?? 0);
|
|
110
113
|
outputTokens += usage.outputTokens ?? 0;
|
|
111
114
|
cachedTokens += usage.cacheReadInputTokens ?? 0;
|
|
112
115
|
}
|
package/dist/relay/provider.js
CHANGED
|
@@ -113,15 +113,20 @@ async function executeRelayRequest(request, config) {
|
|
|
113
113
|
logger.info(` │ Prompt: ${String(lastUserMsg).slice(0, 80)}`);
|
|
114
114
|
try {
|
|
115
115
|
// No session_id — each request is stateless, full history in prompt
|
|
116
|
+
const startMs = Date.now();
|
|
116
117
|
const args = buildCliArgs(cliType, prompt, undefined, max_budget_usd, model);
|
|
117
118
|
const raw = await spawnCli(cliType, args);
|
|
119
|
+
const elapsedMs = Date.now() - startMs;
|
|
118
120
|
const parsed = parseCliOutput(cliType, raw);
|
|
119
121
|
const answer = parsed.text.replace(/\n/g, " ").slice(0, 80);
|
|
120
122
|
const inT = parsed.usage.input_tokens;
|
|
121
123
|
const outT = parsed.usage.output_tokens;
|
|
124
|
+
const cachedT = parsed.usage.cached_tokens ?? 0;
|
|
122
125
|
const { apiCost, relayCost, providerEarn } = calculateCost(model, inT, outT);
|
|
126
|
+
const elapsedSec = (elapsedMs / 1000).toFixed(1);
|
|
123
127
|
logger.info(` │ Answer: ${answer}`);
|
|
124
|
-
logger.info(` │ Tokens: ${inT} in / ${outT} out`);
|
|
128
|
+
logger.info(` │ Tokens: ${inT} in (${cachedT} cached) / ${outT} out`);
|
|
129
|
+
logger.info(` │ Time: ${elapsedSec}s`);
|
|
125
130
|
logger.info(` │ Cost: API $${apiCost.toFixed(4)} → Relay $${relayCost.toFixed(4)} → Earn $${providerEarn.toFixed(4)}`);
|
|
126
131
|
logger.info(` └─ Done`);
|
|
127
132
|
return {
|