From c0802af67ff5643fa4c3dc86f22e045cb78e0478 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 28 Jan 2026 23:38:00 +0000 Subject: [PATCH] fix(search): fix TypeScript errors in extract service - Remove unsupported signal option from article-extractor - Use Promise.race for timeout handling instead - Remove non-existent language property from ArticleData https://claude.ai/code/session_01Rk3YVJCU3nM8uvVPghRz6r --- services/mana-search/src/extract/extract.service.ts | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/services/mana-search/src/extract/extract.service.ts b/services/mana-search/src/extract/extract.service.ts index f5ddd9e0d..94f6e0d53 100644 --- a/services/mana-search/src/extract/extract.service.ts +++ b/services/mana-search/src/extract/extract.service.ts @@ -70,9 +70,14 @@ export class ExtractService { } try { - const article = await extract(request.url, { - signal: AbortSignal.timeout(request.options?.timeout || this.defaultTimeout), - }); + // Use Promise.race for timeout since extract doesn't support AbortSignal + const timeout = request.options?.timeout || this.defaultTimeout; + const extractPromise = extract(request.url); + const timeoutPromise = new Promise((_, reject) => + setTimeout(() => reject(new Error('Extraction timeout')), timeout), + ); + + const article = await Promise.race([extractPromise, timeoutPromise]); if (!article) { return this.buildErrorResponse( @@ -102,7 +107,6 @@ export class ExtractService { readingTime: Math.ceil(this.countWords(text) / 200), ogImage: article.image, - language: article.language, }; // Optional: Markdown conversion