Commit Graph

178 Commits

Author SHA1 Message Date
Allen Hutchison
1245fe4885 This commit introduces the hierarchical memory feature, allowing GEMI… (#327) 2025-05-14 12:37:17 -07:00
Olcan
1fa40405ea improve sandboxing status message, update README, remove dead code from a previous change to build_sandbox.sh (#346) 2025-05-14 11:23:06 -07:00
Jacob Richman
bfda4295c9 Refactor TextBuffer to be a React hook (#340) 2025-05-13 19:55:31 -07:00
Brandon Keiji
7116ab9c29 fix: pass startup warnings to app as prop (#342) 2025-05-13 17:12:04 -07:00
Brandon Keiji
d3303fd3a0 refactor: move nested debugmessage and slashcommand hooks outside of useGeminiStream (#341) 2025-05-13 16:55:49 -07:00
Taylor Mullen
c4c11f1d65 Prevent flickering on confirmation decline.
- 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-13 16:36:28 -07:00
Jacob Richman
e665d4f198 First step refactoring InputPrompt (#335) 2025-05-13 16:23:14 -07:00
Miguel Solorio
c4fb1ad04b Use Enter on slash commands to execute (#334) 2025-05-13 16:08:12 -07:00
Jacob Richman
e2c3611c63 Multiline editor (#302)
Co-authored-by: Taylor Mullen <ntaylormullen@google.com>
2025-05-13 11:24:04 -07:00
Miguel Solorio
61ccd4f33a Allow users to cancel out of theme selector (#310) 2025-05-13 07:41:32 -07:00
Taylor Mullen
df74594b8f When an error occurs stop processing. 2025-05-12 00:06:20 -07:00
Taylor Mullen
2970f0a06c feat: Integrate centralized error reporting for API interactions
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 <YourFriendlyNeighborhoodAI@example.com>
2025-05-11 13:55:55 -07:00
Taylor Mullen
cf91f72c5c Remove terminal tool and dependencies.
- 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-11 12:35:55 -07:00
Taylor Mullen
c0eab31c02 Show model decline/cancellation states.
- 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-10 00:26:18 -07:00
Taylor Mullen
6b518dc9e4 Enable tools to cancel active execution.
- 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-10 00:21:09 -07:00
Taylor Mullen
090198a7d6 Make cancel not explode.
- 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-09 22:49:32 -07:00
Taylor Mullen
28f9a2adfa fix: Resolve infinite loop
- 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-09 17:37:36 -07:00
Allen Hutchison
4a6d0717a1 fix for b/414940078 (#306) 2025-05-09 15:38:19 -07:00
Taylor Mullen
b8fa38a6e8 feat: Improve theme not found handling
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-09 10:28:20 -07:00
Amir Hardon
1c486a4050 Fix: Prevent CLI from crashing when a configured theme is not found
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-08 22:33:46 -07:00
Miguel Solorio
a685597b70 UI Polish for theme selector (#294) 2025-05-08 16:00:55 -07:00
Miguel Solorio
5db1b7622a Make ascii logo simpler (#288) 2025-05-08 13:46:41 -07:00
Tae Hyung Kim
448a24746c init 2025-05-07 23:47:58 -07:00
Taylor Mullen
6989032414 Remove unnecessary sleep.
- Code review comment: https://github.com/google-gemini/gemini-code/pull/271#pullrequestreview-2821741430
2025-05-07 23:46:57 -07:00
Olcan
327bd5f836 rename SANDBOX_EXEC_PROFILE as SEATBELT_PROFILE, and fix another accidental rephrasing (#285) 2025-05-07 21:31:30 -07:00
Tae Hyung Kim
13eadcea45 Fix bugs from useGeminiStream refactor (#284) 2025-05-07 21:15:41 -07:00
Olcan
d524309e3c use seatbelt on macos, with two profiles: minimal (default) which only restricts writes, and strict, which is deny-by-default and only allows specific operations (#283) 2025-05-07 20:03:29 -07:00
Tae Hyung Kim
0a7f461d39 Fix flicker in iterm2 (#266) 2025-05-07 12:57:19 -07:00
Allen Hutchison
6b3ef9f939 Refactor: Enhance @-command, Autocomplete, and Input Stability (#279) 2025-05-07 12:30:32 -07:00
Taylor Mullen
a588d5cd10 Prevent UI hang on long tool confirmations.
Problem:
When a tool confirmation dialog appeared for a potentially long-running
operation (e.g., `npm install`), accepting the confirmation would cause
the UI to appear to hang. The confirmation dialog would remain visible,
and no further UI updates would occur until the long-running task
completed. This provided a poor user experience as the application
seemed unresponsive.

Fix:
This change addresses the issue by ensuring the UI is updated to remove
the confirmation dialog *before* the long-running operation begins.
It also marks the tool as executing so a spinner can be shown.

Fixes https://b.corp.google.com/issues/415844994

Signed, sealed, delivered, it's yours!
   - Gemini, your friendly neighborhood code-slinger
2025-05-06 22:38:30 -07:00
Taylor Mullen
782686bcf3 Fix edit confirmation re-submission.
- This broke in [this commit](7d13f24288 (diff-e257a7e5e02896371ce002da8963abdb91f5c77990d38e3d2f7ea07e5b19e32eR428))
2025-05-06 22:12:27 -07:00
Taylor Mullen
201eb38479 Fix rendering & indentation of bullets (numeric and *).
- Prior to this numeric bullets wouldn't have a period suffix and * bullets wouldn't be indented if they were nested.

Fixes https://b.corp.google.com/issues/414266756
2025-05-06 17:34:28 -07:00
Allen Hutchison
7d13f24288 refactor(cli): Centralize history management via useHistoryManager hook (#261) 2025-05-06 16:20:28 -07:00
Allen Hutchison
adeda6a5b3 Refactor: Memoize hook callbacks, update dependencies, and fix lint errors (#268)
Co-authored-by: N. Taylor Mullen <ntaylormullen@google.com>
2025-05-06 14:48:49 -07:00
Brandon Keiji
c5182d5ca4 fix: use flat config for react eslint plugin (#265) 2025-05-06 08:48:26 -07:00
Jacob Richman
6812235cfa Revert "Support syntax highlighting for more languages (#246)" (#264) 2025-05-06 08:16:32 -07:00
Seth Troisi
2cd976987e slash command altnames and support for ? 2025-05-05 22:33:22 +00:00
Seth Troisi
bb52149a06 Move Intro to Help and only display after help command. 2025-05-05 20:54:12 +00:00
Seth Troisi
415b757d4a Remove passthroughCommands (#252) 2025-05-05 10:57:06 -07:00
Seth Troisi
a0bed3e716 Have /clear clear <Static> content by remounting (#250) 2025-05-05 10:52:29 -07:00
Allen Hutchison
74f8f5eaa9 feat(cli): add useHistoryManager hook for chat history (#234)
Co-authored-by: Brandon Keiji <brandonkeiji@google.com>
2025-05-05 09:44:59 -07:00
Jacob Richman
2b309a8abb Support syntax highlighting for more languages (#246) 2025-05-04 07:57:55 -07:00
Jacob Richman
0556358560 Cleanup low value comments. (#248) 2025-05-02 14:39:39 -07:00
Seth Troisi
cc838fad44 Add autocomplete for slash commands 2025-05-02 20:58:53 +00:00
Jacob Richman
539ab947a4 Use parameter properties where possible. (#242) 2025-05-02 09:31:18 -07:00
Olcan
a7679db6e9 sandbox setting and argument (#243) 2025-05-02 08:15:46 -07:00
Jacob Richman
53ac7952c7 Support escaping spaces in file paths. (#241) 2025-05-01 18:02:04 -07:00
Olcan
ca53565240 prevent crash on empty shell cmd with $ or ! (#240) 2025-05-01 20:41:00 +00:00
Jacob Richman
7e8f379dfb Save settings to ~/.gemini/settings.json and optionally /your/workspace/.gemini/settings.json (#237) 2025-05-01 10:34:07 -07:00
Seth Troisi
2616e965a7 Moved theme to slashCommand 2025-04-30 22:32:29 +00:00