From f53f3be1e867c392d7925ccf4ebb4912687ca811 Mon Sep 17 00:00:00 2001 From: Benjamin Sutter Date: Sun, 30 Aug 2026 17:41:48 +0200 Subject: [PATCH] fix(livia): Dateiendungen in den Importen der serverlosen Funktion MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Erster Produktionslauf schlug mit HTTP 500 fehl, lokal lief derselbe Code grün. Ursache: Vercel kompiliert jede Datei einzeln statt sie zu bündeln, und weil das Projekt `"type": "module"` ist, verlangt Nodes ESM-Lader explizite Dateiendungen in relativen Importen. Vite löst im Entwicklungsbetrieb grosszügiger auf und verdeckt das. Das ist genau die Klasse Fehler, die kein Typecheck und kein Test findet — nur ein echter Aufruf gegen die deployte Funktion. Geprüft gegen Produktion: HTTP 200, 20 Einträge aus 3/3 Quellen in 24 Sekunden, Beurteilung läuft, Originalquellen verlinkt, keine Laufzeitfehler. Co-Authored-By: Claude Opus 5 (1M context) --- api/_lib/researchAnalysis.ts | 4 ++-- api/_lib/researchSources.ts | 2 +- api/livia/research/refresh.ts | 8 ++++---- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/api/_lib/researchAnalysis.ts b/api/_lib/researchAnalysis.ts index 760e342..55c894d 100644 --- a/api/_lib/researchAnalysis.ts +++ b/api/_lib/researchAnalysis.ts @@ -11,8 +11,8 @@ import Anthropic from '@anthropic-ai/sdk' import { z } from 'zod' -import type { ResearchItem } from './researchSources' -import type { ResearchLead } from '../../src/domain/researchLead' +import type { ResearchItem } from './researchSources.js' +import type { ResearchLead } from '../../src/domain/researchLead.js' /** * Der Beurteilungsauftrag (§12). diff --git a/api/_lib/researchSources.ts b/api/_lib/researchSources.ts index ccd6d1a..f78dc9c 100644 --- a/api/_lib/researchSources.ts +++ b/api/_lib/researchSources.ts @@ -11,7 +11,7 @@ */ import * as cheerio from 'cheerio' -import { RESEARCH_SOURCES } from '../../src/lib/researchSources' +import { RESEARCH_SOURCES } from '../../src/lib/researchSources.js' /** Gemeinsames Minimalformat aller Quellen (§9). */ export interface ResearchItem { diff --git a/api/livia/research/refresh.ts b/api/livia/research/refresh.ts index c29dce8..8140bcd 100644 --- a/api/livia/research/refresh.ts +++ b/api/livia/research/refresh.ts @@ -19,10 +19,10 @@ import { fetchZhkResearch, fetchGreaterZurichResearch, fetchZefixResearch, -} from '../../_lib/researchSources' -import type { ResearchItem } from '../../_lib/researchSources' -import { analyzeResearchItems } from '../../_lib/researchAnalysis' -import type { ResearchRefreshResult, ResearchSourceResult } from '../../../src/domain/researchLead' +} from '../../_lib/researchSources.js' +import type { ResearchItem } from '../../_lib/researchSources.js' +import { analyzeResearchItems } from '../../_lib/researchAnalysis.js' +import type { ResearchRefreshResult, ResearchSourceResult } from '../../../src/domain/researchLead.js' interface Quelle { id: string