Extract workspace entry indexing into project service#1524
Open
juliusmarminge wants to merge 2 commits intomainfrom
Open
Extract workspace entry indexing into project service#1524juliusmarminge wants to merge 2 commits intomainfrom
juliusmarminge wants to merge 2 commits intomainfrom
Conversation
- Move workspace entry logic under `project/` and wire it into server layers - Add git workspace listing and ignore filtering support for large repos - Update checkpoint invalidation to use the new workspace service
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
- move check-ignore chunking coverage into GitCore tests - modernize WorkspaceEntries tests around Effect-based temp dirs
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.
Summary
Testing
bun fmtbun lintbun typecheckbun run testNote
Medium Risk
Moderate risk because it refactors workspace search into a new Effect service and extends
GitCore.executesemantics (stdin + truncation flags), which can impact git command handling and cache invalidation paths used by the websocket API and checkpoint flows.Overview
Workspace entry search is refactored into a new Effect service. Adds
WorkspaceEntries(search+invalidate) with a cached per-cwdindex built either from git (ls-files+check-ignore) or a bounded-concurrency filesystem walk, including query ranking and explicit truncation tracking.GitCoreis extended to support the new indexing flow.executenow supportsstdinand returnsstdoutTruncated/stderrTruncated; new helpersisInsideWorkTree,listWorkspaceFiles, and chunkedfilterIgnoredPathsare added, with updated tests.Runtime wiring and invalidation behavior changes.
WorkspaceEntriesLiveis added to server/orchestration layers;wsServeruses the service forprojects.searchEntriesand callsworkspaceEntries.invalidateafterprojects.writeFile, andCheckpointReactorreplacesclearWorkspaceIndexCachewith service invalidation. LegacyworkspaceEntries.tsimplementation and tests are removed and replaced with layer/service tests plus a websocket test covering invalidation.Written by Cursor Bugbot for commit 060fb64. This will update automatically on new commits. Configure here.
Note
Extract workspace entry indexing into a
WorkspaceEntriesEffect serviceWorkspaceEntriesservice (WorkspaceEntries.ts) withsearchandinvalidatemethods, replacing the removed globalworkspaceEntries.tsmodule.ls-files+check-ignore) when available, falling back to a concurrency-limited filesystem walk; ignores.git,.convex,node_modules, etc., and caps results at 25,000 entries.isInsideWorkTree,listWorkspaceFiles, andfilterIgnoredPathsmethods toGitCore, with chunked stdin batching forcheck-ignore(256 KiB max) and NUL-separated output parsing with truncation support.CheckpointReactorandwsServernow consumeWorkspaceEntriesfrom the Effect environment;projectsWriteFileinvalidates the cache after writing so subsequent searches reflect new files.collectOutputinGitCorenow returns{text, truncated}instead of a plain string — all callers have been updated, but this is a breaking internal API change.Macroscope summarized 060fb64.