- Video pipeline: video file OCR via VLM plus audio track ASR, integrated
into job_handlers with progress emit per phase. New media_utils.py for
audio extraction from video files.
- Document export: richExport.js replaces inline docx builder; DOCX and PDF
export buttons are now enabled in MilkdownEditor. File size limit raised to
100 MB.
- Input block: new InputBlockCrepe.vue component with inputBlockPlugin.ts
and inputBlock.js for custom user-input nodes in the editor.
- Risk config: added Vite dev server ports (5173) to CORS allowlist and
increased OCR max input from 10 MB to 100 MB.
- TTS/ASR refactor: simplified tts_asr.py model loading and warmup logic.
- Test coverage: updated tests for llm, main endpoints, pro completions and
web search modules.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Normalize line endings in Markdown export for DOCX files.
- Improve selection serialization to Markdown with better handling of empty documents.
- Add a new `updateFile` function to the file system for updating file properties.
- Introduce video transcoding capabilities using FFmpeg, supporting various video formats.
- Update AGENTS.md for clearer plugin structure and responsibilities.
- Add scoped styles for TreeNodeItem component to improve UI consistency.
- Implement cross-origin isolation headers in Vite configuration for enhanced security.
- Remove obsolete test_cross.py file.
Adds a DocBlock component that renders embedded documents, new export buttons for DOCX
and PDF, and updates the file‑upload picker to accept *.txt, *.docx, *.pptx, and *.pdf.
Introduces a DOCX→PDF conversion bridge in the backend and new /tts and /asr
endpoints that expose TTS and speech‑recognition functionality. The README is
rewritten to describe the new features and clean up legacy documentation. All
changes are backward‑compatible and do not introduce breaking API changes.