From 9b1bfcbca9db4fa9251340b8fee278895c3568ba Mon Sep 17 00:00:00 2001 From: Zoe <62722391+juls0730@users.noreply.github.com> Date: Tue, 3 Mar 2026 10:24:00 -0600 Subject: [PATCH] fix: money incorrectly formatted for some models --- .../api/provider/[providerId]/models.post.ts | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/server/api/provider/[providerId]/models.post.ts b/server/api/provider/[providerId]/models.post.ts index 5a4998e..57b8788 100644 --- a/server/api/provider/[providerId]/models.post.ts +++ b/server/api/provider/[providerId]/models.post.ts @@ -221,10 +221,10 @@ const getModelData = (modelId: string, providerId: string, modelsDevData: any) = for (const key in modelData.cost) { switch (key) { case 'input': { - cost.prompt = modelData.cost[key].toString(); + cost.prompt = formatMoney(modelData.cost[key].toString()); } break; case 'output': { - cost.completion = modelData.cost[key].toString(); + cost.completion = formatMoney(modelData.cost[key].toString()); } break; } } @@ -305,6 +305,21 @@ const lshDecimal = (number: string, shift: number) => { return value; } +const formatMoney = (value: string) => { + // ensure that there are two decimal places MINIMUM I WILL STRANGLE YOU SO HELP ME GOD + const [integerPart, fractionalPart] = value.split('.'); + + if (fractionalPart === undefined) { + return `${integerPart}.00`; + } + + if (fractionalPart.length === 1) { + return `${integerPart}.${fractionalPart}0`; + } + + return `${integerPart}.${fractionalPart}`; +} + const normalizeResponse = async (response: Record, provider: typeof Providers[number], baseUrl: string, modelsDevData: any) => { switch (provider) { case 'cerebras': {