feat(import): embed Microsoft MarkItDown for any-file → Markdown import

- File → Import with MarkItDown (Any Format)…: PDF, DOCX, PPTX, XLSX,
  Outlook .msg/.eml, EPUB, images, CSV/JSON/XML, ZIP (audio/OCR via the
  [all] extras) — verified live against HTML, XLSX (our own exporter's
  output), and PDF fixtures
- Command auto-resolution with caching: markitdown binary → python -m
  markitdown → python3 -m markitdown
- SEC-1 argv discipline (execFile only, user paths never through a shell),
  50MB cap, 120s timeout, sanitized errors that surface markitdown's own
  "pip install 'markitdown[pdf]'" hints for missing format extras
- Output lands next to the source as <name>.md (numeric suffix, never
  overwrites) and opens in a new tab; markitdown:available/convert IPC
  allowlisted for renderer flows
- Help → Dependencies lists MarkItDown; README/UPDATES updated (v4.6.1)

12 new tests (629 green); lint clean; clean app boot
This commit is contained in:
2026-09-05 22:10:35 +05:30
parent 7ab5a0ddb4
commit 58bd19ecd1
8 changed files with 480 additions and 4 deletions
+2 -2
View File
@@ -1,12 +1,12 @@
{
"name": "markdown-converter",
"version": "4.6.0",
"version": "4.6.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "markdown-converter",
"version": "4.6.0",
"version": "4.6.1",
"license": "MIT",
"dependencies": {
"@cantoo/pdf-lib": "^2.9.1",