diff --git a/src/lib/llm.ts b/src/lib/llm.ts index 1628af7..25b333f 100644 --- a/src/lib/llm.ts +++ b/src/lib/llm.ts @@ -21,7 +21,8 @@ export interface ConvertResult { converted: string; publicSystemPrompt: string; publicUserMessage: string; - model: string; + requestedModel: string; + actualModel: string | null; } const INPUT_TAG_START = '###### USER INPUT START ######'; @@ -100,10 +101,15 @@ export async function convertText( throw new Error('LLM returned empty response'); } + // OpenRouter's free router returns the actual model used in data.model + // e.g. requested "openrouter/free" -> actual "upstage/solar-pro-3:free" + const actualModel = (typeof data.model === 'string' && data.model !== merged.model) ? data.model : null; + return { converted, publicSystemPrompt: buildPublicSystemPrompt(styleModifier, intensityInstruction), publicUserMessage: text, - model: merged.model + requestedModel: merged.model, + actualModel }; } \ No newline at end of file diff --git a/src/lib/types.ts b/src/lib/types.ts index ab6fac9..12f3d3e 100644 --- a/src/lib/types.ts +++ b/src/lib/types.ts @@ -24,7 +24,7 @@ export interface ConversionResponse { intensity: number; systemPrompt: string; userMessage: string; - model: string; + modelLabel: string; } export interface LLMConfig { diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 955c6a3..836befc 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -49,7 +49,7 @@ let error = $state(''); let systemPrompt = $state(''); let userMessage = $state(''); - let modelName = $state(''); + let modelLabel = $state(''); let showPrompt = $state(saved?.showPrompt ?? false); let copied = $state(false); @@ -83,7 +83,7 @@ outputText = ''; systemPrompt = ''; userMessage = ''; - modelName = ''; + modelLabel = ''; showPrompt = false; try { @@ -107,7 +107,7 @@ outputText = result.converted; systemPrompt = result.systemPrompt; userMessage = result.userMessage; - modelName = result.model; + modelLabel = result.modelLabel; } catch (err) { error = err instanceof Error ? err.message : 'Something went wrong'; } finally { @@ -234,8 +234,8 @@
Responded by {modelName}
+ {#if modelLabel} +Responded by {modelLabel}
{/if} diff --git a/src/routes/api/convert/+server.ts b/src/routes/api/convert/+server.ts index ecdeba9..92410df 100644 --- a/src/routes/api/convert/+server.ts +++ b/src/routes/api/convert/+server.ts @@ -54,7 +54,9 @@ export const POST: RequestHandler = async ({ request }) => { intensity, systemPrompt: result.publicSystemPrompt, userMessage: result.publicUserMessage, - model: result.model + modelLabel: result.actualModel + ? `${result.actualModel} model from ${result.requestedModel}` + : result.requestedModel }; return json(response);