summaryrefslogtreecommitdiff
path: root/packages/core/src/config
AgeCommit message (Collapse)Author
2025-06-18feat: consolidate sandbox configurations into a single object (#1154)Brandon Keiji
2025-06-17feat: update default gemini model to GA 2.5 pro (#1173)N. Taylor Mullen
2025-06-15fix(core): Improve shell tool reliability and test portability (#1036)Sijie Wang
2025-06-15Add telemetry command and refactor telemetry settings (#1060)Jerop Kipruto
#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 > [email protected] 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-14centralize file filtering in `FileDiscoveryService` (#1039)Anas H. Sulaiman
2025-06-14feat: Add custom URL support for the /bug command (#1017)Allen Hutchison
2025-06-13initialize `FileDiscoveryService` once (#1029)Anas H. Sulaiman
2025-06-13Support MCP StreamableHTTPClientTransport (#1014)Shreya Keshive
2025-06-13Revert "Telemetry: Auto-export to GCP if GOOGLE_CLOUD_PROJECT is set" (#1011)Jerop Kipruto
2025-06-13Update contextFileName to support an optional list of strings (#1001)Billy Biggs
2025-06-13cleanup unused `allowBuildArtifacts` (#1010)Anas H. Sulaiman
2025-06-13Add web socket protocol support for IDE MCP server (#987)Shreya Keshive
Co-authored-by: matt korwel <[email protected]>
2025-06-13refactor: Use default centralized Flash & Pro models everywhere (#994)N. Taylor Mullen
2025-06-13Telemetry: Auto-export to GCP if GOOGLE_CLOUD_PROJECT is set (#1003)Jerop Kipruto
This change simplifies telemetry setup for users who want to integrate with GCP, as they no longer need to configure a local collector or an explicit endpoint if their project is already set up in the environment. This change updates the telemetry system to automatically export traces, logs, and metrics to Google Cloud Platform (GCP) if the `GOOGLE_CLOUD_PROJECT` environment variable is set and no explicit `telemetryOtlpEndpoint` is configured by the user. Key changes: - The default `telemetryOtlpEndpoint` in `Config` is now an empty string. - The `initializeTelemetry` SDK logic now prioritizes: - User-defined `telemetryOtlpEndpoint`. - `GOOGLE_CLOUD_PROJECT` for direct GCP export. - Console exporters as a fallback. - If an invalid `telemetryOtlpEndpoint` is provided, it falls back to console exporters with a warning. #750
2025-06-12Reduce coupling between core and cli packages (#961)Marat Boshernitsan
Co-authored-by: Marat Boshernitsan <[email protected]>
2025-06-12remove enable editor flag (#984)Leo
2025-06-11add excludeTools flag to settings.json config (#957)JingboWang1997-1
2025-06-11Restore Checkpoint Feature (#934)Louis Jimenez
2025-06-11refactor: Centralize session ID generation and propagationjerop
2025-06-10GEMINI_SANDBOX=false should disable seatbelt (#888)Tommaso Sciortino
2025-06-09Simplify user agent handling. (#828)Tommaso Sciortino
2025-06-08Rollforward AST changes to unblock Sandboxing (#863)matt korwel
2025-06-08Revert "Add batch editing capabilities to Edit Tool (#648)" (#857)N. Taylor Mullen
2025-06-08feat: Add flow to allow modifying edits during edit tool call (#808)Leo
2025-06-07Introduce ContentGeneratorConfig (#826)Tommaso Sciortino
2025-06-07Bryanmorgan/add mcp description support (#825)Bryan Morgan
2025-06-07Eliminate createServerConfig() (#821)Tommaso Sciortino
2025-06-07Add embedder (#818)Eddie Santos
2025-06-07Creating Node AST Tool. (#756)matt korwel
2025-06-07More version simplifiction. (#810)Tommaso Sciortino
2025-06-06Add batch editing capabilities to Edit Tool (#648)Keith Ballinger
Co-authored-by: N. Taylor Mullen <[email protected]>
2025-06-05OpenTelemetry Integration & Telemetry Control Flag (#762)Jerop Kipruto
2025-06-05Add support for `.geminiignore` file (#757)Eddie Santos
2025-06-04feat(accessibility): Add option to disable loading phrases (#745)N. Taylor Mullen
2025-06-04Ignore folders files (#651)Keith Ballinger
# Add .gitignore-Aware File Filtering to gemini-cli This pull request introduces .gitignore-based file filtering to the gemini-cli, ensuring that git-ignored files are automatically excluded from file-related operations and suggestions throughout the CLI. The update enhances usability, reduces noise from build artifacts and dependencies, and provides new configuration options for fine-tuning file discovery. Key Improvements .gitignore File Filtering All @ (at) commands, file completions, and core discovery tools now honor .gitignore patterns by default. Git-ignored files (such as node_modules/, dist/, .env, and .git) are excluded from results unless explicitly overridden. The behavior can be customized via a new fileFiltering section in settings.json, including options for: Turning .gitignore respect on/off. Adding custom ignore patterns. Allowing or excluding build artifacts. Configuration & Documentation Updates settings.json schema extended with fileFiltering options. Documentation updated to explain new filtering controls and usage patterns. Testing New and updated integration/unit tests for file filtering logic, configuration merging, and edge cases. Test coverage ensures .gitignore filtering works as intended across different workflows. Internal Refactoring Core file discovery logic refactored for maintainability and extensibility. Underlying tools (ls, glob, read-many-files) now support git-aware filtering out of the box. Co-authored-by: N. Taylor Mullen <[email protected]>
2025-06-03Fix: Ensure MCP tools are discovered from slow-starting servers (#717)N. Taylor Mullen
2025-06-03Refactor: Make MCP server discovery non-blocking (#716)N. Taylor Mullen
2025-06-02refactor: maintain 1 GeminiChat per GeminiClient (#710)Brandon Keiji
2025-06-02Refactor: Centralize GeminiClient in Config (#693)Scott Densmore
Co-authored-by: N. Taylor Mullen <[email protected]>
2025-06-02prefer to load gemini-specific .env file from .gemini folder when it exists โ†ตOlcan
there (#697)
2025-06-02feat: Add --yolo mode that automatically accepts all tools executions (#695)Tolik Malibroda
Co-authored-by: N. Taylor Mullen <[email protected]>
2025-06-02enable async tool discovery by making the registry accessor async; remove โ†ตOlcan
call to discoverTools that caused duplicate discovery (#691)
2025-05-31Revert "cleanup: removed duplicate check from Config.registerCoreTool()" (#657)Bryan Morgan
Didn't notice the casing difference - duh....
2025-05-31cleanup: removed duplicate check from Config.registerCoreTool() (#656)Bryan Morgan
2025-05-31feat: allow custom filename for context files (#654)Allen Hutchison
Co-authored-by: N. Taylor Mullen <[email protected]>
2025-05-30Rename server->core (#638)Tommaso Sciortino