Commit Graph

101 Commits

Author SHA1 Message Date
Marat Boshernitsan
2ed1b378cb fix: Honor DEBUG and CLI_TITLE environment variables (#3560) 2025-07-08 19:34:17 +00:00
Billy Biggs
c0940a194e Add a command line option to enable and list extensions (#3191) 2025-07-08 16:57:34 +00:00
Jack Wotherspoon
ba58e077eb chore: add general usage message to --help message (#3500) 2025-07-08 01:13:31 +00:00
Tyler
6eccb474c7 refactor: rename allowed_mcp_server_names to allowed-mcp-server-names (#3469) 2025-07-07 19:47:27 +00:00
Tyler
229ae03631 Add --allowed_mcp_server_names flag (#3464) 2025-07-07 16:45:58 +00:00
Jack Wotherspoon
b70fba5b09 fix: respect env variables in .env for settings.json variable substitution (#3416) 2025-07-07 05:13:13 +00:00
Tommaso Sciortino
3492c429b9 Add excludedTools to extensions. (#2853) 2025-07-01 23:13:46 +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
Brandon Keiji
f6c36f75e3 fix: prepublish changes to package names (#1420) 2025-06-25 12:41:11 +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
Louis Jimenez
6c67618624 Make checkpoints configurable in settings.json (#1251) 2025-06-20 00:39:15 -04: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
Brandon Keiji
30d1662128 fix: check package.json for app version (#1160) (#1182) 2025-06-18 16:57:17 +00:00
Zach Sais
cc7459e403 fix version release for Dockerfile build (#1080) 2025-06-16 06:13:39 +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
Steren
e6d5477168 Fix 404 URL for Vertex Auth (#1040) 2025-06-14 08:25:08 +00:00
Allen Hutchison
643bdf31d5 feat: Add custom URL support for the /bug command (#1017) 2025-06-14 07:00:24 +00:00
Keir Mierle
9954779739 Add a local telemetry launcher (#1015) 2025-06-13 18:08:03 -07:00
Anas H. Sulaiman
8eb505fbba initialize FileDiscoveryService once (#1029) 2025-06-13 17:25:59 -07:00
Tommaso Sciortino
a2fe3d2ad0 Stop extension MCPs from hopping into settings. (#1026) 2025-06-13 14:51:29 -07:00
Tommaso Sciortino
54f0d9d0e5 Fix default extension context filename and update docs (#1024) 2025-06-13 13:57:00 -07:00
Anas H. Sulaiman
34e0d9c0b6 cleanup unused allowBuildArtifacts (#1010) 2025-06-13 12:00:38 -04:00
N. Taylor Mullen
7bcc60e996 refactor: Use default centralized Flash & Pro models everywhere (#994) 2025-06-13 08:25:42 +00:00
Tommaso Sciortino
431ee839a0 Code Assist cleanup and docs (#993) 2025-06-12 18:00:17 -07: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
Leo
ad2e47dc20 remove enable editor flag (#984) 2025-06-12 17:28:20 +00:00
JingboWang1997-1
6ecdecbdcc add excludeTools flag to settings.json config (#957) 2025-06-11 14:32:23 -07:00
matt korwel
4160d904da Extensibility: Gemini.md files (#944) 2025-06-11 20:34:35 +00:00
Louis Jimenez
e0f4f428fc Restore Checkpoint Feature (#934) 2025-06-11 15:33:09 -04:00
Zach Sais
5bab5a7378 fix version set for cli and slash commands (#892) 2025-06-11 08:25:26 -05:00
jerop
d1e23b7c71 refactor: Centralize session ID generation and propagation 2025-06-11 01:18:40 -04:00
Tommaso Sciortino
e92b7dfd74 Change yolo mode so it doesn't disable sandboxing. (#918) 2025-06-10 17:41:59 -07:00
Tommaso Sciortino
d79dafc577 Basic code assist support (#910) 2025-06-10 16:00:13 -07:00
Tommaso Sciortino
4e84431df3 Allow simple extensions for registering MCPservers (#890) 2025-06-10 15:48:39 -07:00
Tommaso Sciortino
895c1f132f GEMINI_SANDBOX=false should disable seatbelt (#888) 2025-06-10 06:22:02 -07:00
Seth Troisi
f11414a424 Use GOOGLE_API_KEY as default if both GEMINI and GOOGLE set (#777) 2025-06-09 13:54:11 -07:00
Tommaso Sciortino
0613062fc8 Simplify user agent handling. (#828) 2025-06-09 09:31:27 -07:00
Leo
9efca40dae feat: Add flow to allow modifying edits during edit tool call (#808) 2025-06-08 10:56:58 -07:00
Tommaso Sciortino
389907ce65 Introduce ContentGeneratorConfig (#826) 2025-06-07 16:17:27 -07:00
cperry-goog
18d6a11c04 refactor: rename gemini-code to gemini-cli (#822) 2025-06-07 14:27:22 -07:00
Tommaso Sciortino
d6cf4d5b0b Eliminate createServerConfig() (#821) 2025-06-07 13:49:00 -07:00
Eddie Santos
27fdd1b6e6 Add embedder (#818) 2025-06-07 13:38:05 -07:00
Tommaso Sciortino
6ea4479064 Push model-switching logging into loadCliConfig (#815) 2025-06-07 11:12:30 -07:00