Commit Graph

215 Commits

Author SHA1 Message Date
Olcan
7c24d46085 rename shell tool more intuitively as run_shell_command (from historical name of execute_bash_command inherited from terminal tool) (#869) 2025-06-09 08:57:30 -07:00
anj-s
3177f03ab9 Add support for sorting files search by recency threshold followed by lexicographic sorting (#867) 2025-06-09 08:07:24 -07:00
Olcan
0ab24b8191 fix mcp timeouts and missing description on mcp errors (#868) 2025-06-08 21:52:11 -07:00
matt korwel
b2cbdf3091 Rollforward AST changes to unblock Sandboxing (#863) 2025-06-08 19:07:25 -07:00
N. Taylor Mullen
7bef436c11 feat(core): Add .gitignore support to getFolderStructure (#865) 2025-06-09 01:42:38 +00:00
N. Taylor Mullen
275c295dc3 feat(git): Refactor gitignore handling to use ignore library instead of minimatch (#864) 2025-06-08 18:32:19 -07:00
N. Taylor Mullen
cf7c1e5e1d Revert "Add batch editing capabilities to Edit Tool (#648)" (#857) 2025-06-08 23:20:43 +00:00
Bryan Morgan
ddbf0ccf78 Bryanmorgan/add tool source description (#856) 2025-06-08 19:07:05 -04:00
N. Taylor Mullen
07362d3163 fix(tool-scheduler): Correctly pipe cancellation signal to tool calls (#852) 2025-06-08 22:42:49 +00:00
Eddie Santos
557add2f98 Add tests for core/utils/editor (#851) 2025-06-08 19:42:42 +00:00
N. Taylor Mullen
2bb88843f7 fix(cli): correctly handle tool invocation cancellation (#844) 2025-06-08 11:14:45 -07:00
Leo
588e79e48f feat: Add flow to allow modifying edits during edit tool call (#808) 2025-06-08 10:56:58 -07:00
matt korwel
334a7e0070 fix(deps): externalize tree-sitter (#840)
Submitting without approval to fix broken deployment on main. But also, we should lock this down.
2025-06-08 02:05:55 -07:00
Keith Ballinger
0075c68954 refactor(core): remove comments from geminiChat.ts (#834) 2025-06-07 22:20:59 -07:00
Tommaso Sciortino
3c2a17e9f6 Introduce ContentGeneratorConfig (#826) 2025-06-07 16:17:27 -07:00
Bryan Morgan
bdc3ba4bde Bryanmorgan/add mcp description support (#825) 2025-06-07 18:30:56 -04:00
cperry-goog
a49f734c13 refactor: rename gemini-code to gemini-cli (#822) 2025-06-07 14:27:22 -07:00
Tommaso Sciortino
9ab8049312 Eliminate createServerConfig() (#821) 2025-06-07 13:49:00 -07:00
Eddie Santos
72b6b10e55 Add embedder (#818) 2025-06-07 13:38:05 -07:00
matt korwel
d749c1c429 Creating Node AST Tool. (#756) 2025-06-07 12:07:58 -07:00
Bryan Morgan
42a29562cf Added /mcp command support and cleaned up broken tests (#817) 2025-06-07 15:06:18 -04:00
Tommaso Sciortino
1b6463c220 More version simplifiction. (#810) 2025-06-07 10:54:23 -07:00
Keith Ballinger
7ad5f52437 Add batch editing capabilities to Edit Tool (#648)
Co-authored-by: N. Taylor Mullen <ntaylormullen@google.com>
2025-06-06 22:54:37 -07:00
N. Taylor Mullen
7bb69089f3 Add support for configured mcp client timeout. (#775) 2025-06-05 20:35:00 +00:00
Tommaso Sciortino
e603788ba2 Introduce generate content interface (#755) 2025-06-05 13:26:38 -07:00
Jerop Kipruto
d0de44824f OpenTelemetry Integration & Telemetry Control Flag (#762) 2025-06-05 13:04:25 -07:00
Eddie Santos
6b745dd861 Bump default model to gemini-2.5-pro-preview-06-05 (#765) 2025-06-05 11:52:36 -07:00
Eddie Santos
9a7199519e Add support for .geminiignore file (#757) 2025-06-05 10:15:27 -07:00
anj-s
91abea3419 Checks for diff changes before displaying the code snippet (#751) 2025-06-05 06:48:03 -07:00
Jacob Richman
50efcbf241 Jacob314/memory fixes (#754)
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-05 06:40:33 -07:00
N. Taylor Mullen
14e87c4987 feat(accessibility): Add option to disable loading phrases (#745) 2025-06-04 07:46:57 +00:00
N. Taylor Mullen
8c7f645643 refactor(core): Centralize tool response formatting (#743) 2025-06-04 07:24:25 +00:00
Keith Ballinger
906f716d3e Ignore folders files (#651)
# 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 <ntaylormullen@google.com>
2025-06-04 04:40:46 +00:00
Cindy Xing
f8605638e9 Update configuration.md (#722) 2025-06-03 21:33:02 -07:00
Olcan
84e3834b62 bandaid for broken mcp calls (#732) 2025-06-03 14:40:36 -07:00
Olcan
9752b7fb07 fixed strip-ansi dep by installing it in core package (also ran npm install in cli package that resulted in the minor changes here) (#727) 2025-06-03 13:37:59 -07:00
Brandon Keiji
d64d23fd95 feat: notify user when chat context is compressed (#724) 2025-06-03 19:19:49 +00:00
Brandon Keiji
aafcfdb100 feat: compress chat history when we approach token limit (#711) 2025-06-03 18:54:11 +00:00
anj-s
f15831d907 Modify shortenPath and add param validation (#663) 2025-06-03 08:59:17 -07:00
anj-s
b04be6600e Add params check for writeTool (#708) 2025-06-03 07:47:27 -07:00
N. Taylor Mullen
200548785d Fix: Ensure MCP tools are discovered from slow-starting servers (#717) 2025-06-03 07:40:51 +00:00
N. Taylor Mullen
60a60d695a Refactor: Make MCP server discovery non-blocking (#716) 2025-06-03 06:37:02 +00:00
N. Taylor Mullen
71697da1d9 Refactor: Use config.getGeminiClient() for GeminiClient instantiation (#715) 2025-06-03 05:30:52 +00:00
Brandon Keiji
f5416be22b refactor: maintain 1 GeminiChat per GeminiClient (#710) 2025-06-02 19:10:54 -07:00
Bryan Morgan
634404443d upate to PR 669 (#700)
Co-authored-by: N. Taylor Mullen <ntaylormullen@google.com>
2025-06-02 16:59:38 -07:00
N. Taylor Mullen
ce7064c1a2 React to Gemini API break - Thought Inclusion (#705) 2025-06-02 23:32:45 +00:00
Scott Densmore
ec586caf06 Refactor: Centralize GeminiClient in Config (#693)
Co-authored-by: N. Taylor Mullen <ntaylormullen@google.com>
2025-06-02 14:55:51 -07:00
Olcan
5f3c5c9672 strip ansi from shell output (#699) 2025-06-02 14:50:12 -07:00
Olcan
31d7b4065e prefer to load gemini-specific .env file from .gemini folder when it exists there (#697) 2025-06-02 14:16:48 -07:00
Allen Hutchison
dc25ca81a3 feat(cli): add pro model availability check and fallback to flash (#608) 2025-06-02 13:55:54 -07:00