Commit Graph

185 Commits

Author SHA1 Message Date
Olcan e5bfceac80 ability to (re-)build sandbox outside GC repo root, useful for dev iterations (#196) 2025-04-28 09:07:37 -07:00
Olcan 48c78a5645 rename dev image with -dev suffix (#195) 2025-04-28 08:52:18 -07:00
Olcan be01b95af7 shell tool tweaks (#194) 2025-04-28 08:17:52 -07:00
Taylor Mullen 9be3214489 feat(cli): Improve new file diff rendering with syntax highlighting
- Enhance the  component to provide better readability for newly created files.
- Instead of displaying a standard line-by-line diff for new files, extract the added content and render it with syntax highlighting based on the file extension.
- Refactor the existing diff rendering logic into a separate  function.
- Add a helper function  to map common file extensions to language names for syntax highlighting.

Fixes: https://b.corp.google.com/issues/414279447
Signed-off-by: Gemini, your friendly neighborhood code agent.
2025-04-27 23:25:08 -07:00
Taylor Mullen b61cf3c44b Refactor: Update core system prompt with new application workflow and improved structure
- Refine agent persona from 'assistant' to 'agent'.
- Restructure prompt into distinct 'Software Engineering Tasks' and 'New Application' workflows.
- Add detailed steps and tool usage guidance for creating new applications.
- Improve clarity and formatting of prompt instructions.

Part of https://b.corp.google.com/issues/413718497

Signed-off-by: Gemini, your friendly neighborhood code agent.
2025-04-27 22:36:05 -07:00
Olcan 81c3717613 minimal shell tool (#191) 2025-04-27 18:57:10 -07:00
Taylor Mullen b22ce6dc49 Upgrade @google/genai to latest.
- Motivation of this upgrade is to enable us to get convenient access to the thinking budget config changes for 2.5 thinking models. This will be key to getting our model to take a bit more time for various requests.
2025-04-27 13:48:34 -07:00
Taylor Mullen 1dcb9b0b3d Cleanup outdated packages in server/cli.
- Found that pre-backend front end split we had a number of packages that we hadn't revisisted. Went through and cleaned them up (i.e. cli needing genai).
2025-04-27 13:41:21 -07:00
Taylor Mullen 5b511216b0 Allow tool groups + following content to be updateable.
- I found that when there are fast transactions that update our tool group history at times promoting a tool group into the static container can result in bleeding. As a temporary fix for this (not a react Guru) I'm increasing the # of items to be 2 as updateable if a tool group is close to the end.
2025-04-27 13:27:06 -07:00
Olcan d7a449ee58 don't confirm invalid params in terminal tool, or in general (added comments to base class) (#187) 2025-04-27 10:25:12 -07:00
Olcan db2b02080c hop into sandbox (#186) 2025-04-26 21:27:36 -07:00
Taylor Mullen f9a9a20201 Follow up fixes from flickering PR.
- The push for these changes didn't make it through.... Just doing a quick fix here which should have been in: https://github.com/google-gemini/gemini-code/pull/181
2025-04-26 19:32:56 -07:00
Taylor Mullen 9ad530c18b feat: Fix flickering in iTerm + scrolling + performance issues.
- Refactors history display using Ink's <Static> component to prevent flickering and improve performance by rendering completed items statically.
- Introduces ConsolePatcher component to capture and display console.log, console.warn, and console.error output within the Ink UI, addressing native handling issues.
- Introduce a new content splitting mechanism to work better for static items. Basically when content gets too long we will now split content into multiple blocks for Gemini messages to ensure that we can statically cache larger pieces of history.

Fixes:
- https://b.corp.google.com/issues/411450097
- https://b.corp.google.com/issues/412716309
2025-04-26 16:08:05 -07:00
Taylor Mullen 8a8983deea Prevent console.warn's for tool calls.
- Added helper for extracting text content from responses without warning.

See fixed issue for more detail: https://b.corp.google.com/issues/414005146
2025-04-26 15:50:44 -07:00
Brandon Keiji 92c218fa42 feat: prototype publish sandbox script with npm package (#182) 2025-04-25 17:30:50 -07:00
Seth Troisi 5c7382b63f Add /exit and /quit commands 2025-04-25 14:29:00 -07:00
Seth Troisi 95f5432ef5 Pulled manual commands to seperate function 2025-04-25 14:29:00 -07:00
Brandon Keiji ae0bf44908 fix: add .env~ to .gitignore (#178) 2025-04-25 21:24:14 +00:00
Olcan 8c1e6435ff drop todo about qualified writes, turns out others don't do it either so nbd (#177) 2025-04-25 14:16:24 -07:00
Olcan 4931f14ef9 more consistent confirmations, TODO to improve write confirmations, drop "description" from execution confirmation, add confirmation to new (still dummy) shell tool (#176) 2025-04-25 14:05:58 -07:00
Brandon Keiji ca1deb5179 fix: remove extra initError (#173) 2025-04-25 13:15:05 -07:00
Olcan a38c975e40 do not clean before package build (#175) 2025-04-25 13:01:40 -07:00
Olcan 2835ae0b9d detect missing sandbox image and provide useful error message (#174) 2025-04-25 12:38:38 -07:00
Olcan 1841d02541 instant (dev) sandbox (#171)
* instant (dev) sandbox

* leave Dockerfile as is to pass deploy test

* fix comma

* fix prod build

* do not use "images exists" which docker does not support

* separate dev-mode flag

* Merge remote-tracking branch 'origin/main' into instant_sandbox
2025-04-25 10:58:23 -07:00
Brandon Keiji f1a7b7e47a fix: make publish dry-run script match dogfood publish script (#169) 2025-04-25 09:58:27 -07:00
Olcan 6844c7b6da more compact cli version in footer (#168) 2025-04-25 15:34:26 +00:00
Olcan ede2c1db22 pass model env var to sandbox (#167) 2025-04-25 15:28:14 +00:00
Brandon Keiji 418c9f3d13 fix: install rsync in publish pipeline (#166) 2025-04-24 19:53:59 -07:00
Olcan b8a24d5327 enable json imports (#165)
* enable json imports

* Merge remote-tracking branch 'origin/main' into enable_json_imports
2025-04-24 18:30:19 -07:00
Brandon Keiji c6514d9ab3 refactor: make version number shorter (#164) 2025-04-24 18:22:59 -07:00
Olcan fd546cd158 shell bones (#160)
* shell bones

* Merge remote-tracking branch 'origin/main' into shell_bones

* add line break

* another line break

* drop the log to avoid breaking terminals

* rename tool to be consistent with terminal

* fix build
2025-04-24 18:03:33 -07:00
Brandon Keiji 1046e313c9 docs: update manual publishing section (#162) 2025-04-25 00:52:24 +00:00
Brandon Keiji 9660e4dc06 refactor: change default logs bucket for cloudbuild cicd (#161) 2025-04-24 17:40:23 -07:00
Allen Hutchison 761293bd1c Adding a full_context command line argument. (#158)
* Adding a full_context command line argument.

* Update packages/cli/src/config/config.ts

Co-authored-by: N. Taylor Mullen <ntaylormullen@google.com>

* lint fix.

---------

Co-authored-by: N. Taylor Mullen <ntaylormullen@google.com>
2025-04-24 16:08:29 -07:00
Olcan 0c293647a7 general rules should apply to whole project (#159)
* general rules should apply to whole project

* Merge remote-tracking branch 'origin/main' into fix_eslint

* lint fixes under server package
2025-04-24 15:42:18 -07:00
Brandon Keiji 58e43a3d28 infra: automate continuous deployment (#157) 2025-04-24 14:36:58 -07:00
Jacob Richman 3fb7e14fab Switch Ansi theme to use regular colors to improve readability. (#154) 2025-04-24 14:19:35 -07:00
Olcan 492b1931b0 remove dead code (+ dont reset shellReady unless restarting) (#156) 2025-04-24 13:24:15 -07:00
Brandon Keiji 50d5885d99 feat: add flag to customize package version during pre-release staging (#155) 2025-04-24 13:02:49 -07:00
Olcan 319b78f5e6 rename read_many_files (#153) 2025-04-24 12:15:49 -07:00
Jacob Richman fa441004c7 Add an ansi theme. (#152)
Add the gradient used by the ascii art logo to theme.
2025-04-24 11:56:23 -07:00
Jacob Richman fca31d943e Add a theme preview and update the theme when highlight changes. (#151) 2025-04-24 11:36:34 -07:00
Olcan 9c3c9aab7d better sandbox check (#150) 2025-04-24 10:32:30 -07:00
Olcan 821aba917a remove target_dir flag (#149) 2025-04-24 10:21:10 -07:00
Olcan 211e8f005f in sandboxed run scripts, allow .env to be an in any ancestor directory, same as in findEnvFile; also prep for sanboxing with global command (#147) 2025-04-24 08:58:47 -07:00
Olcan c710593f92 unban commands (#146) 2025-04-23 19:20:54 -07:00
Seth Troisi f6f8265424 Pass GEMINI_API_KEY env variable to sandbox 2025-04-23 18:22:58 -07:00
Brandon Keiji 6ba8e0b078 fix: revert pointing npm start to .bin (#144) 2025-04-24 01:21:07 +00:00
Brandon Keiji 8318f20038 feat: add react dev tools (#143) 2025-04-23 18:16:15 -07:00
jacob314 978fe49c33 Make ui/colors refelect the current theme. 2025-04-23 18:08:22 -07:00