Commit Graph

91 Commits

Author SHA1 Message Date
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
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
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
Brandon Keiji d7a304bcff
feat(memory): make directory search limit on memory discovery configurable with settings.json (#4460) 2025-07-23 21:48:35 +00:00
smhendrickson 9d3164621a
add `--telemetry-outfile` flag (#4689) 2025-07-23 21:48:24 +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
Marat Boshernitsan 5066bc5384
Refactor the logic for deciding whether to launch a browser into config (#4622) 2025-07-21 23:23:28 +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
Pyush Sinha a01b1219a3
feat: full implementation for .geminiignore in settings and respective tool calls (#3727) 2025-07-20 07:55:33 +00: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
Billy Biggs 18c3bf3a42
Summarize extensions and MCP servers on startup (#3977) 2025-07-18 18:45:00 +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
Sandy Tao cba272082d
Run model availability check in the background to speed up startup (#4256) 2025-07-16 04:13:30 +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
Abhi 9dc812dd4b
fix(checkpoint): Prevent silent failure and enable for non-Git projects (#4144) 2025-07-14 17:23:51 +00:00
Shreya Keshive fadc477001
Add feature flag for IDE integration (#3927)
Co-authored-by: Scott Densmore <scottdensmore@mac.com>
2025-07-14 16:04:08 +00:00
Yuki Okita 890982a811
fix(core): make the commented-out test workable (#3885) 2025-07-12 19:13:22 +00:00
Bryan Morgan cdbe2fffd9
Added in proper checks for customer tiers in 429/Quota error messaging (#3863)
Co-authored-by: Ioannis Papapanagiotou <iduckhd@hotmail.com>
2025-07-11 15:25:30 +00:00
anj-s c9e1e6d3bd
Add support for specifying maxSessionTurns via the settings configuration (#3507) 2025-07-11 14:55:03 +00:00
Seth Troisi 8a128d8dc6
Add NO_BROWSER environment variable to trigger offline oauth flow (#3713) 2025-07-11 01:59:02 +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
Billy Biggs c0940a194e
Add a command line option to enable and list extensions (#3191) 2025-07-08 16:57:34 +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
Abhi aa10ccba71
feature(commands) - Refactor Slash Command + Vision For the Future (#3175) 2025-07-07 20:45:44 +00:00
Jordan Demeulenaere 355fb4ac67
Add excludeTools and includeTools to mcpServers config (#2976) 2025-07-07 16:34:26 +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
Jerop Kipruto d8d78d73f9
feat: allow command-specific restrictions for ShellTool (#2605) 2025-06-29 19:32:26 +00:00
Noritaka Kobayashi b980a47879
refactor: remove imported multiple times (#1846) 2025-06-29 09:09:15 +00:00
Tommaso Sciortino a2a46c7c67
Add privacy notice slash command (#2059) 2025-06-27 19:07:38 +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
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
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
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
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
Billy Biggs 0779697da6
Add setting enableRecursiveFileSearch to control @-file completion (#1290) 2025-06-22 01:23:35 +00:00
N. Taylor Mullen 787c319e87
feat: Update default Gemini Flash model to 2.5 (#1241) 2025-06-20 05:54:00 +00:00
Louis Jimenez 6c67618624
Make checkpoints configurable in settings.json (#1251) 2025-06-20 00:39:15 -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
Brandon Keiji 332512853e
feat: consolidate sandbox configurations into a single object (#1154) 2025-06-18 17:01:00 +00:00
N. Taylor Mullen 0da4fd9d11
feat: update default gemini model to GA 2.5 pro (#1173) 2025-06-17 23:08:04 -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 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
Anas H. Sulaiman 4873fce791
centralize file filtering in `FileDiscoveryService` (#1039) 2025-06-14 14:25:34 +00:00