pub struct SearchCodebaseResponse {Show 19 fields
pub matches: Vec<SearchMatch>,
pub raw_match_count: usize,
pub total_matches: usize,
pub returned_count: usize,
pub filtered_count: usize,
pub files_searched: usize,
pub files_in_scope: usize,
pub coverage_percent: u8,
pub truncated: bool,
pub file_groups: Option<Vec<SearchResultGroup>>,
pub degraded: bool,
pub degraded_reason: Option<DegradedReason>,
pub next_offset: Option<u32>,
pub hint: Option<String>,
pub actionable_guidance: Option<ActionableGuidance>,
pub duration_ms: Option<u64>,
pub binary_skipped: usize,
pub gitignored_skipped: usize,
pub other_skipped: usize,
}Expand description
The response for search_codebase.
Fields§
§matches: Vec<SearchMatch>List of search matches.
raw_match_count: usizeRaw match count from ripgrep before filter_mode filtering, after ripgrep truncation.
When truncated = true, this equals max_results and ripgrep stopped searching early.
When filter_mode is "comments_only" or "code_only", matches that do not
pass the filter are excluded from matches but still counted here.
Compare with total_matches to see how many matches were removed by filtering.
total_matches: usizeTotal matches in this response (after filter_mode filtering).
This always equals matches.len() and returned_count. Provided for consistency
with agent expectations: “total” means what you actually get, not ripgrep’s pre-filter count.
Use raw_match_count to see ripgrep’s count before filtering.
Use filtered_count to see how many matches were removed by filter_mode.
returned_count: usizeNumber of matches actually returned in this response (after filter_mode filtering).
returned_count == total_matches == matches.len(). Provided as a convenience field
and for backward compatibility.
filtered_count: usizeNumber of matches removed by filter_mode filtering.
filtered_count = raw_match_count - total_matches.
When filter_mode = "All", this is always 0.
files_searched: usizeNumber of files that were actually searched.
files_in_scope: usizeNumber of searchable files matching the path_glob (excludes binary and gitignored).
When files_searched < files_in_scope, some files were skipped
due to permission issues or I/O errors.
coverage_percent: u8Percentage of in-scope files that were actually searched. 100% means exhaustive search; lower values indicate skipped files.
truncated: boolIndicates if the match list was truncated by max_results.
file_groups: Option<Vec<SearchResultGroup>>Grouped output — populated when group_by_file: true.
Each group represents one file and contains either full matches (for
unknown files) or minimal matches (for files in known_files).
degraded: boolWhether the search response is degraded.
degraded_reason: Option<DegradedReason>Reason for degradation, if any.
next_offset: Option<u32>When results are truncated, this field provides the offset value
to use for the next page of results. Absent when not truncated.
hint: Option<String>Actionable hint when filter_mode removes all results.
Suggests retrying with filter_mode=all when matches exist but were filtered out.
actionable_guidance: Option<ActionableGuidance>Machine-readable guidance when degraded is true.
Tells the agent whether to retry, what fallback tool to use, and whether
results are trustworthy.
duration_ms: Option<u64>Wall-clock time in milliseconds that this tool call took to complete.
binary_skipped: usizeFiles skipped because they matched known binary extensions.
gitignored_skipped: usizeFiles skipped because they were excluded by .gitignore rules.
other_skipped: usizeFiles skipped for other reasons (permission denied, I/O error, etc.).
Trait Implementations§
Source§impl Debug for SearchCodebaseResponse
impl Debug for SearchCodebaseResponse
Source§impl JsonSchema for SearchCodebaseResponse
impl JsonSchema for SearchCodebaseResponse
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read more