Commit Graph

136 Commits

Author SHA1 Message Date
Olcan
1f1dd4d321 fix self-reference in build script (#5548) 2025-08-05 01:12:21 +00:00
Niladri Das
18d5c25e69 fix: CLAUDE.md compatibility for GEMINI.md '@' file import behavior (#2978)
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Allen Hutchison <adh@google.com>
2025-07-31 16:36:50 +00:00
Shreya Keshive
f9be241bcf Exclude companion extension from release versioning (#5226)
Co-authored-by: Jacob Richman <jacob314@gmail.com>
2025-07-30 22:49:26 +00:00
christine betts
350854abf6 Move vscode extension build into its own command (#4799) 2025-07-24 18:40:50 +00:00
anthony bushong
4aa7028628 fix: handle cross-device issues with running otel collector (#4458) 2025-07-21 19:44:18 +00:00
Abhi
8e853aeed0 (fix): broken releases and e2e workflows (#4428) 2025-07-18 04:10:58 +00:00
Shreya Keshive
4d8cb0bdf2 Include companion VS Code extension VSIX as part of build/release (#4254) 2025-07-16 19:06:39 +00:00
Abhi
3effba5ba0 Fix(ci): Correct container publishing pipeline and improve robustness (#4093) 2025-07-14 04:19:58 +00:00
matt korwel
688131f29a chore(release): v0.1.10 (#3749)
Co-authored-by: Gaurav <39389231+gsquared94@users.noreply.github.com>
Co-authored-by: Aryan Sawant <156219699+aryanjsawant@users.noreply.github.com>
Co-authored-by: neo.alienson <neo@01man.com>
2025-07-10 16:55:22 +00:00
Sandy Tao
49aad54a0f Fix infinite loop in start.js on Windows (#3506) 2025-07-08 03:49:22 +00:00
matt korwel
efd3983fa4 Release and Packaging: Clean up (#3489) 2025-07-07 23:36:51 +00:00
matt korwel
0b58991577 Relase: Clean up and condensing (#3321) 2025-07-05 20:58:59 +00:00
Didier Durand
b8ac12b382 fix typos in diverse files (#3284)
Co-authored-by: Scott Densmore <scottdensmore@mac.com>
2025-07-05 15:23:39 +00:00
matt korwel
7fd62c5ebd Signing tags (#3254) 2025-07-04 22:04:05 +00:00
matt korwel
ebaabd5e29 Releasing: Utilizing Github Actions and Tagging for release. (#2852)
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: N. Taylor Mullen <ntaylormullen@google.com>
2025-07-04 03:57:01 +00:00
MirzaSamadAhmedBaig
9873a75065 Make clean script cross-platform (#1990)
Co-authored-by: Scott Densmore <scottdensmore@mac.com>
2025-07-01 15:30:18 +00:00
JimmyLiao
f1e42d5671 fix: Correct start script reference in create_alias.sh (#1487) 2025-06-28 23:28:44 +00:00
Billy Biggs
0a6dddca9a Inline the description and schema of the shell tool in the source (#1709) 2025-06-28 09:53:03 +00:00
Mot
1d121f8d73 quiet dotenv log message (#2239)
Co-authored-by: Scott Densmore <scottdensmore@mac.com>
2025-06-28 02:03:20 +00:00
DongJin Jeong
1018a14e5c Fix typos and formatting issues (#1480) 2025-06-27 10:31:42 +00:00
Brandon Keiji
6cd8bb4aa5 feat: add prepublishOnly checks (#2052) 2025-06-26 23:49:43 +00:00
Brandon Keiji
dcceabc16c fix: add repository field to package.jsons (#2032) 2025-06-26 22:36:34 +00:00
Brandon Keiji
5d90cc0cf5 feat: add release trigger configuration (#1697) 2025-06-26 01:54:58 +00:00
Brandon Keiji
5ad4a0a826 fix: prepublish changes to package names (#1420) 2025-06-25 12:41:11 +00:00
Jacob Richman
7c0317fb30 Jacob314/max old space (#1314) 2025-06-24 14:18:55 -07:00
Jerop Kipruto
9012776950 docs: update telemetry documentation and scripts (#1318) 2025-06-23 06:10:26 +01:00
Louis Jimenez
986691bc70 Move the otel folder out of project root .gemini and into user home dir (#1188) 2025-06-19 21:09:05 -04:00
Brandon Keiji
c23e2f6f63 refactor: remove docker tagging step from sandbox publishing (#1223) 2025-06-19 12:19:39 -07:00
Leo
a288f09aeb add sandboxImageName in package.json (#1219) 2025-06-19 11:50:34 -07:00
Brandon Keiji
c70db2dcd0 refactor: consolidate container image tag source of truth to cli package.json (#1156) 2025-06-18 19:43:12 +00:00
matt korwel
fbe69c2135 Preflight and integration npx (#1096) 2025-06-16 15:27:29 +00:00
Zach Sais
8e147263db fix version release for Dockerfile build (#1080) 2025-06-16 06:13:39 +00:00
Jerop Kipruto
e741fc2205 Decouple telemetry project ID configuration (#1077)
#750 

Renames project ID for telemetry from `GOOGLE_CLOUD_PROJECT` to `OTLP_GOOGLE_CLOUD_PROJECT`.

This change allows for a separate Google Cloud Project to be used for telemetry data, distinct from the project used for other services like Vertex AI or Code Assist. This enhances clarity and flexibility in project configuration.
2025-06-16 01:12:57 +00:00
Jerop Kipruto
80f93154b1 Refactor: Use telemetry_utils.js in local_telemetry.js (#1066)
## TLDR

Refactors `scripts/local_telemetry.js` to use shared helper functions and constants from `scripts/telemetry_utils.js`.

## Dive Deeper

This change centralizes common telemetry-related logic, including:
- Binary downloading and management (`ensureBinary`)
- Reading and writing JSON files
- Waiting for network ports
- Managing workspace telemetry settings (`manageTelemetrySettings`)
- Process cleanup and signal handling (`registerCleanup`)

By using the shared utilities, `local_telemetry.js` becomes more concise and focused on its specific task of setting up the local OpenTelemetry and Jaeger environment.

## Docs

https://github.com/google-gemini/gemini-cli/blob/main/docs/core/telemetry.md#local-telemetry-with-jaeger-ui-for-traces

## Issue

#750
2025-06-15 19:32:12 +00:00
Billy Biggs
75b3ff1487 Avoid import.meta.dirname to be backwards compatible to Node.js 18+ (#1058) 2025-06-15 05:30:00 +00:00
Jerop Kipruto
ab714f9116 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
Jerop Kipruto
4ad17152c2 docs: clarify telemetry script usage (#1034)
Updates the telemetry documentation and the GCP telemetry script to make it clearer that the Gemini CLI needs to be run in a separate terminal session after starting the collector script.

This addresses potential user confusion where they might expect telemetry data to appear without actively using the CLI.

#750
2025-06-14 14:49:21 +00:00
Jerop Kipruto
aa1421825b Add GCP telemetry script (#1033)
Adds a script -  `scripts/telemetry_gcp.js` - to simplify setting up a local OpenTelemetry collector that forwards data to Google Cloud. This is a follow up to the script for local telemetry `scripts/local_telemetry.js` added in #1015.

This script automates downloading necessary binaries, configuring the collector, and updating workspace settings.

Also includes `scripts/telemetry_utils.js` with shared helper functions for telemetry scripts. Will refactor `scripts/local_t elemetry.js` in next steps to use this shared functionality.

Updates `docs/core/telemetry.md` to include:
- A new "Quick Start" section
- Detailed instructions for the new GCP automated script
- Reorganization of existing sections for clarity

#750 

---
```
 Starting Local Telemetry Exporter for Google Cloud 
⚙️  Enabled telemetry in workspace settings.
🔧 Set telemetry OTLP endpoint to http://localhost:4317.
 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: 65145)...
 OTEL collector started successfully on port 4317.

 Local OTEL collector for GCP is running.

📄 Collector logs are being written to: /Users/jerop/github/gemini-cli/.gemini/otel/collector-gcp.log

📊 View your telemetry data in Google Cloud Console:
   - Traces: https://console.cloud.google.com/traces/list?project=foo-bar
   - Metrics: https://console.cloud.google.com/monitoring/metrics-explorer?project=foo-bar
   - Logs: https://console.cloud.google.com/logs/query;query=logName%3D%22projects%2Ffoo-bar%2Flogs%2Fgemini_cli%22?project=foo-bar

Press Ctrl+C to exit.
^C
👋 Shutting down...
⚙️ Disabled telemetry in workspace settings.
🔧 Cleared telemetry OTLP endpoint.
 Workspace settings updated.
🛑 Stopping otelcol-contrib (PID: 65145)...
 otelcol-contrib stopped.
```
2025-06-13 23:28:18 -04:00
Keir Mierle
f27809703d Add a local telemetry launcher (#1015) 2025-06-13 18:08:03 -07:00
Olcan
b86e3edfa7 fixes to proxy on macos: prevent curl from hanging during wait-for-proxy by adding ipv6 support and timeout (#947) 2025-06-11 11:31:38 -07:00
Zach Sais
09ddf6eb71 fix version set for cli and slash commands (#892) 2025-06-11 08:25:26 -05:00
Tommaso Sciortino
e2ae6cef9d Remove warnings for old env var names. (#920) 2025-06-10 18:34:36 -07:00
Seth Troisi
6c372b35ca Fix debug to work when not running under a sandbox 2025-06-10 13:33:18 -07: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
Olcan
4e50f7cca9 strip json comments in newly created sandbox_command.js (consistent w/ bash version) (#886) 2025-06-10 00:33:42 -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
Olcan
7c5de0ce31 replace reference to "README" with "docs" to avoid confusion for folks who do not have access to README (#866) 2025-06-08 19:19:33 -07:00
matt korwel
334a7e0070 fix(deps): externalize tree-sitter (#840)
Submitting without approval to fix broken deployment on main. But also, we should lock this down.
2025-06-08 02:05:55 -07:00
Keith Ballinger
19ba269a8c Makefile for convenience (#833) 2025-06-07 22:22:32 -07:00
cperry-goog
a49f734c13 refactor: rename gemini-code to gemini-cli (#822) 2025-06-07 14:27:22 -07:00