Commit Graph

391 Commits

Author SHA1 Message Date
Miguel Solorio 3cdbeb879b Allow themes to theme the UI (#769) 2025-06-05 14:35:47 -07:00
Brandon Keiji 1178f2304e refactor: remove unnecessary useRefs (#780) 2025-06-05 21:33:24 +00:00
Olcan 5a6c1bad69 skip npm build for custom sandbox (#779) 2025-06-05 14:15:43 -07:00
Jerop Kipruto d0de44824f OpenTelemetry Integration & Telemetry Control Flag (#762) 2025-06-05 13:04:25 -07:00
Olcan d7b59dcb64 use execSync (vs spawnSync) so launch fails if build_sandbox fails; tweaks in build_sandbox to fix some shellcheck warnings, and to simplify the logic slightly (#767) 2025-06-05 13:02:56 -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
Tolik Malibroda c90b7a0a3f fix: Disable automatic image building if BUILD_SANDBOX is not provided (#764) 2025-06-05 18:47:39 +02:00
Tolik Malibroda 95917b22da feat: Add multi-stage docker build support for custom sandbox.Dockerfile (#746) 2025-06-05 17:46:54 +02: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 88122aa11f Fix "npx https:...." header issue (#759) 2025-06-05 07:00:34 +00:00
N. Taylor Mullen 3cf096328f fix(cli): Handle non-array tool response parts (#758) 2025-06-05 06:25:57 +00:00
Eddie Santos c93f31aae1 Add /tools slash command to view available tools (#752) 2025-06-04 14:01:38 -07:00
Tommaso Sciortino 194a53a987 CLI_TITLE env var for setting the CLI title (#748) 2025-06-04 10:44:50 -07:00
Miguel Solorio 8b972ff351 Update light themes (#726) 2025-06-04 10:41:03 -07:00
N. Taylor Mullen 9d1b31e667 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 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
Tolik Malibroda 4770b2fc3c fix: Fix piped input mode in sandbox (#739) 2025-06-04 08:24:33 +02:00
Marat Boshernitsan 13a1610a0e 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 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
Olcan 7a3a2e9868 fix BUILD_SANDBOX env var for updating sandbox while running linked binary (#729) 2025-06-03 14:02:00 -07:00
Olcan 81328dbc5e remove noop code (#728) 2025-06-03 13:47:53 -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 05d54f9449 fix: do not try to pull development sandbox image from the internet (#725) 2025-06-03 19:32:17 +00:00
Brandon Keiji d64d23fd95 feat: notify user when chat context is compressed (#724) 2025-06-03 19:19:49 +00:00
N. Taylor Mullen 5f03184440 Fix flash preview (#723) 2025-06-03 18:01:59 +00:00
N. Taylor Mullen 757ccc27b9 Workaround Gemini API break - Use flash 04-17 (#721) 2025-06-03 17:47:20 +00:00
Allen Hutchison 4c3698f1df feat(cli): randomize and expand witty loading phrases (#704) 2025-06-03 10:12:47 -07:00
N. Taylor Mullen 71697da1d9 Refactor: Use config.getGeminiClient() for GeminiClient instantiation (#715) 2025-06-03 05:30:52 +00:00
N. Taylor Mullen d55f841eac Remove redundant variable. (#713) 2025-06-02 21:18:01 -07:00
Brandon Keiji f5416be22b refactor: maintain 1 GeminiChat per GeminiClient (#710) 2025-06-02 19:10:54 -07:00
Jacob Richman c1fb68dc7a fix(cli): restore first-launch theme prompt (#703) 2025-06-02 19:09:11 -07:00
Scott Densmore 00229cf6da feat(cli): Allow custom title in CLI header (#706) 2025-06-02 17:09:55 -07:00
N. Taylor Mullen 77ed1e283e Feat: Enable YOLO mode for non-interactive execution (#702) 2025-06-02 22:35:03 +00:00
Olcan 5f3c5c9672 strip ansi from shell output (#699) 2025-06-02 14:50:12 -07:00
Jacob Richman 84fe495485 Fix bug pasting multiline strings (#632) 2025-06-02 14:31:35 -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
N. Taylor Mullen 042c387ad9 refactor: Update MCP tool discovery to use @google/genai - Also fixes JSON schema issues. (#682) 2025-06-02 20:39:25 +00:00
Tolik Malibroda 71553d12e7 feat: Add --yolo mode that automatically accepts all tools executions (#695)
Co-authored-by: N. Taylor Mullen <ntaylormullen@google.com>
2025-06-02 22:05:45 +02:00
N. Taylor Mullen c4e6677821 feat: Refactor CLI header for customizable logo text (#658) 2025-06-02 11:45:09 -07:00
Miguel Solorio be59580326 Color enhancements (#680) 2025-06-02 11:20:58 -07:00
Olcan 55d4bbb8e7 enable async tool discovery by making the registry accessor async; remove call to discoverTools that caused duplicate discovery (#691) 2025-06-02 09:56:32 -07:00
N. Taylor Mullen 4d3f0dcc35 fix: Ensure all tool calls are complete before submitting responses (#689) 2025-06-02 08:50:28 +00:00
Olcan 4ddeeb3eec more strict italics: delimiters cannot be preceded/followed by \w or [./\\]\S (#677) 2025-06-01 16:52:31 -07:00
N. Taylor Mullen 25b12d8297 feat: Implement non-interactive mode for CLI (#675) 2025-06-01 23:11:37 +00:00
N. Taylor Mullen 3d71ee597a fix: Display MCP server count in context summary (#674) 2025-06-01 22:48:48 +00:00
N. Taylor Mullen cca2129f87 refactor: Centralize tool scheduling logic and simplify React hook (#670) 2025-06-01 14:16:24 -07:00
Scott Densmore c2511c8e70 Fix: Make file path case-insensitive in @-command (#659) 2025-05-31 16:19:14 -07:00
Allen Hutchison b78c320cbd feat: allow custom filename for context files (#654)
Co-authored-by: N. Taylor Mullen <ntaylormullen@google.com>
2025-05-31 12:49:28 -07:00