/** * Property On — die real angebundenen Recherchequellen von Livia. * * Eine einzige Liste für beide Seiten: die serverlose Funktion liest daraus * die abzurufenden Adressen, die Oberfläche zeigt daraus «Angebundene Kanäle * & Systeme». Stünden die URLs an zwei Stellen, könnte der angezeigte Link * irgendwann auf etwas anderes zeigen als der tatsächliche Abruf — und genau * die Nachvollziehbarkeit ist der Zweck der Anzeige (§2). * * Die Datei enthält bewusst nur Daten und keine Abruflogik: so kann `api/` * sie importieren, ohne dass der HTML-Parser im Frontend-Bundle landet. */ export interface ResearchSourceDescriptor { id: string name: string url: string /** Wofür die Quelle im PoC steht — erscheint in der Oberfläche. */ purpose: string } export const RESEARCH_SOURCES = { ZHK: { id: 'zhk', name: 'Zürcher Handelskammer — News', url: 'https://www.zhk.ch/de/wirtschaft-und-politik/news-liste.html', purpose: 'Regionale Unternehmensmeldungen, Expansion, Investitionen, Kapazitätsausbau', }, GZA: { id: 'gza', name: 'Greater Zurich Area — News', url: 'https://www.greaterzuricharea.com/de/alle-news', purpose: 'Ansiedlungen, Markteintritte, internationale Expansionen und neue Standorte', }, ZEFIX: { id: 'zefix', name: 'Zefix / Open Data Kanton Zürich', url: 'https://www.web.statistik.zh.ch/ogd/data/KANTON_ZUERICH_ZEFIX_Neugruendungen.csv', purpose: 'Strukturierte Daten zu Zürcher Neugründungen; CSV wird direkt eingelesen — ' + 'Marktindikator ohne Firmennamen, erscheint deshalb nicht als Lead', }, } as const satisfies Record export const RESEARCH_SOURCE_LIST: ResearchSourceDescriptor[] = [ RESEARCH_SOURCES.ZHK, RESEARCH_SOURCES.GZA, RESEARCH_SOURCES.ZEFIX, ] /** Der eine Endpoint des PoC (§20). */ export const RESEARCH_REFRESH_ENDPOINT = '/api/livia/research/refresh'