fix(explorer): skip File Provider placeholders in grep/read - #1425
Draft
vkehfdl1 wants to merge 2 commits into
Draft
fix(explorer): skip File Provider placeholders in grep/read#1425vkehfdl1 wants to merge 2 commits into
vkehfdl1 wants to merge 2 commits into
Conversation
Explorer grep wraps ripgrep with --hidden and no per-call timeout. On macOS iCloud/OneDrive/Google Drive roots that opens UF_DATALESS placeholders and hydrates them until the 20-minute subagent timeout. Classify File Provider trees via path markers and xattr, grep only materialized files, and refuse to read dataless paths. Fixes #1424
The placeholder-skip return values in read/grep and the grepMaterializedOnly
helper returned { content } without the required details field, producing
TS2719 (AgentToolResult<T> requires details: T). Add details: undefined and
align the helper's return type so typecheck passes.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Draft follow-up for #1424.
Problem
autorag-explorergrep/readcan stall for the full ~20 minute subagent timeout on macOS iCloud Desktop/Documents (and other File Provider roots). Ripgrep itself is fine on local SSD;open()on UF_DATALESS placeholders hydrates via File Provider. A parentsubagentbatch then waits for the slowest child.Change
Library/CloudStorage,Library/Mobile Documents, ancestorcom.apple.file-provider-domain-id).grepon those roots uses only materialized files (find ! -flags +dataless) plus a 20s abort.readof a dataless path returns a skip message instead of hydrating.Linux/Windows are unchanged (no-op). Parent
bash rgstill bypasses this wrapper; explorers have no bash.Test
bun test test/filesystem/cloud-placeholder.test.tsand the local-cwd cases intest/subagents/explorer-tools-extension.test.ts.Closes #1424