Add temporal filtering capabilities for searches by git branch/revision
and repository index dates (since/until). Integrates with the refactored
QueryIR-based search architecture.
- Add gitRevision, since, until parameters to SearchOptions
- Implement temporal repo filtering by indexedAt field
- Add branch filtering via QueryIR wrapper
- Add search_commits MCP tool for commit-based searches
- Update list_repos with activeAfter/activeBefore filtering
- Add 88 new tests (all passing)
Signed-off-by: Wayne Sun <gsun@redhat.com>
* generate protobuf types
* stream poc over SSE
* wip: make stream search api follow existing schema. Modify UI to support streaming
* fix scrolling issue
* Dockerfile
* wip on lezer parser grammar for query language
* add lezer tree -> grpc transformer
* remove spammy log message
* fix syntax highlighting by adding a module resolution for @lezer/common
* further wip on query language
* Add case sensitivity and regexp toggles
* Improved type safety / cleanup for query lang
* support search contexts
* update Dockerfile with query langauge package
* fix filter
* Add skeletons to filter panel when search is streaming
* add client side caching
* improved cancelation handling
* add isSearchExausted flag for flagging when a search captured all results
* Add back posthog search_finished event
* remove zoekt tenant enforcement
* migrate blocking search over to grpc. Centralize everything in searchApi
* branch handling
* plumb file weburl
* add repo_sets filter for repositories a user has access to
* refactor a bunch of stuff + add support for passing in Query IR to search api
* refactor
* dev README
* wip on better error handling
* error handling for stream path
* update mcp
* changelog wip
* type fix
* style
* Support rev:* wildcard
* changelog
* changelog nit
* feedback
* fix build
* update docs and remove uneeded test file
* feat(mcp): Add pagination and filtering to list_repos tool
Fixes#566
- Add query parameter to filter repositories by name
- Add pageNumber and limit parameters for pagination
- Include pagination info in response when applicable
- Add listReposRequestSchema for request validation
- Update README with new list_repos parameters
* feat(mcp): Sort repositories alphabetically for consistent pagination
Fixes#566
- Updated CHANGELOG.md with pagination and filtering changes
---------
Co-authored-by: Brendan Kellam <bshizzle1234@gmail.com>
When search results exceed maxTokens limit, now returns partial truncated
content instead of discarding the file completely.
Changes:
- Calculate remaining token budget before breaking
- Truncate file content to fit within remaining tokens (if > 100 tokens left)
- Append truncation marker to indicate content was cut off
- Still add truncation message at end of all results
Benefits:
- Users get partial data instead of nothing
- Better debugging and analysis experience
- More useful for AI-powered code analysis tasks
- Consistent with expected behavior when limits are reached
Example: If file would use 10K tokens but only 2K remain, return
first ~8K chars of content + truncation marker instead of dropping it.
Signed-off-by: Wayne Sun <gsun@redhat.com>
This PR alters the behaviour of the search api (and all apis that depend on it) to return raw source code instead of a base64 encoding. Reasoning: we are decoding it on the client in multiple different places, so it would be beneficial to decode it in a single spot.
**Note**: This is a **breaking change** to the API surface. However, since the API surface is still unofficial/unsupported, I will roll this as a patch version change. See #101