1
0
forked from boos/BoosAPI

fix(proxy): fix merge conflict data loss in embeddings.ts success path

This commit is contained in:
Hureru
2026-03-19 01:21:00 +08:00
parent 849800c4cd
commit 17afe3319e
+26
View File
@@ -95,6 +95,32 @@ export async function embeddingsProxyRoute(app: FastifyInstance) {
return reply.code(upstream.status).send({ error: { message: text, type: 'upstream_error' } }); return reply.code(upstream.status).send({ error: { message: text, type: 'upstream_error' } });
} }
let data: any = {};
try { data = JSON.parse(text); } catch { data = {}; }
const parsedUsage = parseProxyUsage(data);
const latency = Date.now() - startTime;
const resolvedUsage = await resolveProxyUsageWithSelfLogFallback({
site: selected.site,
account: selected.account,
tokenValue: selected.tokenValue,
tokenName: selected.tokenName,
modelName: selected.actualModel || requestedModel,
requestStartedAtMs: startTime,
requestEndedAtMs: startTime + latency,
localLatencyMs: latency,
usage: {
promptTokens: parsedUsage.promptTokens,
completionTokens: parsedUsage.completionTokens,
totalTokens: parsedUsage.totalTokens,
},
});
const { estimatedCost, billingDetails } = await resolveProxyLogBilling({
site: selected.site,
account: selected.account,
modelName: selected.actualModel || requestedModel,
parsedUsage,
resolvedUsage,
});
tokenRouter.recordSuccess(selected.channel.id, latency, estimatedCost); tokenRouter.recordSuccess(selected.channel.id, latency, estimatedCost);
recordDownstreamCostUsage(request, estimatedCost); recordDownstreamCostUsage(request, estimatedCost);
logProxy( logProxy(