Commit Graph

1325 Commits

Author SHA1 Message Date
Olcan ca53565240
prevent crash on empty shell cmd with $ or ! (#240) 2025-05-01 20:41:00 +00:00
Olcan a386841947
mount user settings in sandbox (#239) 2025-05-01 12:08:24 -07: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
Olcan a18eea8c23
remove start_sandbox.sh script (#238) 2025-05-01 09:16:33 -07:00
Brandon Keiji b27aae26c8
refactor: async-ify yargs (#236) 2025-05-01 01:00:53 +00:00
Seth Troisi 339d598295 Add .vscode with enableProjectDiagnostics on 2025-04-30 23:59:51 +00:00
Allen Hutchison 976333f654
Fix an issue where types/react was a different version from our main … (#231)
Co-authored-by: Brandon Keiji <brandonkeiji@google.com>
2025-04-30 16:33:43 -07:00
Seth Troisi 2616e965a7 Moved theme to slashCommand 2025-04-30 22:32:29 +00:00
Seth Troisi 5f5edb4c9b Added bang(!) commands as a shell passthrough 2025-04-30 22:17:08 +00:00
Olcan 68a3020044
simplify directory display in shell tool description (#230) 2025-04-30 12:27:56 -07:00
Brandon Keiji 3aef883f4b
refactor: make parseImageName more readable (#228) 2025-04-30 10:16:29 -07:00
Allen Hutchison 3ec00d1689
Fix the generation of globs by using the filesystem instead of a heuristic. (#227) 2025-04-30 09:09:01 -07:00
Allen Hutchison 9f20c5f95e
Add @ command suggestions in the UI. (#219) 2025-04-30 08:31:32 -07:00
Brandon Keiji 28fc2d0de3
refactor(sandbox): make cli path agnostic of docker container build rules (#226) 2025-04-30 00:39:00 -07:00
Brandon Keiji cb8a7f01ae
refactor: move sandbox js code to its own module (#225) 2025-04-29 17:38:25 -07:00
Seth Troisi fb23321514 Add Intro text with list of /commands 2025-04-29 17:20:38 -07:00
Seth Troisi bf659f1977 Add intro with some abilities and commands 2025-04-29 17:20:38 -07:00
Seth Troisi 19bdc441d6 Add /help 2025-04-29 15:50:24 -07:00
Allen Hutchison 889200d400
Add @ command handling to useGeminiStream (#217)
* First integration of at commands into useGeminiStream.ts

* feat: Integrate @ command for file/directory reading

   - Adds support for `@<path>` commands in the CLI UI to read file or directory contents using the `read_many_files` tool.
   - Refactors `useGeminiStream` hook to handle slash, passthrough, and @ commands before sending queries to the Gemini API.
   - Improves history item ID generation to prevent React duplicate key warnings.

* fix: Handle additional text after @ command path

   - Modifies the `@` command processor to parse text following the file/directory path (e.g., `@README.md explain this`).
   - Includes both the fetched file content and the subsequent text in the query sent to the Gemini API.
   - Resolves the TODO item in `atCommandProcessor.ts`.

* feat: Allow @ command anywhere in query and fix build

   - Update `atCommandProcessor` to correctly parse `@<path>` commands regardless of their position in the input string using regex. This enables queries like "Explain @README.md to me".
   - Fix build error in `useGeminiStream` by importing the missing `findSafeSplitPoint` function.

* rename isPotentiallyAtCommand to isAtCommand

* respond to review comments.
2025-04-29 15:39:36 -07:00
Olcan c1b23c008a
do not prepend ./ to absolute paths or . (#220) 2025-04-29 22:31:46 +00:00
Olcan e85db8aa3c
drop the "RE" from REBUILD_SANDBOX (#218) 2025-04-29 14:45:11 -07:00
Allen Hutchison 28767b369f
Refactor useGeminiStream to pull slash commands and passthrough comma… (#215)
* Refactor useGeminiStream to pull slash commands and passthrough commands into their own processors.

* whitespace lint errors.

* Add sugestions from code review.
2025-04-29 13:29:57 -07:00
Olcan 4793e86f04
do not even check sandboxing commands (podman/docker/etc) if we are already in sandbox (#213) 2025-04-29 10:52:05 -07:00
Olcan 4cb7386ec6
allow command -v to fail (#212) 2025-04-29 10:21:09 -07:00
Olcan 28518aee0a
use exec instead of spawn for command -v to go through shell and let it interpret command as a shell built-in instead of looking for a command binary on system (note setting shell:true for spawn could also work) (#211) 2025-04-29 09:02:08 -07:00
Olcan 825cecc089
SANDBOX_SET_UID_GID option for systems where this is necessary (should be only rootful docker on linux w/o userns-remap configured) (#210)
* SANDBOX_SET_UID_GID option for systems where this is necessary (should be only rootful docker on linux w/o userns-remap configured)

* Merge remote-tracking branch 'origin/main' into sandbox_uid_gid
2025-04-29 08:43:24 -07:00
Allen Hutchison e0de69f384
First four independent files for @ commands. (#205) 2025-04-29 08:29:09 -07:00
Brandon Keiji df44ffbcff
fix: point start.sh to relative path (#209) 2025-04-29 02:44:59 +00:00
Brandon Keiji 051ab58c50
refactor: cleanup references to sandbox prototype (#208) 2025-04-29 02:11:07 +00:00
Olcan 0d849bf58e
enable servers in sandbox to listen on localhost (127.0.0.1) instead of 0.0.0.0, ensuring servers can be container/host-agnostic (#207)
* enable servers in sandbox to listen on localhost (127.0.0.1) instead of 0.0.0.0, ensuring servers can be container/host-agnostic

* Merge remote-tracking branch 'origin/main' into sandbox_localhost_works
2025-04-28 18:40:24 -07:00
Brandon Keiji 3073c67861
fix: set .npmrc in HOME dir before publishing (#206) 2025-04-28 18:16:42 -07:00
Olcan cd1ddcb4f1
SANDBOX_PORTS env var (#204) 2025-04-28 15:44:17 -07:00
Olcan 57ceadb7d8
switch to shell tool, deprecating terminal (#203)
* switch to shell tool, deprecating terminal

* Merge remote-tracking branch 'origin/main' into deprecate_terminal
2025-04-28 15:05:36 -07:00
Brandon Keiji 30b04295d2
fix: remove --dry-run from cli prepublish script (#202) 2025-04-28 13:29:21 -07:00
Brandon Keiji 7ad6556623
feat: publish docker image alongside npm package (#197) 2025-04-28 13:25:19 -07:00
Olcan 304d1f2712
env flags SANDBOX_{MOUNTS,ENV}, improved debugging through sandbox that should now work in all scenarios (#201)
* env flags SANDBOX_{MOUNTS,ENV}, improved debugging through sandbox that should now work in all scenarios

* Merge remote-tracking branch 'origin/main' into sandbox_flags_improved_debugging
2025-04-28 12:44:34 -07:00
Seth Troisi dfa46df474
Refactor hardcoded slash commands (#179) 2025-04-28 12:38:07 -07:00
Olcan 6703b37a93
do not prepend ./ unless missing (#200)
* do not prepend ./ unless missing

* Merge remote-tracking branch 'origin/main' into dir_prefix_fix
2025-04-28 11:07:11 -07:00
Brandon Keiji ebc0df6cbe
fix: point 'npm run start' to index.js (#199) 2025-04-28 10:44:07 -07:00
Brandon Keiji 64910527de
refactor: remove node_modules reference in start command (#198) 2025-04-28 09:26:46 -07:00
Olcan 491f8b28b4
ability to (re-)build sandbox outside GC repo root, useful for dev iterations (#196) 2025-04-28 09:07:37 -07:00
Olcan 491a9da80b
rename dev image with -dev suffix (#195) 2025-04-28 08:52:18 -07:00
Olcan a8f679ccb5
shell tool tweaks (#194) 2025-04-28 08:17:52 -07:00
Taylor Mullen a9dc2772dd 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 a6e9bcb52d 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 6d32405d74
minimal shell tool (#191) 2025-04-27 18:57:10 -07:00
Taylor Mullen 74dd7fca98 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 c09292efd1 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 00840f75a1 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 9de2e82b8f
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