Spaces:
Sleeping
Sleeping
Commit History
-
pdf.js 4.x vendorizado y pruebas del extractor de PDF
Jose Salazar +1: Claude Opus 5La 3.x leía mal los CMap `ToUnicode` con destinos de un byte —fuera de especificación, pero los emiten informes de laboratorio reales generados con Ghostscript— y devolvía cada carácter desplazado 8 bits ('H' → U+4800), con lo que la importación fallaba entera con «No se encontraron datos reconocibles». El desplazamiento NO se puede reparar a posteriori: el '0' desplazado cae en U+3000 y el extractor lo normaliza a espacio, así que una ALT de 260 U/L se leería como 26. Por eso `textoIlegible()` detecta el caso y aborta en vez de importar números equivocados. pdf.js 4+ se distribuye como módulo ES y ya no publica `window.pdfjsLib`, de ahí el paso de .js a .mjs y la carga dinámica. La versión es un invariante: los ficheros de `assets/lib/pdfjs/` se copian de la devDependency con `npm run vendor-pdfjs` para que navegador y pruebas usen la misma. `frontend/tests/pdf-parser.test.ts` fija todo esto con un PDF construido con esa anomalía, y cubre la ventana de aceptación de valores: sólo en…c0b119e
-
Añadir el stack nuevo: Vite/TypeScript + FastAPI
Jose Salazar +1: Claude Opus 5frontend/ Motor de patrones portado a TS (analisis.ts) con 27 tests dorados que fijan el comportamiento validado por veterinarios, más el resto de módulos (ui, pdf-parser, auth, papers, lab-import, ia). backend/ Servicio FastAPI: salida estructurada con Pydantic, clientes medGemma/Claude, recuperación RAG y toda la seguridad (sesión, CSRF, rate limit, CORS cerrado, BD fuera del webroot). bridge/ Puente local ASTM/HL7 para analizadores de laboratorio. evals/ Arnés de evaluación clínica + puerta de CI. index.html pasa a cargar el bundle TS en lugar de js/main.js. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>70e641d