Commit Graph

184 Commits

Author SHA1 Message Date
Abhi ca5dd28ab6
refactor(core): Centralize shell logic into ShellExecutionService (#4823) 2025-07-26 01:56:49 +00:00
Tommaso Sciortino 17331001a0
Run presubmit tests in windows as well as linux. (#4672)
Co-authored-by: matt korwel <matt.korwel@gmail.com>
2025-07-25 15:57:30 -07:00
Tommaso Sciortino aa71438684
Fix grep.test to work on windows. (#4889) 2025-07-25 21:32:28 +00:00
Tommaso Sciortino 23e0dc6960
Fix test to be windows compatible. (#4875) 2025-07-25 21:31:10 +00:00
Tommaso Sciortino be898710fe
Make glob.test.ts win compatible. (#4891) 2025-07-25 21:30:39 +00:00
christine betts eb65034117
Load and use MCP server prompts as slash commands in the CLI (#4828)
Co-authored-by: harold <haroldmciver@google.com>
Co-authored-by: N. Taylor Mullen <ntaylormullen@google.com>
2025-07-25 20:56:33 +00:00
matt korwel 820105e982
Safer Shell command Execution (#4795)
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: N. Taylor Mullen <ntaylormullen@google.com>
2025-07-25 19:25:32 +00:00
Tommaso Sciortino f0e3e6ee8a
Make shell.test.ts windows compatible (#4858) 2025-07-25 19:05:21 +00:00
christine betts 1b8ba5ca6b
[ide-mode] Create an IDE manager class to handle connecting to and exposing methods from the IDE server (#4797) 2025-07-25 17:46:55 +00:00
Tommaso Sciortino e500eb5562
Fix read-file.test.ts to be windows compatible. (#4864) 2025-07-25 17:31:22 +00:00
Ramón Medrano Llamas 273e74c09d
feat: add /mcp refresh command (#4566) 2025-07-25 01:14:45 +00:00
ashwinpvg d254d4ce00
Add Google credentials provider for authenticating with MCP servers (#4748) 2025-07-24 17:37:39 +00:00
Daniel Lee 3dd6e431df
feat: add GEMINI_CLI environment variable to spawned shell commands (#4791) 2025-07-24 17:13:00 +00:00
Tommaso Sciortino 30c68922a3
Fix windows bugs in atCommandProcessor.ts (#4684) 2025-07-23 00:18:57 +00:00
Brian Ray 258c848909
MCP OAuth Part 2 - MCP Client Integration (#4318)
Co-authored-by: Greg Shikhman <shikhman@google.com>
2025-07-22 13:34:56 +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
Wen Sun b4d00ab4fb
feat(edit): Prevent no-op edits (#3520) 2025-07-21 21:24:02 +00:00
christine betts 1969d805f2
[ide-mode] Use active files and selected text in user prompt (#4614) 2025-07-21 20:52:02 +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
Pyush Sinha a01b1219a3
feat: full implementation for .geminiignore in settings and respective tool calls (#3727) 2025-07-20 07:55:33 +00:00
N. Taylor Mullen 412b78c5ab
Simplify MCP connection errors. (#4508) 2025-07-19 12:44:51 -07:00
Tommaso Sciortino 4dbd9f30b6
Revert background agent commits (#4479) 2025-07-19 00:28:40 +00:00
Tommaso Sciortino 003609239f
Add /background commands (when background agent is configured) (#4407)
Co-authored-by: Bryan Morgan <bryanmorgan@google.com>
2025-07-18 22:38:04 +00:00
Tommaso Sciortino b5f5ea2c31
Use simple name for MCP tools where possible. (#4459) 2025-07-18 21:29:09 +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
warjiang 606a7702de
feat(cli): add explicit proxy option in cli (#2526)
Co-authored-by: Dcatfly <dcatfly@gmail.com>
2025-07-17 18:57:37 +00:00
Shreya Keshive 69a8ae6a89
Minor UX updates for IDE mode (#4311) 2025-07-16 21:33:56 +00:00
Wanlin Du f6ee0d182b
fix: update google/genai to v1.9.0 and switch to parametersJsonSchema for MCP related tools (#4176)
Co-authored-by: Jack Wotherspoon <jackwoth@google.com>
2025-07-16 21:32:34 +00:00
Sambhav Khanna 40c4070846
feat(tool): sort tool list alphabetically for deterministic output (#3095)
Co-authored-by: Pascal Birchler <pascalb@google.com>
2025-07-15 18:35:35 +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
Shreya Keshive b09bc66560
Adds the user's active file in the IDE to the footer (#4154) 2025-07-15 14:19:59 +00:00
Tommaso Sciortino fefa7ecbea
Pure refactor: Consolidate isWithinRoot() function calling. (#4163) 2025-07-15 05:55:49 +00:00
Tommaso Sciortino 5008aea90d
Refactor MCP code for reuse and testing (#3880) 2025-07-14 18:19:33 +00:00
Billy Biggs bc4182b9d2
Show stderr output from mcp servers in debug mode (#4049) 2025-07-14 04:42:22 +00:00
N. Taylor Mullen 44ef0408f3
feat(tools): Centralize shell tool summarization (#4009) 2025-07-13 04:09:12 +00:00
Jacob Richman 82bde57868
Fix issues that resulted in Gemini trying to use relative paths where absolute paths were required (#3938) 2025-07-12 00:49:26 +00:00
Jack Wotherspoon 2826c7a1c6
feat: add headers support to SSE transport MCP servers (#3902) 2025-07-11 19:59:42 +00:00
anj-s 23197151c2
Summarize tool call outputs using tool specific summarizers (#3745) 2025-07-11 16:29:08 +00:00
Tommaso Sciortino 166f5eaa66
Don't print MCP server logs. It's too noisy. (#3867) 2025-07-11 14:42:43 +00:00
Aryan Sawant 316c0fa37b
Fix Patch for grep.test.ts (#3747) 2025-07-10 06:08:58 +00:00
Tommaso Sciortino 5c759d48c7
Don't enforce leading slash since that's not true on Windows (#3545) 2025-07-08 16:30:49 +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
Tommaso Sciortino 357546a2aa
Initialize MCP tools once at start up instead of every time we auth. (#3483) 2025-07-07 22:01:59 +00:00
Tommaso Sciortino 2b135d0e9e
Remove unneeded code. (#3467)
Co-authored-by: Scott Densmore <scottdensmore@mac.com>
2025-07-07 19:35:29 +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
Jordan Demeulenaere 355fb4ac67
Add excludeTools and includeTools to mcpServers config (#2976) 2025-07-07 16:34:26 +00:00
Gennadiy Civil aa8e5776eb
Add new test to verify that when an Authorization header is provided (#3023) 2025-07-07 16:34:16 +00:00
N. Taylor Mullen 17dfa267d5
Re-enable backticks in shell tool usage. (#3360) 2025-07-07 16:15:10 +00:00
Yuki Okita 87a44ec468
feat(core): improve error messages in isCommandAllowed (#3349) 2025-07-07 05:03:36 +00:00
Adam Weidman 9211905ff1
feat: Handle inline content modification in tool scheduler (#2883) 2025-07-05 23:19:41 +00:00
BigUncle b564d4a088
fix(core): Sanitize tool parameters to fix 400 API errors (#3300) 2025-07-05 21:58:51 +00:00
moon jooho 8d3fec08e5
Add and improve JSDoc comments for core tool methods (#3128) 2025-07-04 00:13:02 +00:00
Santhosh Kumar 0275ab0108
feat: add audio and video support to read_file (#2556) 2025-07-01 19:22:32 +00:00
Jerop Kipruto f3849627fc
feat(shell): Enable prefix matching for flexible command validation (#2653) 2025-06-30 15:42:35 +00:00
Adam Spiers 0fd602eb43
feat: add support to remote MCP servers for custom HTTP headers (#2477) 2025-06-30 00:09:08 +00:00
Tim Rogers dbe63e7234
fix: Correct pluralization of the number of occurrences in `EditTool` tool errors (#2463) 2025-06-29 19:53:59 +00:00
Jerop Kipruto d8d78d73f9
feat: allow command-specific restrictions for ShellTool (#2605) 2025-06-29 19:32:26 +00:00
Noritaka Kobayashi 9ae2595bfd
refactor: remove unnecessary assertion (#2579) 2025-06-29 19:06:03 +00:00
Noritaka Kobayashi b980a47879
refactor: remove imported multiple times (#1846) 2025-06-29 09:09:15 +00:00
Leo 5d3a64d747
fix file extension in "modify flow" temp files (#2478) 2025-06-28 21:51:03 +00:00
Leo 601d9ba36d
fix edit retrigger (#2306) 2025-06-28 18:02:44 +00:00
Kalle Ahlström 9665928860
chore: add proper pluralization handling for match in grep tool (#2344)
Co-authored-by: Allen Hutchison <adh@google.com>
2025-06-28 14:41:25 +00:00
Billy Biggs 25cdf9b762
Inline the description and schema of the shell tool in the source (#1709) 2025-06-28 09:53:03 +00:00
Noritaka Kobayashi 221b066900
chore: fix typo in mcp-client (#1555)
Co-authored-by: Scott Densmore <scottdensmore@mac.com>
2025-06-28 01:14:59 +00:00
Noritaka Kobayashi dbe217828d
chore: fix typos in comment-out (#1540)
Co-authored-by: Scott Densmore <scottdensmore@mac.com>
2025-06-26 04:34:53 +00:00
cornmander a2ed4266aa
Update editor.ts (#1371) 2025-06-24 06:41:40 +00:00
Tommaso Sciortino 07880d43d2
Sanitize MCP FunctionDeclarations to workaround Vertex bug (#1330) 2025-06-23 09:13:53 -07:00
matt korwel 04518b52c0
Auth First Run (#1207)
Co-authored-by: Tommaso Sciortino <sciortino@gmail.com>
Co-authored-by: N. Taylor Mullen <ntaylormullen@google.com>
2025-06-19 16:52:22 -07:00
Brandon Keiji 332512853e
feat: consolidate sandbox configurations into a single object (#1154) 2025-06-18 17:01:00 +00:00
Mark McDonald 7e6fb7e874
Added sandbox error hint when MCP servers fail to launch in sandbox mode (#972) 2025-06-16 06:37:09 +00:00
Leo 5c8e49a0e3
bug: Fix modify edit (#1078) 2025-06-15 18:00:41 -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
Sijie Wang 7352cb403c
fix(core): Improve shell tool reliability and test portability (#1036) 2025-06-15 09:19:19 +00:00
Keir Mierle 32dd298351
fix: Push tool calls to absolute paths (#1055) (#1057)
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-14 21:16:11 -07:00
Leo 2c6aae863a
Enable "modify" in write tool (#1044) 2025-06-14 11:20:04 -07: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
Shreya Keshive 1fa41af918
Support MCP StreamableHTTPClientTransport (#1014) 2025-06-13 16:18:06 -04:00
Anas H. Sulaiman 9d04e04bc0
remove redundant `isGitRepository` helper` (#1012) 2025-06-13 12:45:07 -04:00
Billy Biggs 2a1ad1f5d9
Update contextFileName to support an optional list of strings (#1001) 2025-06-13 09:19:08 -07:00
Anas H. Sulaiman 34e0d9c0b6
cleanup unused `allowBuildArtifacts` (#1010) 2025-06-13 12:00:38 -04:00
Anas H. Sulaiman c886f08525
cleanup unused `customIgnorePatterns` (#1009) 2025-06-13 11:49:48 -04:00
Shreya Keshive 1fcbdef994
Add web socket protocol support for IDE MCP server (#987)
Co-authored-by: matt korwel <matt.korwel@gmail.com>
2025-06-13 09:30:44 -04:00
Tommaso Sciortino 28e656f882
Improve some tools to support abortSignal (#997) 2025-06-12 19:46:00 -07:00
matt korwel 9a11567f73
Revert "Make glob tool support abortSignal" (#996) 2025-06-13 00:53:10 +00:00
Marat Boshernitsan 181abde2ff
Reduce coupling between core and cli packages (#961)
Co-authored-by: Marat Boshernitsan <maratb@google.com>
2025-06-12 17:17:29 -07:00
Tommaso Sciortino f8863f4d00
Make glob tool support abortSignal (#988) 2025-06-12 13:27:40 -07:00
Leo 1ef68e0612
feat: External editor settings (#882) 2025-06-11 18:21:54 -07:00
Anas Sulaiman 00c4527a1b unify diff generation before and after an edit 2025-06-11 09:47:11 -04:00
jerop d1e23b7c71 refactor: Centralize session ID generation and propagation 2025-06-11 01:18:40 -04:00
Bryan Morgan 1e3abf96b5
addressed b/423798481 (#887) 2025-06-10 08:47:46 -04: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
Tommaso Sciortino 0613062fc8
Simplify user agent handling. (#828) 2025-06-09 09:31:27 -07:00
Olcan 87474e52d7
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 c55a1d9012
Add support for sorting files search by recency threshold followed by lexicographic sorting (#867) 2025-06-09 08:07:24 -07:00
Olcan a2fee6bdd3
fix mcp timeouts and missing description on mcp errors (#868) 2025-06-08 21:52:11 -07:00
matt korwel 37edbd8c18
Rollforward AST changes to unblock Sandboxing (#863) 2025-06-08 19:07:25 -07:00
N. Taylor Mullen d62dad5575
Revert "Add batch editing capabilities to Edit Tool (#648)" (#857) 2025-06-08 23:20:43 +00:00