Commit Graph

618 Commits

Author SHA1 Message Date
Miguel Solorio
a8ac9b1fac Add Theme docs (#753) 2025-06-05 08:10:05 -07:00
anj-s
78b2a28fb6 Checks for diff changes before displaying the code snippet (#751) 2025-06-05 06:48:03 -07:00
Jacob Richman
aa386d135b 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
822803d9d6 Fix "npx https:...." header issue (#759) 2025-06-05 07:00:34 +00:00
N. Taylor Mullen
77afd37c2e fix(cli): Handle non-array tool response parts (#758) 2025-06-05 06:25:57 +00:00
Eddie Santos
d99d132cdf Add /tools slash command to view available tools (#752) 2025-06-04 14:01:38 -07:00
Olcan
fdc8bd8ed9 mention BUILD_SANDBOX for custom sandboxing (#749) 2025-06-04 12:58:44 -07:00
Riccardo Carlesso
13b55c6e68 Docs: Update architecture diagram with Google colors (for future aricles) (#718) 2025-06-04 12:33:07 -07:00
Tommaso Sciortino
4192cfb092 CLI_TITLE env var for setting the CLI title (#748) 2025-06-04 10:44:50 -07:00
Miguel Solorio
a2f03636a5 Update light themes (#726) 2025-06-04 10:41:03 -07:00
Keith Ballinger
a14aada945 Fix broken documentation links after server->core folder rename (#740) 2025-06-04 10:02:07 -07:00
N. Taylor Mullen
44aff769a3 Bring back 2.5-pro usage (#744)
https://chat.google.com/room/AAQApBm33UQ/8DQw4Ykp8f0/8DQw4Ykp8f0?cls=10
2025-06-04 09:29:14 -07:00
N. Taylor Mullen
afc30e314f feat(accessibility): Add option to disable loading phrases (#745) 2025-06-04 07:46:57 +00:00
N. Taylor Mullen
d179b3aae4 refactor(core): Centralize tool response formatting (#743) 2025-06-04 07:24:25 +00:00
Tolik Malibroda
4b2af10b04 fix: Fix piped input mode in sandbox (#739) 2025-06-04 08:24:33 +02:00
Marat Boshernitsan
7de790fbf2 Fix several bugs in prompt history (#734)
Co-authored-by: Marat Boshernitsan <maratb@google.com>
2025-06-03 23:01:26 -07:00
Keith Ballinger
c313762ba0 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
d85f09ac51 Update configuration.md (#722) 2025-06-03 21:33:02 -07:00
N. Taylor Mullen
54eb1419a8 Update package-lock.json (#738) 2025-06-04 04:05:39 +00:00
Keith Ballinger
7108921691 fix Cannot find module @rollup/rollup-linux-x64-gnu error (#736) 2025-06-03 19:52:53 -07:00
Olcan
80a445c7ae bandaid for broken mcp calls (#732) 2025-06-03 14:40:36 -07:00
Olcan
12059eb4ca fix BUILD_SANDBOX env var for updating sandbox while running linked binary (#729) 2025-06-03 14:02:00 -07:00
Olcan
9df94103ac remove noop code (#728) 2025-06-03 13:47:53 -07:00
Olcan
00a9f654a3 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
e96fd677ee fix: do not try to pull development sandbox image from the internet (#725) 2025-06-03 19:32:17 +00:00
Brandon Keiji
546e033081 feat: notify user when chat context is compressed (#724) 2025-06-03 19:19:49 +00:00
Brandon Keiji
fa5b616a10 feat: compress chat history when we approach token limit (#711) 2025-06-03 18:54:11 +00:00
N. Taylor Mullen
080af01715 Fix flash preview (#723) 2025-06-03 18:01:59 +00:00
N. Taylor Mullen
c5099e9025 Workaround Gemini API break - Use flash 04-17 (#721) 2025-06-03 17:47:20 +00:00
Olcan
e190249732 link tool discovery/call docs from core configuration doc (#720) 2025-06-03 10:22:43 -07:00
Allen Hutchison
72f5ec3725 feat(cli): randomize and expand witty loading phrases (#704) 2025-06-03 10:12:47 -07:00
Olcan
d967752833 document mcp server trust option (#719) 2025-06-03 10:08:34 -07:00
anj-s
fffa06f0b1 Modify shortenPath and add param validation (#663) 2025-06-03 08:59:17 -07:00
anj-s
e9d43b9388 Add params check for writeTool (#708) 2025-06-03 07:47:27 -07:00
N. Taylor Mullen
c71d6ddc3b Fix: Ensure MCP tools are discovered from slow-starting servers (#717) 2025-06-03 07:40:51 +00:00
N. Taylor Mullen
5f6f6a95a2 Refactor: Make MCP server discovery non-blocking (#716) 2025-06-03 06:37:02 +00:00
N. Taylor Mullen
8ab74ef1bb Refactor: Use config.getGeminiClient() for GeminiClient instantiation (#715) 2025-06-03 05:30:52 +00:00
N. Taylor Mullen
cf84f1af68 Docs: Enhance "Writing Tests" section in GEMINI.md (#688) 2025-06-02 21:46:20 -07:00
N. Taylor Mullen
cf3e1a07c1 Remove redundant variable. (#713) 2025-06-02 21:18:01 -07:00
Brandon Keiji
74801e9004 refactor: maintain 1 GeminiChat per GeminiClient (#710) 2025-06-02 19:10:54 -07:00
Jacob Richman
447826ab40 fix(cli): restore first-launch theme prompt (#703) 2025-06-02 19:09:11 -07:00
Scott Densmore
2ab7e3da71 feat(cli): Allow custom title in CLI header (#706) 2025-06-02 17:09:55 -07:00
Bryan Morgan
91fa770196 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
8563e46ade React to Gemini API break - Thought Inclusion (#705) 2025-06-02 23:32:45 +00:00
Allen Hutchison
6fb07f0b50 fix(ci): correct input name for core coverage summary (#698) 2025-06-02 15:53:26 -07:00
N. Taylor Mullen
6020c760b5 Feat: Enable YOLO mode for non-interactive execution (#702) 2025-06-02 22:35:03 +00:00
Scott Densmore
e428707e07 Refactor: Centralize GeminiClient in Config (#693)
Co-authored-by: N. Taylor Mullen <ntaylormullen@google.com>
2025-06-02 14:55:51 -07:00
Olcan
1dcf0a4cbd strip ansi from shell output (#699) 2025-06-02 14:50:12 -07:00
Jacob Richman
51949f3121 Fix bug pasting multiline strings (#632) 2025-06-02 14:31:35 -07:00
Olcan
8365c8f954 prefer to load gemini-specific .env file from .gemini folder when it exists there (#697) 2025-06-02 14:16:48 -07:00