From c6708f42f7e987367ecce360a60473086af84aff Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Fri, 29 May 2026 20:58:49 +0200 Subject: [PATCH] Refactoring --- apps/api/src/services/fetch/fetch.service.ts | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/apps/api/src/services/fetch/fetch.service.ts b/apps/api/src/services/fetch/fetch.service.ts index 85f198a82..ba1887f96 100644 --- a/apps/api/src/services/fetch/fetch.service.ts +++ b/apps/api/src/services/fetch/fetch.service.ts @@ -61,13 +61,23 @@ export class FetchService { private extractJsonFromWebFetchResult({ response, + sources, text }: { response: { body?: unknown }; + sources: { providerMetadata?: Record> }[]; text: string; }): string | undefined { const candidates: string[] = []; + for (const source of sources ?? []) { + const content = source?.providerMetadata?.openrouter?.content; + + if (typeof content === 'string' && content) { + candidates.push(content); + } + } + const body = response?.body as | { choices?: { @@ -114,7 +124,7 @@ export class FetchService { try { const openRouterService = createOpenRouter({ apiKey: openRouterApiKey }); - const { response, text } = await generateText({ + const { response, sources, text } = await generateText({ model: openRouterService.chat(openRouterModel), prompt: [ 'Fetch the following URL and return its response body exactly as received.', @@ -123,7 +133,7 @@ export class FetchService { ].join('\n'), tools: { web_fetch: tool({ - args: { engine: 'auto' }, + args: { engine: 'openrouter' }, id: 'openrouter.web_fetch', inputSchema: jsonSchema({ additionalProperties: true, @@ -134,7 +144,11 @@ export class FetchService { } }); - const body = this.extractJsonFromWebFetchResult({ response, text }); + const body = this.extractJsonFromWebFetchResult({ + response, + sources, + text + }); if (!body) { return undefined;