Commit Graph

139 Commits

Author SHA1 Message Date
HyeongHo Jun a00f1bb916
feat(core): add partUtils module with unit tests (#4575)
Co-authored-by: Jacob Richman <jacob314@gmail.com>
2025-07-22 23:57:06 +00:00
Tommaso Sciortino 138ff73821
Fix windows bugs + refactor tests. (#4634) 2025-07-22 05:21:37 +00:00
Abhi 9daead63dd
(feat): Initial Version of Custom Commands (#4572) 2025-07-22 04:34:55 +00:00
BOYI 12765eb775
fix: character encoding issues in shell command processor (#1949)
Co-authored-by: Jacob Richman <jacob314@gmail.com>
Co-authored-by: Sandy Tao <sandytao520@icloud.com>
2025-07-21 22:26:40 +00:00
Josh Soref dc2ac144b7
Various spelling improvements (#3497)
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Co-authored-by: Sandy Tao <sandytao520@icloud.com>
2025-07-21 21:54:44 +00:00
Tommaso Sciortino d7a57d85a3
Simplify streaming code for code assist server (#4619) 2025-07-21 20:44:43 +00:00
sangwook 45b764943a
feat: Make file type detection and binary checks asynchronous (#3286) (#3288) 2025-07-20 23:16:42 +00:00
Didier Durand 0f6405e28d
fix typos in diverse files (#3550)
Co-authored-by: Pascal Birchler <pascal.birchler@gmail.com>
Co-authored-by: Pascal Birchler <pascalb@google.com>
Co-authored-by: N. Taylor Mullen <ntaylormullen@google.com>
2025-07-20 22:36:34 +00:00
Cole Miller 7a9821607b
Check for zeditor if zed binary is not found (#3680)
Co-authored-by: Jacob Richman <jacob314@gmail.com>
Co-authored-by: Scott Densmore <scottdensmore@mac.com>
2025-07-20 19:35:21 +00:00
Pyush Sinha a01b1219a3
feat: full implementation for .geminiignore in settings and respective tool calls (#3727) 2025-07-20 07:55:33 +00:00
Ali Al Jufairi 76b935d598
Feature custom themes logic (#2639)
Co-authored-by: Jacob Richman <jacob314@gmail.com>
2025-07-20 07:51:18 +00:00
osbornesec c0bfa388c5
fix: prevent RangeError in GitIgnoreParser for root paths (#3417)
Co-authored-by: Jacob Richman <jacob314@gmail.com>
2025-07-20 07:12:53 +00:00
Marat Boshernitsan 5b7b6fe608
Automatically detect non-interactive environments and fall back to a manual, code-based authentication flow (#4475) 2025-07-19 00:22:50 +00:00
Pascal Birchler 4b8838bea4
fix: remove direct gaxios dependency (#4289) 2025-07-17 22:54:19 +00:00
Conrad Irwin 761ffc6338
Zed integration (#4266)
Co-authored-by: Agus Zubiaga <agus@zed.dev>
Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
Co-authored-by: mkorwel <matt.korwel@gmail.com>
2025-07-17 22:25:23 +00:00
anj-s d3ee9de3c3
Enable tool summarization only when explicitly set in settings.json (#4140)
Co-authored-by: matt korwel <matt.korwel@gmail.com>
2025-07-15 17:22:31 +00:00
Tommaso Sciortino fefa7ecbea
Pure refactor: Consolidate isWithinRoot() function calling. (#4163) 2025-07-15 05:55:49 +00:00
Bryan Morgan ff3722a3a7
Fix circular reference JSON serialization in telemetry logging (#4150) 2025-07-14 20:20:06 +00:00
Sandy Tao b29c02dd34
Fix not using flash for next speaker check (#4016) 2025-07-13 05:12:47 +00:00
Gaurav 8f12e8a114
fix: clearcut logging (retry #3744) (#3751) 2025-07-11 17:57:35 +00:00
anj-s 23197151c2
Summarize tool call outputs using tool specific summarizers (#3745) 2025-07-11 16:29:08 +00:00
matt korwel 58607b92df
Revert "fix: Use Email for Clearcut Logging and Refactor User Info Fetching" (#3744) 2025-07-09 21:51:37 -07:00
Gaurav b7f8e1360f
fix: Use Email for Clearcut Logging and Refactor User Info Fetching (#3620) 2025-07-10 04:17:40 +00:00
Bryan Morgan 8a6509ffeb
Remove auto-execution on Flash in the event of a 429/Quota failover (#3662)
Co-authored-by: Jenna Inouye <jinouye@google.com>
2025-07-09 17:55:56 +00:00
Bryan Morgan b0cce95286
Improve quota- and resource-related 429 error handling, also taking Code Assist customer tiers into consideration (#3609) 2025-07-09 14:18:15 +00:00
Tommaso Sciortino 4dab31f1c8
Improve Function Call argument validation and typing (#2881)
Co-authored-by: N. Taylor Mullen <ntaylormullen@google.com>
2025-07-08 06:48:44 +00:00
Colt McAnlis 8f4046c71a
fix: EditTool can clobber human edits to the same file. (#3043)
Co-authored-by: Colt McAnlis <colton@google.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2025-07-07 17:28:56 +00:00
Pugazhendhi 524ede52d2
feat: add .svg support (#3229) 2025-07-07 05:51:32 +00:00
Didier Durand ab96676e36
fix typos in diverse files (#3284)
Co-authored-by: Scott Densmore <scottdensmore@mac.com>
2025-07-05 15:23:39 +00:00
Bryan Morgan 654f8aeb61
Fixed Google User Id pass to Clearcut (#3147) 2025-07-03 20:54:35 +00:00
Tommaso Sciortino 82afc75350
Special case mime type for ts file. (#2902) 2025-07-01 23:05:33 +00:00
Santhosh Kumar 0275ab0108
feat: add audio and video support to read_file (#2556) 2025-07-01 19:22:32 +00:00
Tommaso Sciortino 3587054d32
Rename AuthType LOGIN_WITH_GOOGLE_PERSONAL -> LOGIN_WITH_GOOGLE (#2769) 2025-07-01 00:11:54 +00:00
owenofbrien f19b9ed4f8
Removed fallback logic for gaia id logging (#2761) 2025-06-30 22:51:17 +00:00
Niladri Das f848d35758
feat: modular GEMINI.md imports with @file.md syntax (#1585) (#2230) 2025-06-29 22:51:47 +00:00
Bryan Morgan cdb803b9a4
Added obfuscated google account ID to clearcut log messages (#2593) 2025-06-29 20:35:20 +00:00
Noritaka Kobayashi 9ae2595bfd
refactor: remove unnecessary assertion (#2579) 2025-06-29 19:06:03 +00:00
yuki yano c860dac233
feat: add Neovim editor support (#1448) 2025-06-29 17:25:22 +00:00
Pyush Sinha 3518ff7663
feat: add VSCodium editor support (#2299)
Co-authored-by: Scott Densmore <scottdensmore@mac.com>
Co-authored-by: Allen Hutchison <adh@google.com>
2025-06-28 17:44:31 +00:00
Bryan Morgan bb797ded7d
429 fix (#1668) 2025-06-26 01:45:38 +00:00
Tommaso Sciortino 79c647d486
Merge "Login with Google Workspace" auth option into "Login with Google" (#1574)
Co-authored-by: Scott Densmore <scottdensmore@mac.com>
2025-06-25 22:38:18 +00:00
Bryan Morgan eacbb3551c
changed 429 failover from 3 consecutive to 2 for OAuth users (#1579) 2025-06-25 19:37:23 +00:00
Bryan Morgan e356949d3f
[JUNE 25] Permanent failover to Flash model for OAuth users after persistent 429 errors (#1376)
Co-authored-by: Scott Densmore <scottdensmore@mac.com>
2025-06-24 22:48:55 +00:00
cornmander a2ed4266aa
Update editor.ts (#1371) 2025-06-24 06:41:40 +00:00
Scott Densmore 324715ee8b
Add Zed Editor to Eidtor List (#1372) 2025-06-23 23:32:09 -07:00
Tommaso Sciortino 0abd2a644e
Improve Auth error messaging (#1358) 2025-06-24 01:37:41 +00:00
N. Taylor Mullen 4b7307accb
Remove .gitignore logging from startup. (#1323) 2025-06-23 11:12:42 -07:00
owenofbrien 4cfab0a893
Clearcut logging - initial implementation (#1274)
Flag-guarded initial implementation of a clearcut logger to collect telemetry data and send it to Concord for dashboards, etc.
2025-06-22 14:26:48 +00:00
Louis Jimenez ea63a8401e
Move the shell history our of the project .gemini to the home dir (#1195) 2025-06-19 23:53:24 -04:00
Allen Hutchison fbc79c34c9
Fix noise in headless mode on STDOUT (#1184) 2025-06-18 11:40:15 -07:00
N. Taylor Mullen 197704c630
feat(test): Increase test coverage across CLI and Core packages (#1089) 2025-06-15 22:41:32 -07:00
Jerop Kipruto 714421c2da
Add file operation telemetry (#1068)
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-15 13:24:53 -07:00
Jerop Kipruto ab932ffaa5
Telemetry: Improve API response logging with function call details (#1064) 2025-06-15 01:48:01 -04:00
Bryan Morgan 93909a2dd3
Address b/424256913 - fixed error in correctStringEscaping() and improved backslash handling (#1007) 2025-06-14 13:39:34 -04:00
Anas H. Sulaiman 4873fce791
centralize file filtering in `FileDiscoveryService` (#1039) 2025-06-14 14:25:34 +00:00
Allen Hutchison 31b28ade01
Improvements to web-fetch tool (#1030) 2025-06-13 17:44:14 -07:00
Anas H. Sulaiman 8eb505fbba
initialize `FileDiscoveryService` once (#1029) 2025-06-13 17:25:59 -07:00
Anas H. Sulaiman bb67d31739
reuse `GitIgnoreParser` for loading `.geminiignore` (#1025) 2025-06-13 17:17:08 -04:00
Tommaso Sciortino 54f0d9d0e5
Fix default extension context filename and update docs (#1024) 2025-06-13 13:57:00 -07:00
Anas H. Sulaiman 1cefe21d2a
reuse filtering service in `bfsFileSearch` (#1018) 2025-06-13 14:57:03 -04:00
Anas H. Sulaiman 084b58a50e
reuse filtering service in getFolderStructure (#1016) 2025-06-13 14:26:31 -04:00
Billy Biggs 2a1ad1f5d9
Update contextFileName to support an optional list of strings (#1001) 2025-06-13 09:19:08 -07:00
N. Taylor Mullen 7bcc60e996
refactor: Use default centralized Flash & Pro models everywhere (#994) 2025-06-13 08:25:42 +00:00
Jerop Kipruto b20c8389f3
Handle telemetry in non-interactive mode (#1002)
Changes:
- Ensure proper shutdown in non-interactive mode
- Ensures the initial user prompt is logged in non-interactive mode
- Improve telemetry for streaming - handle chunks and input token count is now alongside other token counts in response

To test:
- Follow instructions in https://github.com/google-gemini/gemini-cli/blob/main/docs/core/telemetry.md#google-cloud
- Run CLI in non-interactive mode and observe logs/metrics in GCP Logs Explorer and Metrics Explorer

#750
2025-06-13 03:44:17 -04:00
Jerop Kipruto 3c3da655b0
Refactor OTEL logging for API calls (#991)
Refactor OpenTelemetry logging for API requests, responses, and errors. Moved logging responsibility from GeminiClient to GeminiChat for more detailed logging.

#750
2025-06-12 16:36:51 -07:00
DeWitt Clinton f2ab6d08c4
Improve the performance of filename completion over large repositories. (#938) 2025-06-12 07:09:38 -07:00
Leo 1ef68e0612
feat: External editor settings (#882) 2025-06-11 18:21:54 -07:00
matt korwel 4160d904da
Extensibility: Gemini.md files (#944) 2025-06-11 20:34:35 +00:00
jerop d96af8bacd refactor(telemetry): pass config object to telemetry functions
This commit refactors the telemetry system to pass a  object to various logging and metrics functions. This change centralizes configuration management within the telemetry system, making it more modular and easier to maintain.

The  constructor and various tool execution functions have been updated to accept the  object, which is then passed down to the telemetry functions. This eliminates the need to pass individual configuration values, such as , through multiple layers of the application.
2025-06-11 13:24:41 -04:00
Allen Hutchison 1d7090b8ac
feat(core): Create BFS file search utility (#903) 2025-06-11 09:21:23 -07:00
jerop d1e23b7c71 refactor: Centralize session ID generation and propagation 2025-06-11 01:18:40 -04:00
Seth Troisi fb6e2927f7
Remove unneeded `mockRestore()`s from tests (#919) 2025-06-10 20:32:00 -07:00
Eddie Santos 6484dc9008
Add Windsurf in edit tool to modify changes, if installed (#853) 2025-06-09 16:01:06 -07:00
matt korwel 3b943c1582
Windows: Refactor Shell Scripts to Node.js for Cross-Platform Compatibility (#784) 2025-06-09 12:19:42 -07:00
N. Taylor Mullen ccdd1df039
feat(core): Add .gitignore support to getFolderStructure (#865) 2025-06-09 01:42:38 +00:00
N. Taylor Mullen 72fa01f62d
feat(git): Refactor gitignore handling to use `ignore` library instead of `minimatch` (#864) 2025-06-08 18:32:19 -07:00
N. Taylor Mullen d62dad5575
Revert "Add batch editing capabilities to Edit Tool (#648)" (#857) 2025-06-08 23:20:43 +00:00
Eddie Santos 394312b9c2
Add tests for `core/utils/editor` (#851) 2025-06-08 19:42:42 +00:00
Leo 9efca40dae
feat: Add flow to allow modifying edits during edit tool call (#808) 2025-06-08 10:56:58 -07:00
Bryan Morgan 28ff62e7b1
Added /mcp command support and cleaned up broken tests (#817) 2025-06-07 15:06:18 -04:00
Keith Ballinger 0c86874677
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
Tommaso Sciortino e59e18251b
Introduce generate content interface (#755) 2025-06-05 13:26:38 -07:00
N. Taylor Mullen d179b3aae4
refactor(core): Centralize tool response formatting (#743) 2025-06-04 07:24:25 +00: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
anj-s fffa06f0b1
Modify shortenPath and add param validation (#663) 2025-06-03 08:59:17 -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
Bryan Morgan f7a2442fac
Added replace tool ability to replace more than 1 occurrence (#669)
Co-authored-by: N. Taylor Mullen <ntaylormullen@google.com>
2025-06-01 17:49:48 -04:00
Allen Hutchison 53bf778497
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
Tommaso Sciortino 21fba832d1
Rename server->core (#638) 2025-05-30 18:25:47 -07:00