getToolSearchOrReadInfo method
Checks if a tool is a search/read operation.
Implementation
SearchOrReadResult getToolSearchOrReadInfo(
String toolName,
dynamic toolInput,
) {
// REPL is absorbed silently.
if (toolName == replToolName) {
return const SearchOrReadResult(
isCollapsible: true,
isREPL: true,
isAbsorbedSilently: true,
);
}
// Memory file writes/edits are collapsible.
if (_isMemoryWriteOrEdit(toolName, toolInput)) {
return const SearchOrReadResult(isCollapsible: true, isMemoryWrite: true);
}
// Meta-operations absorbed silently.
if ((historySnipEnabled && toolName == 'Snip') ||
(fullscreenEnabled && toolName == toolSearchToolName)) {
return const SearchOrReadResult(
isCollapsible: true,
isAbsorbedSilently: true,
);
}
// Delegate to external checker.
if (isSearchOrReadChecker != null &&
isSearchOrReadChecker!(toolName, toolInput)) {
return SearchOrReadResult(
isCollapsible: true,
isSearch: true,
isRead: false,
);
}
// Under fullscreen mode, non-search/read Bash commands are also collapsible.
if (fullscreenEnabled && toolName == bashToolName) {
return const SearchOrReadResult(isCollapsible: true, isBash: true);
}
return const SearchOrReadResult();
}