Skip to main content

SearchCodebaseResponse

Struct SearchCodebaseResponse 

Source
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: usize

Raw 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: usize

Total 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: usize

Number 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: usize

Number of matches removed by filter_mode filtering.

filtered_count = raw_match_count - total_matches. When filter_mode = "All", this is always 0.

§files_searched: usize

Number of files that were actually searched.

§files_in_scope: usize

Number 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: u8

Percentage of in-scope files that were actually searched. 100% means exhaustive search; lower values indicate skipped files.

§truncated: bool

Indicates 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: bool

Whether 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: usize

Files skipped because they matched known binary extensions.

§gitignored_skipped: usize

Files skipped because they were excluded by .gitignore rules.

§other_skipped: usize

Files skipped for other reasons (permission denied, I/O error, etc.).

Trait Implementations§

Source§

impl Debug for SearchCodebaseResponse

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl JsonSchema for SearchCodebaseResponse

Source§

fn schema_name() -> Cow<'static, str>

The name of the generated JSON Schema. Read more
Source§

fn schema_id() -> Cow<'static, str>

Returns a string that uniquely identifies the schema produced by this type. Read more
Source§

fn json_schema(generator: &mut SchemaGenerator) -> Schema

Generates a JSON Schema for this type. Read more
Source§

fn inline_schema() -> bool

Whether JSON Schemas generated for this type should be included directly in parent schemas, rather than being re-used where possible using the $ref keyword. Read more
Source§

impl Serialize for SearchCodebaseResponse

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more