Commit Graph

733 Commits

Author SHA1 Message Date
Tommaso Sciortino
8bc3b415c9 Refactor in preparation for Reauth (#1196) 2025-06-18 16:34:00 -07:00
Brandon Keiji
cc89830b2a refactor: consolidate container image tag source of truth to cli package.json (#1156) 2025-06-18 19:43:12 +00:00
Allen Hutchison
fbc79c34c9 Fix noise in headless mode on STDOUT (#1184) 2025-06-18 11:40:15 -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
Anas H. Sulaiman
63fbc8ce18 fix: regression in completion filtering (#1135) 2025-06-18 05:05:47 +00:00
Abhi
f3c1cbbabf feat: shell history (#1169) 2025-06-17 22:17:16 -04:00
Billy Biggs
708ba8902a Support escaping carriage returns with \ (#1127) 2025-06-17 10:03:05 -07: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
Eddie Santos
c3971754bf Auto-update notifications (#1110) 2025-06-17 15:24:07 +00:00
Miguel Solorio
137baa0a07 Update /help page (#1119) 2025-06-16 20:13:33 -07:00
Jacob Richman
a7e45d47cd Fix bug where single line inserts were deleting all text after the in… (#1114) 2025-06-16 15:21:22 -07:00
Tommaso Sciortino
bf62c3b21a Mock out 'open' in tests. Fix test issues. (#1100) 2025-06-16 11:12:42 -07:00
matt korwel
df938d6ee8 Preflight and integration npx (#1096) 2025-06-16 15:27:29 +00:00
Abhi
6af7a5c589 feat: clear should also clear chat history (#1008) 2025-06-16 06:33:59 +00:00
Jacob Richman
5d4f4f421c feat: text-buffer: input sanitization and delete character handling. (#1031) 2025-06-16 06:25:11 +00:00
N. Taylor Mullen
742caa5dd8 feat(cli): Standardize keyboard shortcut hints (#1092) 2025-06-16 06:21:58 +00:00
Zach Sais
cc7459e403 fix version release for Dockerfile build (#1080) 2025-06-16 06:13:39 +00:00
Billy Biggs
40fbb61a1b Update /tools desc to show the name of each tool as known to the model (#1091) 2025-06-15 23:09:53 -07:00
N. Taylor Mullen
197704c630 feat(test): Increase test coverage across CLI and Core packages (#1089) 2025-06-15 22:41:32 -07:00
Mark McDonald
ffc48b16d4 Add Vertex env vars to sandbox (#1005)
Co-authored-by: Scott Densmore <scottdensmore@github.com>
2025-06-16 02:55:13 +00:00
Abhi
bedff2ca79 feat: Adds shell command context to gemini history (#1076) 2025-06-15 22:09:30 -04:00
N. Taylor Mullen
4463671284 refactor(cli): Use excludeTools for non-interactive mode (#1072) 2025-06-15 16:05:40 -07:00
Jerop Kipruto
101b6fe767 Stabilize /bug command tests with consistent version mocking (#1070)
The `/bug` command tests in `slashCommandProcessor.test.ts` were flaky due to inconsistent CLI versioning.

This commit:
- Implements a flexible, top-level mock for `getCliVersion` that can be overridden per test.
- Sets a default mock value for `/bug` command tests via `beforeEach`.
- Overrides the mock in one test case requiring a specific version ('test-version').
- Ensures the test's helper `getExpectedUrl` receives the correct explicit version.
- Aligns the expected CLI version in the custom bug URL test with the default mock.

These changes ensure consistent CLI versioning in tests, resolving flakiness.

#1071
2025-06-15 16:35:15 -04:00
Billy Biggs
b67806ae9a Support completion of checkpoint names in /resume (#1063) 2025-06-15 11:40:39 -07:00
Billy Biggs
6959663646 Add support for /mcp schema to show full parameter schema as JSON (#1050)
Outputs a raw JSON version of the parameter names and descriptions as provided to the model, plus minor formatting adjustments to /mcp desc.
2025-06-15 11:25:40 -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
Billy Biggs
da09431be9 Add support for showing descriptions of CLI tools (#1052)
Adds support for /tools desc to show the full description of tools as provided to the model.
2025-06-15 07:56:07 -07:00
N. Taylor Mullen
12c33c1fe6 feat(cli): add glob as a direct dependency (#1065) 2025-06-15 00:50:26 -07: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
Leo
e544b940f1 bug: Fix code colorizer (#1046) 2025-06-14 21:27:53 +01: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
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
Keir Mierle
9954779739 Add a local telemetry launcher (#1015) 2025-06-13 18:08:03 -07: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
Tommaso Sciortino
a2fe3d2ad0 Stop extension MCPs from hopping into settings. (#1026) 2025-06-13 14:51:29 -07: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
Tommaso Sciortino
491e367f7c Don't exclude config.test.ts. (#1021) 2025-06-13 20:07:46 +00:00
Daniel Lee
daceb9963f feat(cli): support ctrl+d to exit (#878)
Similar to ctrl+c, ctrl+d can now be used to exit the program. To avoid accidental exit, ctrl+d must be pressed twice in relatively quick succession (same as ctrl+c).

Following common UX pattern, ctrl+d will be ignored when the input prompt is non-empty. This behavior is similar to how most shell (bash/zsh) behaves. To support this, I had to refactor so that text buffer is initialized outside of the InputPrompt component and instead do it on the main App component to allow input controller to have access to check the content of the text buffer.
2025-06-13 16:59:09 +00: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
Leo
d25459d815 Edit wording in /edit description (#1006) 2025-06-13 15:36:51 +00:00
Mark McDonald
ff478781ad Support GOOGLE_API_KEY hoisting in sandbox too (#998) 2025-06-13 08:32:15 +00:00