- MONTHS: drop the appended day-of-week field that produced a 6-field cron
(node-cron reads 6-field crons seconds-first, shifting the schedule)
- MONTHS: validate dayOfMonth (1-31) and emit the parsed integer
- MINUTES/HOURS: constrain the schedule to the atTimeStart/atTimeEnd window
instead of ignoring atTimeEnd; require end after start, and an hour-spanning
window for hourly intervals
- WEEKS: reject runEvery > 1 since cron cannot express multi-week intervals
extractLinks() pulled every href from the Mammoth-generated HTML
verbatim, so internal Word bookmark/TOC anchors (e.g. #_Toc123456)
leaked into the links output alongside real URLs.
Accept PDF and DOCX uploads in document create/parse/replace endpoints
Normalize and persist document MIME type for doc-extract/doc-parse robots
Store documents with MIME-aware extension/content-type in MinIO
Extend DocumentInterpreter to parse DOCX via Mammoth
Return DOCX outputs in existing formats: markdown, html, links, and extraction flow
Update document run execution to parse by stored MIME type with PDF fallback
Update UI file pickers/messages to allow PDF or DOCX uploads
Add shared document mime/extension helper utilities
Add POST/GET/DELETE /api/robots/:id/schedule to the Website-to-API
feature so robots can be scheduled through the API, using the same
fields as the dashboard schedule form. Cron building and validation
are pulled into a shared helper so the dashboard and API routes stay
in sync.
Add 'summary' as a selectable output format for the doc-parse robot type,
matching the existing summary capability in crawl and search robots.
- Add 'summary' to DOC_PARSE_FORMAT_OPTIONS (frontend + backend constants)
- Extend DocumentInterpreter.parse() to generate summaries via the shared
summarizeMarkdown() utility (same logic crawl/search already use)
- Wire LLM config (provider, model, API key) through the doc-parse creation
endpoint, robot record, and run execution path
- Validate LLM API keys when summary is requested with a non-Ollama provider
- Serialize summary output in executeDocumentParseRun for run results
- Display summary in the frontend run results UI with copy/download actions
Closes#1106