Commit Graph

419 Commits

Author SHA1 Message Date
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
Pugazhendhi
524ede52d2
feat: add .svg support (#3229) 2025-07-07 05:51:32 +00:00
zfflxx
97d9386e3f
@file don't respect config respectGitIgnore=false (#3382) (#3387)
Co-authored-by: Ryan Fang <ryan.fang@gllue.com>
2025-07-07 05:48:39 +00:00
Yuki Okita
87a44ec468
feat(core): improve error messages in isCommandAllowed (#3349) 2025-07-07 05:03:36 +00:00
N. Taylor Mullen
da9b1baa6e
Update @google/genai -> 1.8.0 (#3339) 2025-07-06 01:10:57 +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
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
matt korwel
47dc16d243
feat: Update minimum Node.js version to 20 (#3277) 2025-07-05 14:55:15 +00:00
matt korwel
d43ea268b0
Releasing: Utilizing Github Actions and Tagging for release. (#2852)
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-04 03:57:01 +00:00
moon jooho
8d3fec08e5
Add and improve JSDoc comments for core tool methods (#3128) 2025-07-04 00:13:02 +00:00
Bryan Morgan
654f8aeb61
Fixed Google User Id pass to Clearcut (#3147) 2025-07-03 20:54:35 +00:00
SunskyXH
ab63a5f183
fix(client): get model from config in flashFallbackHandler (#2118)
Co-authored-by: Jacob Richman <jacob314@gmail.com>
2025-07-03 19:43:48 +00:00
Vachan
cd069fd436
Reduce the threshold for when we compress history. (#2898) 2025-07-02 00:18:13 +00:00
Seth Troisi
38445f63f0
make tag required for /chat (#2904) 2025-07-02 00:17:08 +00:00
Brandon Keiji
34935d6558
chore: bump version to 0.1.9 (#2906) 2025-07-01 23:30:04 +00:00
Bryan Morgan
dbe88f6e0e
Added support for session_id in API calls (#2886) 2025-07-01 23:16:09 +00:00
Allen Hutchison
e94decea39
feat(core): Add infinite loop protection to client (#2793) 2025-07-01 23:09:21 +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
MirzaSamadAhmedBaig
01186e3aff
Make clean script cross-platform (#1990)
Co-authored-by: Scott Densmore <scottdensmore@mac.com>
2025-07-01 15:30:18 +00:00
Tommaso Sciortino
3587054d32
Rename AuthType LOGIN_WITH_GOOGLE_PERSONAL -> LOGIN_WITH_GOOGLE (#2769) 2025-07-01 00:11:54 +00:00
Tommaso Sciortino
0ca5c07135
Use structured prompt for compression. (#2747) 2025-07-01 00:04:33 +00:00
owenofbrien
f19b9ed4f8
Removed fallback logic for gaia id logging (#2761) 2025-06-30 22:51:17 +00:00
Tommaso Sciortino
505a5d617b
Fix CODE_ASSIST_ENDPOINT env var. (#2712) 2025-06-30 22:41:14 +00:00
Tommaso Sciortino
5c4c833ddd
Fix oauth credential caching. (#2709) 2025-06-30 15:47:01 +00:00
Jerop Kipruto
f3849627fc
feat(shell): Enable prefix matching for flexible command validation (#2653) 2025-06-30 15:42:35 +00:00
Abhi
770f862832
feat: Change /stats to include more detailed breakdowns (#2615) 2025-06-30 00:44:33 +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
Niladri Das
f848d35758
feat: modular GEMINI.md imports with @file.md syntax (#1585) (#2230) 2025-06-29 22:51:47 +00:00
uttamkanodia14
ada4061a45
Fix clearcut-logger.ts to event name GEMINI_CLI_API_RESPONSE_TOOL_TOK… (#1875) 2025-06-29 22:14:13 +00:00
Bryan Morgan
cdb803b9a4
Added obfuscated google account ID to clearcut log messages (#2593) 2025-06-29 20:35:20 +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
19a0276142
refactor: remove unnecessary "await" (#2574) 2025-06-29 19:15:27 +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
Noritaka Kobayashi
b980a47879
refactor: remove imported multiple times (#1846) 2025-06-29 09:09:15 +00:00
anj-s
7b86a2015f
Remove debug logs that are not actionable but numerous (#2030) 2025-06-29 02:33:53 +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
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
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
Mot
ad7839ea4c
quiet dotenv log message (#2239)
Co-authored-by: Scott Densmore <scottdensmore@mac.com>
2025-06-28 02:03:20 +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
Brandon Keiji
e8d5dec380
chore: bump to 0.1.8 (#2308) 2025-06-28 00:08:16 +00:00
Brandon Keiji
19d2a0fb35
fix: add missing gaxios dependency (#2302) 2025-06-27 23:24:03 +00:00
Brandon Keiji
8d1d40cc7a
chore: bump to 0.1.6 (#2285) 2025-06-27 20:57:07 +00:00
Tommaso Sciortino
a2a46c7c67
Add privacy notice slash command (#2059) 2025-06-27 19:07:38 +00:00
Billy Biggs
582b4861a9
Use 2-space indent for saved checkpoint files (#1152) (#1977)
Co-authored-by: Jacob Richman <jacob314@gmail.com>
2025-06-27 13:39:27 +00:00
Brandon Keiji
bf873a1d85
feat: add prepublishOnly checks (#2052) 2025-06-26 23:49:43 +00:00
Brandon Keiji
d9892ada7f
fix: add repository field to package.jsons (#2032) 2025-06-26 22:36:34 +00:00
Bryan Morgan
560905154c
Updating the first user message to mention the product name (#2037) 2025-06-26 22:32:19 +00:00
anj-s
267173c7e8
Revert "feat: Add model selection logic (#1678)" (#1983) 2025-06-26 20:59:16 +00:00
Tommaso Sciortino
c55b15f705
Improve LoadCodeAssist error handling (#1645) 2025-06-26 15:27:20 +00:00
N. Taylor Mullen
24ccc9c457
feat: Add model selection logic (#1678) 2025-06-26 14:51:32 +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
Andrew Drozdov
b8ae12a109
Update geminiChat.ts (#1681)
Co-authored-by: Scott Densmore <scottdensmore@mac.com>
2025-06-26 04:27:35 +00:00
Brandon Keiji
01ff27709d
chore: bump to 0.1.5 (#1731) 2025-06-26 02:48:16 +00:00
Brandon Keiji
a8763abfb7
feat: add release trigger configuration (#1697) 2025-06-26 01:54:58 +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
zhiyue
b0cf9bcece
fix(telemetry): handle all promise rejections in ClearcutLogger (#1557)
Co-authored-by: Scott Densmore <scottdensmore@mac.com>
2025-06-25 20:14:44 +00:00
Seth Troisi
31f32421a3
Minor style changes to prompt (#1578) 2025-06-25 20:00:44 +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
matt korwel
6991ba1387
Version 0 1 1 (#1426) 2025-06-25 13:47:27 +00:00
Brandon Keiji
f6c36f75e3
fix: prepublish changes to package names (#1420) 2025-06-25 12:41:11 +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
anj-s
418f67086b
Add the link to the privacy policy to the Usage Statistics section and remove debug logs (#1393) 2025-06-24 22:31:45 +00:00
Bryan Morgan
5099f104bc
[June 25] Fixed user agent string to be standards-compliant (#1384) 2025-06-24 09:11:09 -07: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
owenofbrien
37034045ae
Fix Clearcut logging wire format (#1359)
Fix for Clearcut logging wire format based on validation thread with Clearcut / Concord eng
2025-06-23 17:47:37 -07:00
Jerop Kipruto
aca034fdfe
Refactor usage statistics to be a top-level setting (#1363)
This commit refactors the `usageStatisticsEnabled` setting from a sub-property of the `telemetry` configuration to a top-level setting. This change simplifies the configuration by decoupling usage statistics from the telemetry settings.

The documentation has also been updated to reflect this change.
2025-06-24 00:29:31 +00:00
anj-s
3012684469
Fix duplicate startSession logs and duplicate logging events over the wire (#1357) 2025-06-24 00:05:42 +00:00
Jerop Kipruto
b443b5e800
Ensure telemetry events are flushed immediately (#1344)
The previous implementation used `flushIfNeeded` to batch most telemetry events, but it was not reliably sending them, leading to data loss. Notably, the `startSession` event, which already used `flushToClearcut`, was working correctly, indicating an issue with the batching logic itself.

This change replaces all calls to `flushIfNeeded` with `flushToClearcut` to align all event logging with the working `startSession` implementation and ensure that events are sent immediately. This prioritizes the reliability of data collection over network efficiency.

This is a temporary solution to prevent further data loss. The underlying issue with the batching mechanism in `flushIfNeeded` should be investigated and fixed in the future, at which point this change can be reverted.
2025-06-23 22:05:02 +00:00
Abhi
dc76bcc433
Add error messaging for 429 errors (#1316) 2025-06-23 21:30:13 +00:00
Jerop Kipruto
98f3a7066e
refactor: rename disableDataCollection to dataCollectionEnabled (#1319)
Renames the `disableDataCollection` flag to the more intuitive and positive `dataCollectionEnabled`.

This change improves code clarity by avoiding double negatives and making the purpose of the flag more direct. The logic has been inverted wherever the flag is used to accommodate the new naming convention.

Using a suffix like `"Enabled"` follows a common convention that improves readability. 
- A condition like `if (dataCollectionEnabled)` reads like a natural language sentence ("if data collection is enabled"), which reduces cognitive load.
- Distinguishes the boolean flag (representing a state) from potential functions that would perform an action (e.g., `enableDataCollection()` or `disableDataCollection()`), avoiding ambiguity between checking a value and calling a function.

#750
2025-06-23 21:19:40 +00:00
Jerop Kipruto
4d88054d35
Fix batch flush to Clearcut (#1337)
Co-authored-by: Scott Densmore <scottdensmore@mac.com>
2025-06-23 21:12:58 +00:00
Jacob Richman
3e25c350f2
A couple of these log messages were now showing up every time on app startup (#1335) 2025-06-23 11:31:13 -07:00
N. Taylor Mullen
4b7307accb
Remove .gitignore logging from startup. (#1323) 2025-06-23 11:12:42 -07:00
owenofbrien
631591ce79
Enable clearcut logging by default (#1309)
Clearcut logging can now be disabled via disableDataCollection in user settings
2025-06-23 10:18:58 -07:00
Tommaso Sciortino
07880d43d2
Sanitize MCP FunctionDeclarations to workaround Vertex bug (#1330) 2025-06-23 09:13:53 -07:00
Billy Biggs
c9bea8e646
Plumb extension context filenames through for /memory refresh (#1312) 2025-06-22 16:17:05 -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
Abhi
c9950b3cb2
feat: Add client-initiated tool call handling (#1292) 2025-06-22 01:35:36 -04:00
Louis Jimenez
383212034c
Provide a .gitconfig for shadow repos (#1294) 2025-06-22 00:13:03 -04:00
Billy Biggs
0779697da6
Add setting enableRecursiveFileSearch to control @-file completion (#1290) 2025-06-22 01:23:35 +00:00
Marlon Gamez
076f81f130
point Code Assist client to prod server (#1201) 2025-06-21 22:25:18 +00:00
Tommaso Sciortino
f9b2a33732
Remove packages/cli/README.md (#1278) 2025-06-21 16:43:01 +01:00
Brandon Keiji
1d32313a30
fix: remove circular references in core package (#1271) (#1272) 2025-06-20 16:21:09 -07:00
N. Taylor Mullen
787c319e87
feat: Update default Gemini Flash model to 2.5 (#1241) 2025-06-20 05:54:00 +00:00
Abhi
fbbb6f2611
Bug fix telemetry token count (#1250)
Co-authored-by: N. Taylor Mullen <ntaylormullen@google.com>
2025-06-20 05:45:29 +00:00
Louis Jimenez
6c67618624
Make checkpoints configurable in settings.json (#1251) 2025-06-20 00:39:15 -04: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
N. Taylor Mullen
7a419282c8
Tactical client lifetime fix. (#1247) 2025-06-19 19:54:36 -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
Tommaso Sciortino
1e5689e054
Set slice=true on tests to supress output. (#1168) 2025-06-19 15:27:00 -07:00
Abhi
0125547215
bug: removes raw api response from stdout (#1224) 2025-06-19 16:26:31 -04:00
anj-s
8e7fa7e233
Remove verification to prevent file reverts and endless loops (#1213) 2025-06-19 10:03:54 -07:00
Tommaso Sciortino
b49d55584e
Use Env Var directly instead of through GoogleAuth() (#1202) 2025-06-18 17:24:46 -07:00
Tommaso Sciortino
8bc3b415c9
Refactor in preparation for Reauth (#1196) 2025-06-18 16:34:00 -07:00
Allen Hutchison
fbc79c34c9
Fix noise in headless mode on STDOUT (#1184) 2025-06-18 11:40:15 -07:00
anj-s
c4c444d378
Cherry pick fix for enabling the agent to verify changes using tests (#1185) 2025-06-18 11:00:01 -07:00
Tommaso Sciortino
4662b058e8
CCPA Count Token support (#1170) 2025-06-18 10:29:42 -07:00
Brandon Keiji
332512853e
feat: consolidate sandbox configurations into a single object (#1154) 2025-06-18 17:01:00 +00:00
Tommaso Sciortino
3453b977b8
Support logging in with Application Default Credentials (#1157)
Co-authored-by: N. Taylor Mullen <ntaylormullen@google.com>
2025-06-18 09:49:13 -07:00
anj-s
5b2cea8eda
Cherrypick endless loops fix onto release (#1181) 2025-06-18 09:27:23 -07:00
Tommaso Sciortino
cd03d96b34
Fix flakey test (#1178) 2025-06-18 08:34:22 -07:00
Louis Jimenez
9b34762d97
Move the logs.json to a project specific user home dir (#1145) 2025-06-18 09:56:21 -04:00
N. Taylor Mullen
0da4fd9d11
feat: update default gemini model to GA 2.5 pro (#1173) 2025-06-17 23:08:04 -07:00
Louis Jimenez
443465a805
Clear out untracked files when restoring a checkpoint (#1139) 2025-06-17 22:01:42 -04:00
Jacob MacDonald
e59c872b3d
code review followup for compress command (#1097)
Followup to https://github.com/google-gemini/gemini-cli/pull/986
2025-06-17 15:44:54 +00:00
Tommaso Sciortino
b3e26de862
Cache credentials in home dir, not working dir (#1122) 2025-06-16 19:31:32 -07:00
Tommaso Sciortino
98093e604a
Simplify Error handling in Code Assist onboarding (#1123) 2025-06-16 18:30:55 -07:00
Tommaso Sciortino
11f524c125
Propagate abort signal to ccpa generateContent. (#1106) 2025-06-16 13:24:42 -07:00
Marlon Gamez
42329e0258
fix: add httpOptions with headers field to CCPA client and set User-Agent header (#1103) 2025-06-16 12:03:06 -07: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
Abhi
6af7a5c589
feat: clear should also clear chat history (#1008) 2025-06-16 06:33:59 +00:00
Louis Jimenez
dd679a6cdb
Move the shadow git repository to the user's home dir (#1013) 2025-06-16 06:30:02 +00:00
N. Taylor Mullen
197704c630
feat(test): Increase test coverage across CLI and Core packages (#1089) 2025-06-15 22:41:32 -07: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
Marat Boshernitsan
6d772a30c0
Stabilize prompts snapshot test by properly mocking the SANDBOX env var. (#1067)
Co-authored-by: Marat Boshernitsan <maratb@google.com>
2025-06-15 11:33:30 -07:00
Asad Memon
123ad20e9b
feat: Show model thoughts while loading (#992) 2025-06-15 18:19:05 +00:00
Asad Memon
b3d89a1075
feat: Add token stats in footer (#909) 2025-06-15 11:15:53 -07:00
Sijie Wang
7352cb403c
fix(core): Improve shell tool reliability and test portability (#1036) 2025-06-15 09:19:19 +00:00
Jerop Kipruto
ab932ffaa5
Telemetry: Improve API response logging with function call details (#1064) 2025-06-15 01:48:01 -04:00
Jerop Kipruto
53753f0455
Add telemetry command and refactor telemetry settings (#1060)
#750 

### Telemetry Settings
Refactors telemetry configuration to use a nested `telemetry` object in `settings.json`, for example:

```json
{
  "telemetry": {
    "enabled": true,
    "target": "gcp"
    "log-prompts": "true"
  },
  "sandbox": false
}
```

The above includes
- Centralized telemetry settings under a `telemetry` object in `settings.json`.
- CLI flags for the `gemini` command to override all telemetry sub-settings:
    - `--telemetry` / `--no-telemetry`
    - `--telemetry-target <local|gcp>`
    - `--telemetry-otlp-endpoint <URL>`
    - `--telemetry-log-prompts` / `--no-telemetry-log-prompts`
- Updates `packages/cli/src/config/config.ts` and `packages/core/src/config/config.ts` to read from the new settings structure and respect the new CLI flags.
- Modifies `scripts/handle-telemetry.js`, `scripts/local_telemetry.js`, and `scripts/telemetry_utils.js` to align with the new settings structure.
- Updates `docs/core/telemetry.md` to reflect the new settings structure, CLI flags, and order of precedence.
- Renames `logUserPromptsEnabled` to `logPrompts` for brevity.

### `npm run telemetry`

Add a new `npm run telemetry` command that uses `scripts/telemetry.js`, automates the entire process of setting up a local and GCP telemetry pipelines, including configuring the necessary settings in the `.gemini/settings.json` workspace file and installing required binaries (e.g. `otelcol-contrib`).

---
```shell
$ npm run telemetry -- --target=gcp

> gemini-cli@0.1.0 telemetry
> node scripts/telemetry.js --target=gcp

⚙️  Using command-line target: gcp
🚀 Running telemetry script for target: gcp.
 Starting Local Telemetry Exporter for Google Cloud 
⚙️  Enabled telemetry in workspace settings.
🔧 Set telemetry OTLP endpoint to http://localhost:4317.
🎯 Set telemetry target to gcp.
 Workspace settings updated.
 Using Google Cloud Project ID: foo-bar

🔑 Please ensure you are authenticated with Google Cloud:
  - Run `gcloud auth application-default login` OR ensure `GOOGLE_APPLICATION_CREDENTIALS` environment variable points to a valid service account key.
  - The account needs "Cloud Trace Agent", "Monitoring Metric Writer", and "Logs Writer" roles.
 otelcol-contrib already exists at /Users/jerop/github/gemini-cli/.gemini/otel/bin/otelcol-contrib
🧹 Cleaning up old processes and logs...
 Deleted old GCP collector log.
📄 Wrote OTEL collector config to /Users/jerop/github/gemini-cli/.gemini/otel/collector-gcp.yaml
🚀 Starting OTEL collector for GCP... Logs: /Users/jerop/github/gemini-cli/.gemini/otel/collector-gcp.log
 Waiting for OTEL collector to start (PID: 17013)...
 OTEL collector started successfully on port 4317.

 Local OTEL collector for GCP is running.

🚀 To send telemetry, run the Gemini CLI in a separate terminal window.

📄 Collector logs are being written to: /Users/jerop/github/gemini-cli/.gemini/otel/collector-gcp.log

📊 View your telemetry data in Google Cloud Console:
   - Logs: https://console.cloud.google.com/logs/query;query=logName%3D%22projects%2Ffoo-bar%2Flogs%2Fgemini_cli%22?project=foo-bar
   - Metrics: https://console.cloud.google.com/monitoring/metrics-explorer?project=foo-bar
   - Traces: https://console.cloud.google.com/traces/list?project=foo-bar

Press Ctrl+C to exit.
^C
👋 Shutting down...
⚙️  Disabled telemetry in workspace settings.
🔧 Cleared telemetry OTLP endpoint.
🎯 Cleared telemetry target.
 Workspace settings updated.
🛑 Stopping otelcol-contrib (PID: 17013)...
 otelcol-contrib stopped.
```
2025-06-15 00:47:32 -04: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
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
643bdf31d5
feat: Add custom URL support for the /bug command (#1017) 2025-06-14 07:00:24 +00:00
Jacob MacDonald
d5c6bb9740
Add /compress command to force a compression of the context (#986)
Related to https://b.corp.google.com/issues/423605555 - I figured this might be a simpler solution to start with, while still also being useful on its own even if we do implement that.
2025-06-14 04:21:40 +00:00
Marlon Gamez
defb0fac2c
fix: remove quota project override in non-streaming calls to CCPA (#1032) 2025-06-14 01:23:12 +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
Brandon Keiji
209381f06f
fix: add micromatch to package deps (#1020) 2025-06-13 22:18:05 +00: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
Shreya Keshive
1fa41af918
Support MCP StreamableHTTPClientTransport (#1014) 2025-06-13 16:18:06 -04: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
Jerop Kipruto
1f63f3331f
Revert "Telemetry: Auto-export to GCP if GOOGLE_CLOUD_PROJECT is set" (#1011) 2025-06-13 10:27:22 -07: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
N. Taylor Mullen
7bcc60e996
refactor: Use default centralized Flash & Pro models everywhere (#994) 2025-06-13 08:25:42 +00:00
Jerop Kipruto
95e4a60a83
Telemetry: Auto-export to GCP if GOOGLE_CLOUD_PROJECT is set (#1003)
This change simplifies telemetry setup for users who want to integrate with GCP, as they no longer need to configure a local collector or an explicit endpoint if their project is already set up in the environment.

This change updates the telemetry system to automatically export traces, logs, and metrics to Google Cloud Platform (GCP) if the `GOOGLE_CLOUD_PROJECT` environment variable is set and no explicit `telemetryOtlpEndpoint` is configured by the user.

Key changes:
-   The default `telemetryOtlpEndpoint` in `Config` is now an empty string.
-   The `initializeTelemetry` SDK logic now prioritizes:
    -  User-defined `telemetryOtlpEndpoint`.
    -  `GOOGLE_CLOUD_PROJECT` for direct GCP export.
    -  Console exporters as a fallback.
-   If an invalid `telemetryOtlpEndpoint` is provided, it falls back to console exporters with a warning.

#750
2025-06-13 03:51:41 -04: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
Marat Boshernitsan
8bb6eca915
Improvements to CLI's ability to perform refactoring. Includes additions to the system prompt and GEMINI.md. (#955)
Co-authored-by: Marat Boshernitsan <maratb@google.com>
Co-authored-by: DeWitt Clinton <dclinton@gmail.com>
2025-06-12 23:55:41 -07:00
Tommaso Sciortino
28e656f882
Improve some tools to support abortSignal (#997) 2025-06-12 19:46:00 -07:00
Marlon Gamez
1c7774e35b
Use allowedTiers from LoadCodeAssist response when calling OnboardUser (#995)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Jerop Kipruto <jerop@google.com>
Co-authored-by: Marat Boshernitsan <maratb@nitsan.org>
Co-authored-by: Marat Boshernitsan <maratb@google.com>
2025-06-13 02:32:13 +00:00
Tommaso Sciortino
431ee839a0
Code Assist cleanup and docs (#993) 2025-06-12 18:00:17 -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
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
Jerop Kipruto
6723c72fa5
telemetry: include user decisions in tool call logs (#966)
Add the user's decision (accept, reject, modify) to tool call telemetry to better understand user intent. The decision provides crucial context to the `success` metric, as a user can reject a call that would have succeeded or accept one that fails. 

Also prettify the arguments json.

Example: 
![image](https://github.com/user-attachments/assets/251cb9fc-ceaa-4cdd-929c-8de47031aca8)

#750
2025-06-12 20:48:10 +00:00
Tommaso Sciortino
f8863f4d00
Make glob tool support abortSignal (#988) 2025-06-12 13:27:40 -07:00
Leo
ad2e47dc20
remove enable editor flag (#984) 2025-06-12 17:28:20 +00:00
Tommaso Sciortino
47ce39c46f
Convert CCPA requests to proper format (#981)
CCPA uses a different format than GenAi. This adds conversion code to get it to the right format.

Note that this doesn't work against the current ccpa staging server, The changes it needs are in cl/770266927
2025-06-12 09:33:49 -07:00
DeWitt Clinton
f2ab6d08c4
Improve the performance of filename completion over large repositories. (#938) 2025-06-12 07:09:38 -07:00
anj-s
6fc7028031
Revert "Add support for local logging per session (#936)" (#970) 2025-06-11 21:59:46 -07:00
Jerop Kipruto
89f682f081
Telemetry: Improve clarity of user prompt event (#967) 2025-06-11 21:43:00 -04:00
Leo
1ef68e0612
feat: External editor settings (#882) 2025-06-11 18:21:54 -07:00
anj-s
2dc79b3bd0
Add support for local logging per session (#936) 2025-06-11 15:05:41 -07:00
JingboWang1997-1
6ecdecbdcc
add excludeTools flag to settings.json config (#957) 2025-06-11 14:32:23 -07:00
Seth Troisi
122678cc09
clean chat history before /resume (#949) 2025-06-11 13:40:44 -07:00
matt korwel
4160d904da
Extensibility: Gemini.md files (#944) 2025-06-11 20:34:35 +00:00
Tommaso Sciortino
24c61147b8
Cache oauth credentials (#927) 2025-06-11 13:26:41 -07:00
jerop
c0580eaf4b feat(telemetry): expand cli configuration event
Adds the following attributes to the  event:
- embedding_model
- api_key_enabled
- code_assist_enabled
- debug_mode
- mcp_servers

This additional data will provide more insight into user configurations.
2025-06-11 16:22:35 -04:00
Louis Jimenez
e0f4f428fc
Restore Checkpoint Feature (#934) 2025-06-11 15:33:09 -04:00
jerop
03bc1f3141 feat(telemetry): Update API response in telemetry
Adds the text content of the API response to the  telemetry event. This provides more context for debugging and analysis without logging the entire, potentially large, response object.

- Adds an optional  field to the  type.
- Updates  to include the  field in the logged attributes.
- Modifies the  to extract the response text using  and pass it to the logger.
- Adds a new test file for the telemetry loggers, including tests for the  function to verify the new functionality.
2025-06-11 14:18:16 -04: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
7ba2b13870 update token usage with types 2025-06-11 10:38:07 -04:00
Anas Sulaiman
00c4527a1b unify diff generation before and after an edit 2025-06-11 09:47:11 -04:00
jerop
3f5ac384cc update from metrics and logs prefix from gemini_code to gemini_cli 2025-06-11 01:28:26 -04:00
jerop
d1e23b7c71 refactor: Centralize session ID generation and propagation 2025-06-11 01:18:40 -04:00
Tommaso Sciortino
95fdc66e7d
Register dependency added in PR:910 (#925) 2025-06-10 20:39:29 -07:00
Seth Troisi
fb6e2927f7
Remove unneeded mockRestore()s from tests (#919) 2025-06-10 20:32:00 -07:00
Seth Troisi
8e0d5076d6
Add [tag] to /save and /resume (#916) 2025-06-10 16:58:39 -07:00
Seth Troisi
36f58a34b4 logConversation
loadConversation

/resume

clean up for review
2025-06-10 16:14:42 -07:00
Tommaso Sciortino
d79dafc577
Basic code assist support (#910) 2025-06-10 16:00:13 -07:00
jerop
fa27bc832f feat: enable gzip compression for otlp exporters 2025-06-10 17:30:50 -04:00
Abhi
9c3f34890f
feat: Add UI for /stats slash command (#883) 2025-06-10 15:59:52 -04:00
Olcan
e38d2078cc
restricted networking for all sandboxing methods, new seatbelt profiles, updated docs, fixes to sandbox build, debugging through sandbox (#891) 2025-06-10 08:58:37 -07:00
Tommaso Sciortino
895c1f132f
GEMINI_SANDBOX=false should disable seatbelt (#888) 2025-06-10 06:22:02 -07:00
Bryan Morgan
1e3abf96b5
addressed b/423798481 (#887) 2025-06-10 08:47:46 -04:00
Abhi
7f1252d364
feat: Display initial token usage metrics in /stats (#879) 2025-06-09 20:25:37 -04:00
Eddie Santos
6484dc9008
Add Windsurf in edit tool to modify changes, if installed (#853) 2025-06-09 16:01:06 -07:00