fix: validate nested analysis fields before merging and preparation
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import { verifyAnalysisCitations } from './analysis-citations.mjs';
|
||||
import { validateAnalysisShape } from './analysis-schema.mjs';
|
||||
import {createHash} from 'node:crypto';
|
||||
export function qualifyAnalysis(result,{text='',limit=60000,fileName='',expectedItems=0,repaired=false}={}) {
|
||||
if(!result || typeof result !== 'object' || Array.isArray(result)) throw new Error('Analiz nesne biçiminde değil.');
|
||||
@@ -9,7 +10,7 @@ export function qualifyAnalysis(result,{text='',limit=60000,fileName='',expected
|
||||
if(clean[key] != null && !Array.isArray(clean[key])) throw new Error(`${key} liste biçiminde değil.`);
|
||||
sections[key]=clean[key]?.length ? 'extracted' : 'not_extracted';
|
||||
}
|
||||
const source=String(text),issues=[];
|
||||
const source=String(text),issues=validateAnalysisShape(clean);
|
||||
if(source.length>limit)issues.push('Kaynak metnin tamamı analiz edilmedi.');
|
||||
if(repaired)issues.push('Analiz yanıtı kesildi; yalnız kurtarılabilen alanlar gösteriliyor.');
|
||||
if(expectedItems>0 && (clean.itemsAndSpecs?.length || 0)<expectedItems)issues.push(`Kaynakta ${expectedItems} kalem var; analiz listesi daha kısa.`);
|
||||
|
||||
Reference in New Issue
Block a user