Repository navigation
Add firecrawl.parse command (local document upload) - #5
Merged
Merged
Conversation
New command.run capability `firecrawl.parse` -> POST /v2/parse. Unlike the JSON endpoints, parse is multipart/form-data: the plugin reads a local `file` path and uploads it with optional `options` (sent as a text field, not a file part). api() generalized to pass FormData through without forcing a JSON Content-Type. +2 hermetic tests (multipart upload, missing-file error). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds a
firecrawl.parsecommand.runcapability backed byPOST /v2/parse, for parsing local / non-public documents (PDF, DOCX, XLSX, HTML, …).What's different from the other commands
/v2/parseismultipart/form-data, not JSON. So:filepath from disk and uploads the bytes as thefilepart.options(scrape-style formats etc.) is sent as a plain text field — sending it as a Blob makes it a file part and the server rejects it (Unexpected field).api()generalized to pass aFormDatabody through untouched (no forced JSONContent-Type), JSON callers unchanged.agent-browser plugin run firecrawl firecrawl.parse --payload '{"file":"./report.pdf","options":{"formats":["markdown"]}}'Verification
node --test14/14 (incl. multipart-upload + missing-file cases; mock asserts the file bytes + options ride in the multipart body).options).agent-browser plugin run firecrawl firecrawl.parseend-to-end.api()change; 0 leaked sessions.🤖 Generated with Claude Code