improve: reponse handling for file chunks in tool's invocation #20523
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.
Important
Fixes #<issue number>
.Summary
to close improve reponse handling of file chunks in tool's invocation #20522
adding
--strict-bytes
flag in running mypy type checks, which is introduced since 1.15 and will be enabled by default in 2.x. And it raises type errors in tool.py,core/plugin/impl/tool.py:146: error: Argument "blob" to "BlobMessage" has incompatible type "bytearray"; expected "bytes" [arg-type]
Precomputed Constants:
CHUNK_SIZE_LIMIT
andFILE_SIZE_LIMIT
constants for better maintainabilityFile Size Validation:
Memory Optimizations:
bytes
before yielding to release memory earlierdel
Error Handling Improvements:
Efficiency Improvements:
file_chunk
reference to avoid repeated dict lookupsType Safety:
bytearray
to immutablebytes
when yieldingThese changes improve:
Screenshots
Checklist
dev/reformat
(backend) andcd web && npx lint-staged
(frontend) to appease the lint gods