Skip to content

computer: Add bounded multimodal reads - #82

Open
aron-cf wants to merge 5 commits into
stack/improve-tools-03-file-toolsfrom
stack/improve-tools-04-multimodal-read
Open

computer: Add bounded multimodal reads#82
aron-cf wants to merge 5 commits into
stack/improve-tools-03-file-toolsfrom
stack/improve-tools-04-multimodal-read

Conversation

@aron-cf

@aron-cf aron-cf commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Stack 4 of 7. Base: stack/improve-tools-03-file-tools. Head: stack/improve-tools-04-multimodal-read.

The read tool 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-data output 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.ts

The next stack part documents the complete public tool contract and adds release metadata.

@changeset-bot

changeset-bot Bot commented Aug 7, 2026

Copy link
Copy Markdown

馃 Changeset detected

Latest commit: 643da41

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@cloudflare/computer Minor

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

@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown

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 allow-pr label and reopen it.

@github-actions github-actions Bot closed this Aug 7, 2026
@aron-cf aron-cf added the allow-pr Allow a PR to remain open. label Aug 7, 2026
@aron-cf aron-cf reopened this Aug 7, 2026
@pkg-pr-new

pkg-pr-new Bot commented Aug 7, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/@cloudflare/computer@82

commit: 643da41

@aron-cf
aron-cf marked this pull request as ready for review August 7, 2026 15:22
aron-cf added 5 commits August 7, 2026 15:24
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
aron-cf force-pushed the stack/improve-tools-04-multimodal-read branch from 52ec873 to 643da41 Compare August 7, 2026 15:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

allow-pr Allow a PR to remain open.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant