sourcebot/packages/shared
Wayne Sun ba4c8a58e7 feat: add temporal filtering to search and repository APIs
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>
2025-12-07 15:50:48 -05:00
..
src feat: add temporal filtering to search and repository APIs 2025-12-07 15:50:48 -05:00
tools feat(web,worker): Environment overrides (#597) 2025-11-04 21:22:31 -08:00
.gitignore fix(search-contexts): Fix issue where a repository would not appear in a search context if it was created after the search context was created (#354) 2025-06-17 14:04:25 -07:00
package.json feat(web,worker): Environment overrides (#597) 2025-11-04 21:22:31 -08:00
README.md chore: Misc typos (UI, docs, code...), Makefile PATH with spaces (#369) 2025-07-16 11:59:01 -07:00
tsconfig.json fix(search-contexts): Fix issue where a repository would not appear in a search context if it was created after the search context was created (#354) 2025-06-17 14:04:25 -07:00

This package contains shared code between the backend & webapp packages.

Why two index files?

This package contains two index files: index.server.ts and index.client.ts. There is some code in this package that will only work in a Node.JS runtime (e.g., because it depends on the fs package. Entitlements are a good example of this), and other code that is runtime agnostic (e.g., constants.ts). To deal with this, we these two index files export server code and client code, respectively.

For package consumers, the usage would look like the following:

  • Server: import { ... } from @sourcebot/shared
  • Client: import { ... } from @sourcebot/shared/client