Commit Graph

539 Commits

Author SHA1 Message Date
Eddie Santos c1486c47ee
fix: auto-update sandbox regression (#1221) 2025-06-19 21:40:10 +00:00
Jacob Richman b0bc7c3d99
Fix flicker issues by ensuring all actively changing content fits in the viewport (#1217) 2025-06-19 13:17:23 -07:00
Brandon Keiji 10a83a6395
refactor: remove docker tagging step from sandbox publishing (#1223) 2025-06-19 12:19:39 -07:00
Leo 0ebac0b896
add sandboxImageName in package.json (#1219) 2025-06-19 11:50:34 -07:00
Tommaso Sciortino 43203926b8
Initialize geminiClient in noninteractive mode (#1222) 2025-06-19 17:21:39 +00:00
N. Taylor Mullen 3621ea0cb6
Change sandbox default (#1214) 2025-06-19 02:15:02 -07:00
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