summaryrefslogtreecommitdiff
path: root/packages/core/src/tools
AgeCommit message (Collapse)Author
2025-06-24Update editor.ts (#1371)cornmander
2025-06-23Sanitize MCP FunctionDeclarations to workaround Vertex bug (#1330)Tommaso Sciortino
2025-06-19Auth First Run (#1207)matt korwel
Co-authored-by: Tommaso Sciortino <[email protected]> Co-authored-by: N. Taylor Mullen <[email protected]>
2025-06-18feat: consolidate sandbox configurations into a single object (#1154)Brandon Keiji
2025-06-16Added sandbox error hint when MCP servers fail to launch in sandbox mode (#972)Mark McDonald
2025-06-15bug: Fix modify edit (#1078)Leo
2025-06-15Add file operation telemetry (#1068)Jerop Kipruto
Introduces telemetry for file create, read, and update operations. This change adds the `gemini_cli.file.operation.count` metric, recorded by the `read-file`, `read-many-files`, and `write-file` tools. The metric includes the following attributes: - `operation` (string: `create`, `read`, `update`): The type of file operation. - `lines` (optional, Int): Number of lines in the file. - `mimetype` (optional, string): Mimetype of the file. - `extension` (optional, string): File extension of the file. Here is a stacked bar chart of file operations by extension (`js`, `ts`, `md`): ![image](https://github.com/user-attachments/assets/3e8f8ea9-6155-4186-863c-075cc47647c5) Here is a stacked bar chart of file operations by type (`create`, `read`, `update`): ![image](https://github.com/user-attachments/assets/3fcf491d-31d0-4ba8-80e6-7fd2bd9c7c27) #750 cc @allenhutchison as discussed
2025-06-15fix(core): Improve shell tool reliability and test portability (#1036)Sijie Wang
2025-06-14fix: Push tool calls to absolute paths (#1055) (#1057)Keir Mierle
Make several changes to guide the model to request absolute paths, reducing frequent accidental relative path tool call failures. - Switch the parameter name: path --> absolute_path. - Update the tool definition to strongly require an absolute path. - Update the system prompt to indicate absolute paths are required. - Update the system prompt tool use examples to use absolute paths. Test case: Open GC in GC: "Locate the primary file calling genai" - Expected: Model opens files with absolute path, successfully. - Actual (pre-patch): Failure, attempts to read with relative path. - Actual (post-patch): Success, attempts to read with absolute path.
2025-06-14Enable "modify" in write tool (#1044)Leo
2025-06-14centralize file filtering in `FileDiscoveryService` (#1039)Anas H. Sulaiman
2025-06-13Improvements to web-fetch tool (#1030)Allen Hutchison
2025-06-13Support MCP StreamableHTTPClientTransport (#1014)Shreya Keshive
2025-06-13remove redundant `isGitRepository` helper` (#1012)Anas H. Sulaiman
2025-06-13Update contextFileName to support an optional list of strings (#1001)Billy Biggs
2025-06-13cleanup unused `allowBuildArtifacts` (#1010)Anas H. Sulaiman
2025-06-13cleanup unused `customIgnorePatterns` (#1009)Anas H. Sulaiman
2025-06-13Add web socket protocol support for IDE MCP server (#987)Shreya Keshive
Co-authored-by: matt korwel <[email protected]>
2025-06-12Improve some tools to support abortSignal (#997)Tommaso Sciortino
2025-06-13Revert "Make glob tool support abortSignal" (#996)matt korwel
2025-06-12Reduce coupling between core and cli packages (#961)Marat Boshernitsan
Co-authored-by: Marat Boshernitsan <[email protected]>
2025-06-12Make glob tool support abortSignal (#988)Tommaso Sciortino
2025-06-11feat: External editor settings (#882)Leo
2025-06-11unify diff generation before and after an editAnas Sulaiman
2025-06-11refactor: Centralize session ID generation and propagationjerop
2025-06-10addressed b/423798481 (#887)Bryan Morgan
2025-06-09Add Windsurf in edit tool to modify changes, if installed (#853)Eddie Santos
2025-06-09Windows: Refactor Shell Scripts to Node.js for Cross-Platform Compatibility ↵matt korwel
(#784)
2025-06-09Simplify user agent handling. (#828)Tommaso Sciortino
2025-06-09rename shell tool more intuitively as run_shell_command (from historical ↵Olcan
name of execute_bash_command inherited from terminal tool) (#869)
2025-06-09Add support for sorting files search by recency threshold followed by ↵anj-s
lexicographic sorting (#867)
2025-06-08fix mcp timeouts and missing description on mcp errors (#868)Olcan
2025-06-08Rollforward AST changes to unblock Sandboxing (#863)matt korwel
2025-06-08Revert "Add batch editing capabilities to Edit Tool (#648)" (#857)N. Taylor Mullen
2025-06-08Bryanmorgan/add tool source description (#856)Bryan Morgan
2025-06-08fix(tool-scheduler): Correctly pipe cancellation signal to tool calls (#852)N. Taylor Mullen
2025-06-08feat: Add flow to allow modifying edits during edit tool call (#808)Leo
2025-06-07Introduce ContentGeneratorConfig (#826)Tommaso Sciortino
2025-06-07Bryanmorgan/add mcp description support (#825)Bryan Morgan
2025-06-07Add embedder (#818)Eddie Santos
2025-06-07Creating Node AST Tool. (#756)matt korwel
2025-06-07Added /mcp command support and cleaned up broken tests (#817)Bryan Morgan
2025-06-06Add batch editing capabilities to Edit Tool (#648)Keith Ballinger
Co-authored-by: N. Taylor Mullen <[email protected]>
2025-06-05Add support for configured mcp client timeout. (#775)N. Taylor Mullen
2025-06-05Add support for `.geminiignore` file (#757)Eddie Santos
2025-06-05Checks for diff changes before displaying the code snippet (#751)anj-s
2025-06-05Jacob314/memory fixes (#754)Jacob Richman
Address multiple possible memory leaks found bystatic analysis of the codebase. The primary source of the leaks was event listeners on child processes and global objects that were not being properly removed, potentially causing their closures to be retained in memory indefinitely particularly for processes that did not exit. There are two commits. A larger one made by gemini CLI and a smaller one by me to make sure we always disconnect child processes as part of the cleanup methods. These changes may not actually fix any leaks but do look like reasonable defensive coding to avoid leaking event listeners or child processes. The following files were fixed: This is Gemini's somewhat overconfident description of what it did. packages/core/src/tools/shell.ts: Fixed a leak where an abortSignal listener was not being reliably removed. packages/cli/src/utils/readStdin.ts: Fixed a significant leak where listeners on process.stdin were never removed. packages/cli/src/utils/sandbox.ts: Fixed leaks in the imageExists and pullImage helper functions where listeners on spawned child processes were not being removed. packages/core/src/tools/grep.ts: Fixed three separate leaks in the isCommandAvailable check and the git grep and system grep strategies due to un-removed listeners on child processes. packages/core/src/tools/tool-registry.ts: Corrected a leak in the execute method of the DiscoveredTool class where listeners on the spawned tool process were not being removed.
2025-06-04refactor(core): Centralize tool response formatting (#743)N. Taylor Mullen
2025-06-04Ignore folders files (#651)Keith Ballinger
# Add .gitignore-Aware File Filtering to gemini-cli This pull request introduces .gitignore-based file filtering to the gemini-cli, ensuring that git-ignored files are automatically excluded from file-related operations and suggestions throughout the CLI. The update enhances usability, reduces noise from build artifacts and dependencies, and provides new configuration options for fine-tuning file discovery. Key Improvements .gitignore File Filtering All @ (at) commands, file completions, and core discovery tools now honor .gitignore patterns by default. Git-ignored files (such as node_modules/, dist/, .env, and .git) are excluded from results unless explicitly overridden. The behavior can be customized via a new fileFiltering section in settings.json, including options for: Turning .gitignore respect on/off. Adding custom ignore patterns. Allowing or excluding build artifacts. Configuration & Documentation Updates settings.json schema extended with fileFiltering options. Documentation updated to explain new filtering controls and usage patterns. Testing New and updated integration/unit tests for file filtering logic, configuration merging, and edge cases. Test coverage ensures .gitignore filtering works as intended across different workflows. Internal Refactoring Core file discovery logic refactored for maintainability and extensibility. Underlying tools (ls, glob, read-many-files) now support git-aware filtering out of the box. Co-authored-by: N. Taylor Mullen <[email protected]>
2025-06-03bandaid for broken mcp calls (#732)Olcan