Search a codebase with a natural-language, code, or exact-symbol query.

Use `hybrid` by default, `bm25` for exact identifiers and literals, and
`semantic` for conceptual behavior. Optional language and `filter_paths`
filters narrow the index when the agent already knows where to look. Use
`source` for local paths or Git URLs and `limit` for result bounds. Results
include formatted text for context injection and structured fields.
