Commit Graph

116 Commits

Author SHA1 Message Date
Anas H. Sulaiman 082a65caa5 cleanup unused allowBuildArtifacts (#1010) 2025-06-13 12:00:38 -04:00
Anas H. Sulaiman 43cfdde579 cleanup unused customIgnorePatterns (#1009) 2025-06-13 11:49:48 -04:00
Shreya Keshive 09f34e4f39 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 7ec11849ae refactor: Use default centralized Flash & Pro models everywhere (#994) 2025-06-13 08:25:42 +00:00
Jerop Kipruto fc93f49fed 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 bea4a403ee 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 32d007de3c 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 920dd6990f Improve some tools to support abortSignal (#997) 2025-06-12 19:46:00 -07:00
Marlon Gamez 8bc23cfea2 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 eeda52b896 Code Assist cleanup and docs (#993) 2025-06-12 18:00:17 -07:00
matt korwel 097cfebfa3 Revert "Make glob tool support abortSignal" (#996) 2025-06-13 00:53:10 +00:00
Marat Boshernitsan 53ac32ee56 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 c822082ac2 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 650881237c 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 a866e2ac68 Make glob tool support abortSignal (#988) 2025-06-12 13:27:40 -07:00
Leo 31710f0ef3 remove enable editor flag (#984) 2025-06-12 17:28:20 +00:00
Tommaso Sciortino 55770f5bee 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 abf623a1a9 Improve the performance of filename completion over large repositories. (#938) 2025-06-12 07:09:38 -07:00
anj-s b6665d82e5 Revert "Add support for local logging per session (#936)" (#970) 2025-06-11 21:59:46 -07:00
Jerop Kipruto 72b9e1a414 Telemetry: Improve clarity of user prompt event (#967) 2025-06-11 21:43:00 -04:00
Leo cb4b803f5b feat: External editor settings (#882) 2025-06-11 18:21:54 -07:00
anj-s 3c1f01896d Add support for local logging per session (#936) 2025-06-11 15:05:41 -07:00
JingboWang1997-1 1418c37801 add excludeTools flag to settings.json config (#957) 2025-06-11 14:32:23 -07:00
Seth Troisi 3acbb8a45d clean chat history before /resume (#949) 2025-06-11 13:40:44 -07:00
matt korwel d41d58afa5 Extensibility: Gemini.md files (#944) 2025-06-11 20:34:35 +00:00
Tommaso Sciortino 3da4b71ae1 Cache oauth credentials (#927) 2025-06-11 13:26:41 -07:00
jerop 759e87c623 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 b19571d9ab Restore Checkpoint Feature (#934) 2025-06-11 15:33:09 -04:00
jerop 6fed4a26c0 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 47b87a05f1 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 4c75318f81 feat(core): Create BFS file search utility (#903) 2025-06-11 09:21:23 -07:00
jerop 1d55180091 update token usage with types 2025-06-11 10:38:07 -04:00
Anas Sulaiman 4323506f7f unify diff generation before and after an edit 2025-06-11 09:47:11 -04:00
jerop 727b4075e9 update from metrics and logs prefix from gemini_code to gemini_cli 2025-06-11 01:28:26 -04:00
jerop e8faf83c15 refactor: Centralize session ID generation and propagation 2025-06-11 01:18:40 -04:00
Tommaso Sciortino 1368f30b11 Register dependency added in PR:910 (#925) 2025-06-10 20:39:29 -07:00
Seth Troisi 8c5cc17f18 Remove unneeded mockRestore()s from tests (#919) 2025-06-10 20:32:00 -07:00
Seth Troisi 03e227aac5 Add [tag] to /save and /resume (#916) 2025-06-10 16:58:39 -07:00
Seth Troisi 5d58f520ed logConversation
loadConversation

/resume

clean up for review
2025-06-10 16:14:42 -07:00
Tommaso Sciortino 93cd4e20ab Basic code assist support (#910) 2025-06-10 16:00:13 -07:00
jerop 60e5299124 feat: enable gzip compression for otlp exporters 2025-06-10 17:30:50 -04:00
Abhi 41b82b00fa feat: Add UI for /stats slash command (#883) 2025-06-10 15:59:52 -04:00
Olcan 42f146f820 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 18dbf3a3a9 GEMINI_SANDBOX=false should disable seatbelt (#888) 2025-06-10 06:22:02 -07:00
Bryan Morgan 4ad96ab5c0 addressed b/423798481 (#887) 2025-06-10 08:47:46 -04:00
Abhi 833d6f2319 feat: Display initial token usage metrics in /stats (#879) 2025-06-09 20:25:37 -04:00
Eddie Santos ae80e767b3 Add Windsurf in edit tool to modify changes, if installed (#853) 2025-06-09 16:01:06 -07:00
Tommaso Sciortino 713dd4661f Code to support Oauth login (#881) 2025-06-09 15:14:06 -07:00
matt korwel 920aa861cf Windows: Refactor Shell Scripts to Node.js for Cross-Platform Compatibility (#784) 2025-06-09 12:19:42 -07:00
Abhi 8778942e11 Bump @google/genai dependency (#870) 2025-06-09 14:17:39 -04:00