summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-05-14Improvements to suggestions & slash commands (#344)Miguel Solorio
Co-authored-by: N. Taylor Mullen <[email protected]>
2025-05-14Add UI memory indicator. (#348)Allen Hutchison
Co-authored-by: Gregory Shikhman <[email protected]>
2025-05-14refactor: break submitQuery into smaller functions (#350)Brandon Keiji
2025-05-14This commit introduces the hierarchical memory feature, allowing GEMI… (#327)Allen Hutchison
2025-05-14improve sandboxing status message, update README, remove dead code from a ↵Olcan
previous change to build_sandbox.sh (#346)
2025-05-13Refactor TextBuffer to be a React hook (#340)Jacob Richman
2025-05-13fix: pass startup warnings to app as prop (#342)Brandon Keiji
2025-05-13refactor: move nested debugmessage and slashcommand hooks outside of ↵Brandon Keiji
useGeminiStream (#341)
2025-05-13Prevent flickering on confirmation decline.Taylor Mullen
- When larger confirmations were shown and then declined you'd typicaly get large chunks of content flickering upon typing or sending a subsequent request. This was primarily due to us leaving the latest confirmation as "updateable" / pending. This changeset addresses that by flushing any pending confirmation to the static container. Part of https://b.corp.google.com/issues/414196943
2025-05-13First step refactoring InputPrompt (#335)Jacob Richman
2025-05-13Use `Enter` on slash commands to execute (#334)Miguel Solorio
2025-05-13fall back to ~/.env if .env is not found in current directory or any ↵Olcan
ancestors (#338)
2025-05-13fix(sandbox): default to current user profile for debian/ubuntu env (#337)Brandon Keiji
2025-05-13mention `git diff --staged` for partial commits (#336)Olcan
2025-05-13fix: remove gemini-code bin configuration (#330)Brandon Keiji
2025-05-13use git diff HEAD instead of git diff && git diff --staged (#333)Olcan
2025-05-13Multiline editor (#302)Jacob Richman
Co-authored-by: Taylor Mullen <[email protected]>
2025-05-13refactor: shorten 'gemini' binary name (#329)Brandon Keiji
2025-05-13Allow users to cancel out of theme selector (#310)Miguel Solorio
2025-05-12Encourage utilization of `git diff --staged` for commit message writing.Taylor Mullen
- This enables GC to base commit message changes on actual file content.
2025-05-12feat: Enhance `replace` tool reliability with multi-stage edit correctionTaylor Mullen
This commit significantly improves the `replace` tool's robustness by introducing a multi-stage correction mechanism. This directly addresses challenges with LLM-generated tool inputs, particularly the over-escaping of strings sometimes observed with Gemini models, and other minor discrepancies that previously led to failed edits. The correction process is as follows: 1. **Targeted Unescaping:** The system first applies a specialized unescaping function to the `old_string` and `new_string` to counteract common LLM-induced escaping patterns. 2. **LLM-Powered Discrepancy Resolution:** If a unique match for the `old_string` is still not found, the system leverages a Gemini model (`gemini-2.5-flash-preview-04-17`) to: * Identify the most probable intended `old_string` in the file by intelligently correcting minor formatting or escaping differences. * Adjust the `new_string` to correspond with any corrections made to the `old_string`, maintaining the original edit's intent. This enhancement makes the `replace` tool more resilient and effective, leading to a higher success rate for automated code modifications. The `expected_replacements` parameter has been removed as the tool now focuses on finding a single, unique, and correctable match. The tool's description and error reporting have been updated to reflect these new capabilities. Fixes https://b.corp.google.com/issues/416933027
2025-05-12ensure no 'undefined' in system prompt (#322)Olcan
2025-05-12system prompt for working with git (#321)Olcan
2025-05-12When an error occurs stop processing.Taylor Mullen
2025-05-11feat: Add User-Agent to API requestsTaylor Mullen
This change introduces a User-Agent header to all API requests made by the Gemini CLI. The User-Agent string includes the CLI version, Node.js version, operating system, and architecture. This will help in tracking usage and identifying potential issues. Fixes https://b.corp.google.com/issues/416353675 Signed-off-by: Gemini
2025-05-11feat: Integrate centralized error reporting for API interactionsTaylor Mullen
Implements robust error handling for Gemini API calls, integrating with the centralized error reporting system. - API errors are now caught and reported to dedicated log files, providing detailed diagnostics without cluttering the user interface. - A concise error message is surfaced to the user in the UI, indicating an API issue. - Ensures any pending UI updates are processed before an API error is displayed. This change improves our ability to diagnose API-related problems by capturing rich error context centrally, while maintaining a clean user experience. Signed-off-by: Gemini <[email protected]>
2025-05-11Workaround model bug where it returns invalid history items.Taylor Mullen
- Currently there's a bug in the API (or SDK?) where the SDK endpoint will commonly fail with: ``` Error: Failed to generate JSON content: got status: 400 Bad Request. {"error":{"code":400,"message":"* GenerateContentRequest.contents[5].parts: contents.parts must not be empty.\n","status":"INVALID_ARGUMENT"}} ``` - At times the model will respond with an empty parts list where if we send that back up to the API endpoint it explodes with the above. Using a curated history seems like a total hack around this prolbem, and even in the SDK (i'm following up on this), BUT helps mitigate this issue.
2025-05-11Remove terminal tool and dependencies.Taylor Mullen
- We now solely use the shell tool. This deletes all content around the legacy terminal tool so we can focus on improving the new Shell tool. - Remove instances from sandboxing, tests, utilities etc.
2025-05-10Log server information on error.Taylor Mullen
- The goal of this is to enable us to better diagnose server issues when they occur. - Added tests because why not.
2025-05-10Don't prematurely end convo w/ Gemini.Taylor Mullen
- There seems to be a root model bug where the model will preemptively bail on conversations without trying harder. Typically the stops are VERY obvious and bug-looking where you need to prmopt the model to "continue". - This PR attempts to fix the above by running a 2.0-flash request (don't need somethign more powerful) at the end of every full interaction to see who should speak (user or model). - Add tests for nextSpeakerChecker Fixes https://b.corp.google.com/issues/416826051
2025-05-10Show model decline/cancellation states.Taylor Mullen
- Upon decline / cancellation we weren't showing the model the cancellation status or states. Therefore it didn't know why things would or wouldn't happen Fixes https://b.corp.google.com/issues/416797704
2025-05-10Enable tools to cancel active execution.Taylor Mullen
- Plumbed abort signals through to tools - Updated the shell tool to properly cancel active requests by killing the entire child process tree of the underlying shell process and then report that the shell itself was canceled. Fixes https://b.corp.google.com/issues/416829935
2025-05-09Make cancel not explode.Taylor Mullen
- We were console.erroring, throwing and early aborting. Instead we now treat cancels like a normal user message and show an indicator in the UI Fixes https://b.corp.google.com/issues/416515841
2025-05-09fix: Resolve infinite loopTaylor Mullen
- This change addresses and resolves an infinite loop. The patch ensures the loop condition is correctly handled, preventing its recurrence. - Added tests for markdownUtilities.test.ts Fixes: https://b.corp.google.com/issues/416795337 Signed-off-by: Gemini <My circuits hummed, and the loop was no more.>
2025-05-09fix for b/414940078 (#306)Allen Hutchison
2025-05-09feat: Update default Gemini model to gemini-2.5-pro-preview-05-06Taylor Mullen
Fixes https://b.corp.google.com/issues/416778280 Signed-off-by: Your Witty AI Assistant
2025-05-09sandbox/seatbelt-aware system prompt, support for custom seatbelt profiles ↵Olcan
under project settings (#304)
2025-05-09feat: Improve theme not found handlingTaylor Mullen
Modify to return a boolean instead of throwing an error when a theme is not found. Update CLI startup and hook to handle the boolean return value for more graceful error handling.
2025-05-09fix MCP under seatbelt, improve error handling (#301)Olcan
2025-05-09fix debugging with seatbelt, including in strict profile (#300)Olcan
2025-05-08Ensure dogfood packaging more accurately mirrors local build.Taylor Mullen
- Removed `build:package` in favor of `npm run build`. - The regular build does extra work to copy over relevant information into the `dist` dir. Alternatively without this we get a `dist` dir in the `cli` folder that has no seatbelt packaging. Fixes https://b.corp.google.com/issues/416634356
2025-05-08Add bundling support.Taylor Mullen
- This can now be invoked with `npm run bundle`, it creates a `bundle/` folder that has: - gemini.js - sandbox-macos-minimal.sb - sandbox-macos-strict.sb - shell.json - shell.md - This doesn't include any sort of automation for auto bundling pieces. It's just the root capability which we can weave into other locations. Fixes https://b.corp.google.com/issues/411432723
2025-05-08Fix: Prevent CLI from crashing when a configured theme is not foundAmir Hardon
Previously, if a theme specified in the user's settings was not found, the CLI would crash during startup. This was particularly affecting users upgrading from older versions as the "ANSI colors only" theme was renamed to "ANSI". This commit adds error handling to catch the theme not found error during initial loading and when setting themes later. Instead of crashing, the application now logs a warning, displays an error message in the UI, and opens the theme selection dialog to allow the user to choose a valid theme.
2025-05-08fix(sandbox): set --inspect-brk in production sandbox when env DEBUG is ↵Brandon Keiji
truthy (#295)
2025-05-08UI Polish for theme selector (#294)Miguel Solorio
2025-05-08allow SEATBELT_PROFILE=none to disable seatbelt on macos (#296)Olcan
2025-05-08refined sandbox/seatbelt log message, pass NODE_OPTIONS along to sandboxed ↵Olcan
node (#292)
2025-05-08fix json import warning (#291)Olcan
2025-05-08Make ascii logo simpler (#288)Miguel Solorio
2025-05-08minor comment fix (#290)Olcan