Commit graph

5 commits

Author SHA1 Message Date
Hannes Rudolph
dbd059f548 feat: rename smartContextTracking to smartRead and handle @ mentioned files
- Rename experiment ID from smartContextTracking to smartRead
- Apply smart read logic to @ file mentions (skip files already in context)
- Add parseMentions parameters for experiments and apiConversationHistory
- Add English translation keys for SMART_READ experiment
- Fix TypeScript errors and update tests
2025-12-16 08:55:31 -07:00
Hannes Rudolph
9f29251b8a feat: gate smart context tracking behind experimental setting
Added new 'smartContextTracking' experiment to gate the file context
tracking optimization. When disabled (default), the read_file tools
behave as before. When enabled, files that haven't changed and still
have content in the conversation context return a short 'unchanged'
response instead of re-reading the full content.

Changes:
- Added smartContextTracking to experimentIds in packages/types
- Added SMART_CONTEXT_TRACKING to experiments.ts
- Updated simpleReadFileTool.ts to check experiment before optimization
- Updated ReadFileTool.ts to check experiment before optimization
2025-12-16 08:55:31 -07:00
Hannes Rudolph
7b82c91090 feat: add file context tracking to skip redundant re-reads
- Add containingMessageTs field to FileMetadataEntry schema
- Create FileContextStatusChecker to detect unchanged files in context
- Modify read_file tools to check context status before re-reading
- Return short response when file content is already in effective context
- Still show unchanged files in UI approval like normal reads
- Add 19 unit tests for FileContextStatusChecker
- Update test mocks with getTaskMetadata and apiConversationHistory
2025-12-16 08:55:31 -07:00
Daniel
271d01bada
fix: Update tools to return structured JSON for native protocol (#9373) 2025-11-18 20:01:15 -05:00
Daniel
9a7ddab1bc
feat: simple read_file tool for single-file-only models (#7222) 2025-08-19 10:57:57 -07:00