a bare pdf path, or { words } to replay a dump (always analyzed as OCR) — unlike extractOcr, never { pdfPath }
see AnalyzeOptions; for a pdf path, opts.path picks 'text' (default) or 'ocr' — analyze() makes no auto-fallback decision (that's pdfToMarkdown's job)
Analyze a PDF (or replay an already-recognized OCR word dump) into
Analysis: plain, JSON-serializable per-pagewords/blocksplus the same QAreportthe other entry points return. Render with toMarkdown()/toText(), or hand-edit/splice it (no merge API — see toMarkdown's doc comment).