Add configurable file read limits to SDK tools #9
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.
Summary
Implements configurable line-based read limits for the SDK file tool (SPEC-4). This enables LLMs to request bounded file reads that prevent context window exhaustion when only a portion of a file is needed.
Changes
max_linesandoffsetparameters to file read operationsbufio.Scannerto avoid loading entire files into memoryTechnical Details
Helper Functions
getIntParam(): Validates and extracts integer parameters with type checkingreadWithLimits(): Memory-efficient bounded line reading using buffered scannercountFileLines(): Efficiently counts total lines for truncation metadatabuildTruncationMetadata(): Constructs structured truncation informationMetadata Structure
{ "truncated": true, "lines_shown": 500, "total_lines": 10000, "start_line": 0, "end_line": 499, "more_content": true }Test Coverage
max_linesvaluesmax_linesandoffsetparametersAll existing tests continue to pass, confirming backward compatibility.
Closes