SearchFilesTool
Recursively searches for files and directories whose name contains a case-insensitive substring, sandboxed to external storage via PathValidator (defaults to /sdcard). Recursion is capped at depth 5, 20 000 visited entries and 10 s per call; unreadable directories are skipped silently, symlinks are neither followed nor reported, every result is re-checked against PathValidator, and the walk stops promptly when the call is cancelled. Requires READ_EXTERNAL_STORAGE on API ≤32; uses File API access on API 33+. Under scoped storage (API 30+) non-media files created by other apps are invisible to the walk. Output: query, search_path, results (each {name, path, size_bytes, last_modified, is_directory}) capped at the limit param, count, and search_incomplete (true when the visit/time budget ran out before the tree was fully searched).