[Remote envs] codebase indexing persistence#10883
Conversation
|
I'm starting a first review of this pull request. You can view the conversation on Warp. I completed the review and no human review was requested for this pull request. Comment Powered by Oz |
| // sufficient proxy for client availability. | ||
| supported_tools.extend(&[api::ToolType::ReadFiles, api::ToolType::ApplyFileDiffs]); | ||
| if FeatureFlag::RemoteCodebaseIndexing.is_enabled() | ||
| && params.remote_codebase_search_available |
There was a problem hiding this comment.
removing remote_codebase_search_available to more closely match local aka always have codebase search available as a tool but we fall back to other methods if indexing isn't done
| string repo_path = 1; | ||
| string auth_token = 2; | ||
| } | ||
| message ResyncCodebase { |
There was a problem hiding this comment.
adding this to mirror local where it distinguishes between index and retry
There was a problem hiding this comment.
Overview
This PR adds remote-server-daemon persistence for codebase index metadata and snapshots, introduces injectable snapshot storage for the codebase index manager, adjusts remote SearchCodebase tool availability, and adds a ResyncCodebase protocol path.
Concerns
- No blocking correctness or security concerns found in the reviewed diff.
Verdict
Found: 0 critical, 0 important, 0 suggestions
Approve
Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).
Powered by Oz
| if *is_git && should_auto_index_remote_codebase(ctx) { | ||
| if *is_git | ||
| && should_auto_index_remote_codebase(ctx) | ||
| && self.should_request_auto_index_for_navigated_git_repo(remote_path) |
There was a problem hiding this comment.
adding this so we don't just immediately reindex when we cd to a repo, similar to local
8f2f718 to
91e5c0d
Compare
| string repo_path = 1; | ||
| string auth_token = 2; | ||
| } | ||
| message ResyncCodebase { |
There was a problem hiding this comment.
Do this need to be a separate proto? Isn't the existing behavior of IndexCodebase to full resync already if it is already indexed?
There was a problem hiding this comment.
i mainly added it for better parity with local. it is true that we can just have IndexCodebase resync
| ) | ||
| }); | ||
|
|
||
| if matches!(launch_mode, LaunchMode::RemoteServerDaemon { .. }) { |
There was a problem hiding this comment.
here is where we explicitly set what data we're setting for remote
74a63d0 to
d8bc65e
Compare
| } | ||
| } | ||
|
|
||
| fn prepare_codebase_index_request( |
There was a problem hiding this comment.
added this to reduce repeated shared logic
2c36de0 to
af4199e
Compare
## Description Adding persistence for codebase indexing based off of warpdotdev@7e20f47 1. Added a resync proto to better mirror the local state where we have index + resync 2. Separating app vs. local restore behavior 3. Always expose the search codebase tool to better mirror local, instead of only exposing it once indexing is ready ## Testing Locally tested + unit tests - [x] I have manually tested my changes locally with `./script/run` ### Screenshots / Videos https://www.loom.com/share/61589523592c4375bfeb911b25da617c ## Agent Mode - [x] Warp Agent Mode - This PR was created via Warp's AI Agent Mode
Description
Adding persistence for codebase indexing based off of 7e20f47
Testing
Locally tested + unit tests
./script/runScreenshots / Videos
https://www.loom.com/share/61589523592c4375bfeb911b25da617c
Agent Mode