computer: Add bounded multimodal reads - #82
Open
aron-cf wants to merge 5 commits into
Open
Conversation
馃 Changeset detectedLatest commit: 643da41 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
Thanks for your interest in Cloudflare Computer. This repository does not accept unsolicited pull requests. Please use one of the accepted contribution paths instead:
If a maintainer asked you to open this pull request, they can add the |
commit: |
aron-cf
marked this pull request as ready for review
August 7, 2026 15:22
Let callers opt into line numbers and byte- or character-based line truncation. Return a byte continuation with truncated pages so the next read starts at the first unread line.
Classify images and PDFs by extension with a bounded magic-byte fallback, and defer whole-file base64 encoding to the model output hook after enforcing an inline size cap.
Restat media immediately before loading it and verify the loaded byte count so a concurrent file replacement cannot bypass the inline model output cap.
Return the next byte continuation as soon as the requested line page is complete so a long following line does not force unnecessary ranged reads.
Record line formatting, byte continuations, and bounded media output with the Computer package that exposes them.
aron-cf
force-pushed
the
stack/improve-tools-04-multimodal-read
branch
from
August 7, 2026 15:29
52ec873 to
643da41
Compare
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.
Stack 4 of 7. Base:
stack/improve-tools-03-file-tools. Head:stack/improve-tools-04-multimodal-read.The
readtool could not add line numbers, shorten pathological lines, or pass images and PDFs to capable models. Its line continuation also identified where to resume logically without preventing repeated byte transfer.This change adds optional line numbers, byte- or character-based line truncation, and byte continuations. Reads stop pulling ranges as soon as a requested line page is complete. Known media extensions avoid sniffing; unknown extensions use a bounded prefix. Images and PDFs become AI SDK
file-dataoutput only after size checks before and after loading, so concurrent replacements cannot bypass the inline limit. Other binary data returns an explicit unsupported result.Verification
npm run typecheck --workspace @cloudflare/computer npm test --workspace @cloudflare/computer -- src/tools/ai.test.tsThe next stack part documents the complete public tool contract and adds release metadata.