Commit Graph

286 Commits

Author SHA1 Message Date
Olcan
d80e7b55e7 fix MCP under seatbelt, improve error handling (#301) 2025-05-09 09:02:14 -07:00
Olcan
bed75851e9 fix debugging with seatbelt, including in strict profile (#300) 2025-05-09 08:44:40 -07:00
Taylor Mullen
8807f992a2 Ensure dogfood packaging more accurately mirrors local build.
- 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-08 23:55:44 -07:00
Taylor Mullen
4cf345d0a3 Add bundling support.
- 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-08 23:36:42 -07:00
Amir Hardon
390747cc8c 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
Brandon Keiji
74cc554ac4 fix(sandbox): set --inspect-brk in production sandbox when env DEBUG is truthy (#295) 2025-05-08 21:12:19 -07:00
Miguel Solorio
340d8b1ff0 UI Polish for theme selector (#294) 2025-05-08 16:00:55 -07:00
Olcan
4aab3d57c3 allow SEATBELT_PROFILE=none to disable seatbelt on macos (#296) 2025-05-08 15:52:04 -07:00
Olcan
46a93c0bd1 refined sandbox/seatbelt log message, pass NODE_OPTIONS along to sandboxed node (#292) 2025-05-08 14:50:35 -07:00
Olcan
596f0d1c8f fix json import warning (#291) 2025-05-08 14:14:09 -07:00
Miguel Solorio
1cd73689fe Make ascii logo simpler (#288) 2025-05-08 13:46:41 -07:00
Olcan
a2fadaca76 minor comment fix (#290) 2025-05-08 11:31:12 -07:00
Olcan
e9dedf5ad2 adjust seatbelt to allow write into specific dirs under user home (#289) 2025-05-08 11:28:45 -07:00
Tae Hyung Kim
dde8d13aae init 2025-05-07 23:47:58 -07:00
Taylor Mullen
e416cda5f1 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
9577f8b1e4 rename SANDBOX_EXEC_PROFILE as SEATBELT_PROFILE, and fix another accidental rephrasing (#285) 2025-05-07 21:31:30 -07:00
Tae Hyung Kim
ed3c9d5a9f Fix bugs from useGeminiStream refactor (#284) 2025-05-07 21:15:41 -07:00
Olcan
12f082673e 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
Taylor Mullen
cc0e439744 Update EditTool description for clarity and better parameter guidance.
- Prior to this change, the model would often escape parameters when requesting edits, leading to failures in matching the original content. This update clarifies the expected format for `old_string` and `new_string` to prevent such issues.
   - Update `EditTool` description to provide clearer instructions.
   - Clarify expectations for `old_string` and `new_string` parameters, emphasizing the need for exact, unescaped text.
   - Aim to reduce user errors by setting better expectations for tool usage.

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

— Your friendly neighborhood Gemini
2025-05-07 18:31:39 -07:00
Taylor Mullen
9d9f7739b7 Continue to work through 429/500s.
- The root of this issue was actually a genai SDK bug that was fixed here: https://critique.corp.google.com/cl/753255997
- Upgrade to latest genai SDK for latest bug fixes (including the above)
- Removed specific 429 handling for uncaught rejections.

Fixes https://b.corp.google.com/issues/413760164
2025-05-07 16:38:06 -07:00
cornmander
a292a92704 Create simple script for setting up a dev environment. (#277) 2025-05-07 16:21:16 -04:00
Tae Hyung Kim
ae31a307a0 Fix flicker in iterm2 (#266) 2025-05-07 12:57:19 -07:00
Brandon Keiji
7f5097765f fix: use react-jsx for typecheck (#280) 2025-05-07 12:36:04 -07:00
Allen Hutchison
54d2c30602 Refactor: Enhance @-command, Autocomplete, and Input Stability (#279) 2025-05-07 12:30:32 -07:00
Olcan
096939e2d0 make sandbox build quiet by default but allow VERBOSE=1 option. enable caching by default but allow disabling via BUILD_SANDBOX_FLAGS="--no-cache" (#278) 2025-05-07 11:00:48 -07:00
Olcan
ab5cb524f5 drop the comment to fix npmrc warning about "always-auth" in most recent version of npm (#276) 2025-05-07 10:33:17 -07:00
Brandon Keiji
ac5013e51f fix: build image with --no-cache (#275) 2025-05-07 08:18:04 -07:00
Brandon Keiji
345e4d7a79 feat: add build:sandbox and build:all npm scripts (#274) 2025-05-07 07:46:47 -07:00
Brandon Keiji
6e8967cdca fix(sandbox): consolidate dev and prod sandbox (#273) 2025-05-07 07:23:13 -07:00
Olcan
e634c8a384 drop restriction on whitespace in bash commands (#272) 2025-05-06 23:38:36 -07:00
Taylor Mullen
f55e825746 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
3da18df8d7 Fix edit confirmation re-submission.
- This broke in [this commit](7d13f24288 (diff-e257a7e5e02896371ce002da8963abdb91f5c77990d38e3d2f7ea07e5b19e32eR428))
2025-05-06 22:12:27 -07:00
Taylor Mullen
631477b961 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
bf414147c7 refactor(cli): Centralize history management via useHistoryManager hook (#261) 2025-05-06 16:20:28 -07:00
Allen Hutchison
af3debc961 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
Olcan
f0ccf9bbfd use temp file instead of footer to allow arbitrary chunking of streams and arbitrary interleaving with output from background processes (#267) 2025-05-06 10:44:40 -07:00
Brandon Keiji
1a7582b766 fix: use flat config for react eslint plugin (#265) 2025-05-06 08:48:26 -07:00
Jacob Richman
e87a6233ee Revert "Support syntax highlighting for more languages (#246)" (#264) 2025-05-06 08:16:32 -07:00
Taylor Mullen
fe3206e29e Add vibe coding instructions for 0->game.
- Prior to this GC would attempt to utilize React components as game assets (instead of using canvas) + would fail to deal with placeholder assets effectively.

Part of https://b.corp.google.com/issues/413718497
2025-05-05 20:53:47 -07:00
olcan
47ed4b9c61 added todo about removing mcp dependency once support is built into genai SDK 2025-05-05 17:10:45 -07:00
olcan
0d175bad27 extra spacing in discovered tool descriptions 2025-05-05 17:10:45 -07:00
olcan
06274153ba support for mcp tools 2025-05-05 17:10:45 -07:00
olcan
44d0b55ebd support for discovered tools using project settings for discovery and call commands 2025-05-05 17:10:45 -07:00
Seth Troisi
2ffaaca12c slash command altnames and support for ? 2025-05-05 22:33:22 +00:00
Seth Troisi
6d845cd283 Move Intro to Help and only display after help command. 2025-05-05 20:54:12 +00:00
Seth Troisi
bc2a10c117 Remove passthroughCommands (#252) 2025-05-05 10:57:06 -07:00
Seth Troisi
9fdc0d9d19 Have /clear clear <Static> content by remounting (#250) 2025-05-05 10:52:29 -07:00
Allen Hutchison
572ffe75cc 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
9e6a9c371e Support syntax highlighting for more languages (#246) 2025-05-04 07:57:55 -07:00
Olcan
6ed8a3c6cb fix sandbox prod build w/ custom Dockerfile (#255) 2025-05-03 10:07:51 -07:00