Referencia API

Cada paquete npm usado en este playground tiene su pestaña: SDK navegador, SDK Node, librerías PDF/DOCX/OCR, tipos compartidos y la ruta multipart didáctica.

Los identificadores y ejemplos de código permanecen en inglés; las descripciones siguen el idioma seleccionado.

@dragon708/docmind-browser

Intenciones Epic 1 en el navegador: DOCX (Mammoth), imágenes (Tesseract.js), texto UTF-8. El análisis PDF no está implementado aquí (`not_implemented` / constante de aviso).

Tipos y constantes: Tipos: `BrowserAnalyzeInput`, `BrowserAnalyzeOptions`, `BrowserOcrMode`, `BrowserOcrOptions`, `AnalyzeDocxIncludeFlags`, informes de introspección, tipos de análisis compartidos reexportados.

analyzeFile

analyzeFile(input, options?): Promise<AnalysisResult | GenericAnalysisResult>

Enrutador principal: clasifica la entrada y ejecuta DOCX / OCR de imagen / texto. Las rutas PDF devuelven `not_implemented` con orientación.

Ejemplo

import { analyzeFile } from "@dragon708/docmind-browser";

const file = document.querySelector("input[type=file]")!.files![0]!;
const result = await analyzeFile(file, {
  ocr: { mode: "auto" },
  docx: { include: { structure: true, tables: true } },
});
console.log(result.kind, result.text?.slice(0, 200));

extractText

extractText(input, options?): Promise<AnalysisResult | GenericAnalysisResult>

Mismo pipeline que `analyzeFile` pero con payload orientado a texto (HTML DOCX limpiado).

Ejemplo

import { extractText } from "@dragon708/docmind-browser";

const result = await extractText(file, { ocr: { mode: "off" } });

extractMetadata

extractMetadata(input, options?): Promise<AnalysisResult | GenericAnalysisResult>

Ruta ligera de metadatos; DOCX e imágenes son en gran parte stubs; el texto usa el pipeline de texto.

Ejemplo

import { extractMetadata } from "@dragon708/docmind-browser";

const result = await extractMetadata(file);

convertToHtml

convertToHtml(input, options?): Promise<AnalysisResult | GenericAnalysisResult>

HTML enriquecido para DOCX (Mammoth) y texto; PDF no soportado; imágenes devuelven stub (sin OCR en esta intención).

Ejemplo

import { convertToHtml } from "@dragon708/docmind-browser";

const result = await convertToHtml(file, {
  docx: { include: { headings: true } },
});

runOcr

runOcr(input, options?): Promise<AnalysisResult | GenericAnalysisResult>

Ruta orientada a OCR: las imágenes respetan `ocr.mode`; DOCX devuelve extracto estructurado con avisos si aplica.

Ejemplo

import { runOcr } from "@dragon708/docmind-browser";

const result = await runOcr(imageFile, { ocr: { mode: "force", langs: "eng" } });

getCapabilities

getCapabilities(input, options?): Promise<GetCapabilitiesResult>

Matriz de capacidades (texto, metadatos, html, ocr, páginas) para el tipo detectado en el runtime del navegador.

Ejemplo

import { getCapabilities } from "@dragon708/docmind-browser";

const report = await getCapabilities(file);
console.log(report.capabilities);

explainAnalysisPlan

explainAnalysisPlan(input, options?): Promise<ExplainAnalysisPlanResult>

Plan estructurado (analizador, nativo vs OCR, limitaciones) sin ejecutar extracción pesada.

Ejemplo

import { explainAnalysisPlan } from "@dragon708/docmind-browser";

const plan = await explainAnalysisPlan(file, { intent: "extractText" });
console.log(plan.steps);

detectFileKind

detectFileKind(input): Promise<FileKindMetadata>

Reexportación de `@dragon708/docmind-shared` — clasifica pistas de `File` / `Blob` / `ArrayBuffer`.

Ejemplo

import { detectFileKind } from "@dragon708/docmind-browser";

const { fileKind, mimeType } = await detectFileKind(file);
console.log(fileKind);

docxIncludeRequested

docxIncludeRequested(include, flag): boolean

Helper: si una clave dada de `AnalyzeDocxIncludeFlags` está activa (usado por informes de introspección).

Ejemplo

import { docxIncludeRequested } from "@dragon708/docmind-browser";

const on = docxIncludeRequested({ tables: true, blocks: false }, "tables"); // true

BROWSER_PDF_UNSUPPORTED_WARNING

BROWSER_PDF_UNSUPPORTED_WARNING: string

Mensaje constante cuando se detecta PDF en el paquete de navegador.

Ejemplo

import { BROWSER_PDF_UNSUPPORTED_WARNING } from "@dragon708/docmind-browser";

console.warn(BROWSER_PDF_UNSUPPORTED_WARNING);

Para la tabla completa de campos multipart y el sobre JSON de errores, consulta Resumen de la API (MDX).