Commit Graph

148 Commits

Author SHA1 Message Date
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
Seth Troisi
b31bce078c Add generic container run command for npm start 2025-04-23 18:07:29 -07:00
Seth Troisi
c326696ffd Remove --workspace npm run debug command in README 2025-04-23 17:57:01 -07:00
Allen Hutchison
affa850a0c Add concatenation tool (#130)
* Adding a tool inspired by files-to-prompt that will recursivly read through all the files in a directory (guarded by targetDir) and concatenate those files for the model. Ignores common build artifacts and non-text files.

* Migraded glob logic to fast-glob. Buffed the tool description to give more guidance to the model. Incorporated reveiw feedback.

* lint and error checking.
2025-04-23 17:25:47 -07:00
Seth Troisi
5c6f018b8d Support GEMINI_CODE_SANDBOX=0/false as no SANDBOXing 2025-04-23 16:33:19 -07:00
Taylor Mullen
c73fa983a0 Refactor: Remove GEMINI.md memory and refactor system prompt
- Updates CONTRIBUTING.md and Tips.tsx to remove references to GEMINI.md and the /init command, and renumbers tips.
- Fixes a typo in Tips.tsx ("information.s" -> "information.").
- Refactors the core system prompt in prompts.ts from a constant string to a function .
- Updates client.ts to call the  function.
- Updates tool name references within the system prompt to use template literals for dynamic naming.

Fixes bug: https://buganizer.corp.google.com/issues/413061073
---

Generated by yours truly __Gemini Code__
2025-04-23 15:57:40 -07:00
Brandon Keiji
de3ad73c10 fix: use process.env.CLI_VERSION to avoid conflicts with NODE_ENV (#139) 2025-04-23 15:49:18 -07:00
Seth Troisi
7a48412b21 Add docker equivilant for --authfile 2025-04-23 15:46:51 -07:00
Brandon Keiji
d0362adee1 feat: set dogfood artifact registry as the default publishing endpoint (#135) 2025-04-23 15:11:10 -07:00
Brandon Keiji
9ccdc66eba feat: add CLI version number to footer (#134) 2025-04-23 15:00:40 -07:00
Chris Perry
bf596ff4b6 Updating the system prompt to allow for more complex app creation 2025-04-23 14:39:12 -07:00
Seth Troisi
ccc28d175b Default TMPDIR to /tmp/ for sandbox (#133) 2025-04-23 14:36:15 -07:00
Olcan
1ded5bd96a remove dead code (#131) 2025-04-23 13:33:07 -07:00
Taylor Mullen
31d8d0b53f Add theming support.
- Added a number of common themes to our support matrix:
 - AtomOneDark
 - Dracula
 - VS
 - GitHub
 - GoogleCode
 - XCode
 - ... Admittedly these all were randomly picked, we could probably curate these better...
- Added a new `ThemeDialog` UI that can be accessed via `/theme`. It shows your currentlyt available themes and allows you to change them freely. It does **not**:
 - Save the theme between sessions
 - Allow you to hit escape
 - Show a preview prior to selection.
- These themes are from reacts highlight js library.

Fixes https://b.corp.google.com/issues/412797985
2025-04-22 22:08:13 -07:00
Taylor Mullen
c9a7714a84 Colorize code blocks.
- This changeset uses lowlight.js to parse the code in codeblocks to derive an AST, it then translates that into CSS themes that are widely known via highlight.js (things that GitHub use), finally I translate those css.color attributes into Ink colors and effectivel do <Text color={the color}>the text</Text>.
 - To do this I needed to build color mappings from css -> Ink
 - I introduced a new `Theme` type that will be used to represent many different color themes. It also enabled the color mappings to be seamless.
 - Added a theme manager that only has one theme for now (VS2015). The theme works very well with our colorization.
- Some other bits was removal of borders around our codeblocks since they now have richer rendering.
- Most complex bits of code in this PR is in the `CodeColorizer.tsx`

Fixes https://b.corp.google.com/issues/412433479
2025-04-22 18:57:27 -07:00
Taylor Mullen
db80c793d9 Refactor tool confirmation radio buttons to own component.
- I plan to utilize these radio buttons for theme selection in the future. Refactoring them into their own component.

Part of https://b.corp.google.com/issues/412797985
2025-04-22 18:33:36 -07:00
Allen Hutchison
a26c454771 Question flag (#125) 2025-04-22 18:32:03 -07:00
Brandon Keiji
4e37f77e2a feat: add alias to the cli bin directive (#126) 2025-04-23 01:04:34 +00:00
Jaana Dogan
41bf7f0134 Add a tip about creating an alias during development (#122)
Identical to #118, it's lost while we were recovering the main branch.
2025-04-22 16:17:37 -07:00
Allen Hutchison
a0b6d13763 Fix the case where passthrough tools weren't using the correct CWD from -d 2025-04-22 15:19:40 -07:00
Olcan
1d38ad956d use full url for base image (found by seth troisi to save 5s from docker build time) (#124) 2025-04-22 14:41:25 -07:00
Olcan
efdff51bec fix .env check (#123) 2025-04-22 14:31:02 -07:00
Olcan
530ab91807 Refactor_sandbox_command (#121) 2025-04-22 13:51:50 -07:00
Jaana Dogan
afa0a31555 fix hanging tools
https://github.com/google-gemini/gemini-code/pull/117/
2025-04-22 13:40:36 -07:00
Jaana Dogan
3fb6725506 Initiate the GeminiClient with a config
Also address the open readability improvement comments from #104.
2025-04-22 11:20:19 -07:00
Taylor Mullen
343ac84cf0 Fix Tool -> Text -> Confirmation bu that results in disordered history
- We weren't reseting the tool group inbetween content which meant we'd start a new group on the first tool call, and if regular textual content followed it'd effectively close that group; however, we weren't updating our state to really close that group. Meaning, any subsequent tool calls or confirmations would get grouped with the original grouping.
  - When we see textual content from Gemini we now reset the tool call group.

Fixes https://b.corp.google.com/issues/412605330
2025-04-22 10:33:36 -04:00
Taylor Mullen
f996dc961b Update confirmation dialog UI
- This chaneset aligns our confirmation dialog with: https://screenshot.googleplex.com/9yZCX636LzpMrgc
- Primary changes include having custom indicators for confirmation options that align with our coloring / scheme

Fixes https://b.corp.google.com/issues/412607128
2025-04-22 10:33:06 -04:00
Taylor Mullen
ddd6447bad Update UI of tool messages
- Bring tool messages in line with original envisioned UI of: https://screenshot.googleplex.com/9yZCX636LzpMrgc
  - In particular this represents more descriptive names. FWIW we already had this tech we just weren't passing around information correctly (`displayName` vs. `name`)
 - Add gray to our list of color pallete's and removed Background (unused)
 - Re-enabled representing canceled messages
 - Migrated back towards a cleaner tool message design of status symbols & border colors vs. overly verbose text.
 - Removed border from confirmation diffs.
Fixes https://b.corp.google.com/issues/412598909
2025-04-22 08:05:30 -04:00
Olcan
69fe55cb21 quiet sandbox build (#111) 2025-04-21 23:26:53 -07:00
Olcan
cfc2a4aee6 env var to set default model, display model on lower right (#110) 2025-04-21 23:25:10 -07:00
Brandon Keiji
448e308604 fix: point npmrc to dogfood artifact registry (#108) 2025-04-21 23:11:51 -07:00
Brandon Keiji
2ac4a3de58 fix: support node globals in scripts (#109) 2025-04-22 06:10:25 +00:00
Benjamin Bastian
cccaf1d1f2 Update sandbox script to not require term variables (#105)
If `nounset` is active, it'll require that TERM and COLORTERM is set in the
environment. It's not necessary that these variables are set and it should be
passed to the sandbox. This change just causes the TERM and COLORTERM to be set
to an empty string if they are unset.
2025-04-21 22:59:49 -07:00
Olcan
c2accfcce9 fix source mapping when debugging in sandbox (#107) 2025-04-21 19:04:00 -07:00
Allen Hutchison
fcea453c02 Piped input (#104)
* New method for handling stdin. Bypass Ink, and output to stdout. Makes the CLI work like a typical Unix application when called with piped input.

* Fixing a few post-merge errors.

* Format code.

* Clean up lint and format errors.
2025-04-21 17:41:44 -07:00
Jaana Dogan
c0c1f3579e Simplify GeminiClient (#101)
Doing some more clean-up:
* Remove confusing continue/break
* Handle empty result
* Rename the file just client.js
2025-04-21 17:15:20 -07:00
Jaana Dogan
f17b802f17 Add build status to README (#99) 2025-04-21 15:47:53 -07:00
Jaana Dogan
d5307c25a9 Fix the broken build (#98) 2025-04-21 15:44:20 -07:00