Commit Graph

78 Commits

Author SHA1 Message Date
Brandon Keiji
e351baf10f feat: add custom eslint rule for cross-package imports (#77) 2025-04-21 08:02:11 -07:00
Olcan
39bdedab9c seamless sandboxing (just set GEMINI_CODE_SANDBOX=true in .env) (#76) 2025-04-21 07:50:18 -07:00
Taylor Mullen
bfb064024e Revert debug undo. 2025-04-20 22:28:39 -04:00
Taylor Mullen
ce0f2dd868 Update README to reflect current state of the world.
- We now have CI/CD
- We have linting support (so added a section)
- Fixed `npm run debug` to allow debugging again.
2025-04-20 22:25:20 -04:00
Olcan
d668600672 fix passing of flags through start scripts (#73) 2025-04-20 19:19:42 -07:00
Taylor Mullen
63f864cdd7 Fix read-file from exploding with path not found error.
- There were a few hiccups here. Somehow 2.5-flash wasn't actually abiding by our tool schema. Instead it was inferring `path`. To semi-combat this I've renamed `file_path` -> `path`.
- We weren't elevating errors that were created via schema validation. Instead both the `glob` and `read-file.ts` now surface this.
- In error scenarios (like failing schema) we were improperly surfacing these as success cases because we were overriding tool status.
2025-04-20 22:13:55 -04:00
Olcan
c095091853 fix function calling for gemini 2.5 series (#65) 2025-04-20 19:05:27 -07:00
Tyler
d55168f51f add linter for checking license headers (and eslint --fix target to match, and fix missing license headers while we're here) (#62) 2025-04-20 17:16:25 -07:00
Olcan
305ed41b88 drop /dist suffix no longer needed (#71) 2025-04-20 14:55:36 -07:00
Olcan
ef909f6335 start and debug scripts (will enable seamless container use later), strict error handling in bash scripts (#63)
#61
2025-04-20 14:50:12 -07:00
Olcan
c80800a3ee use /sandbox/<proj_name> instead of /project as workdir in container (#64) 2025-04-20 14:49:02 -07:00
Juliette Love
9d608135e3 Make model-generated code copyable (#70) 2025-04-20 21:48:30 +01:00
Juliette Love
8180ed9a68 Add terminal clear (#69) 2025-04-20 21:13:32 +01:00
Brandon Keiji
d6556c5246 fix: remove 'dist' suffix from start_container.sh command (#67) 2025-04-20 13:07:54 -07:00
Juliette Love
a76d9b4dcf Adds shell command allowlist (#68)
* Wire through passthrough commands

* Add default passthrough commands

* Clean up config passing to useGeminiStream
2025-04-20 21:06:22 +01:00
Brandon Keiji
f480ef4bbc refactor: clean up build output (#53)
* refactor: clean up build output

* refactor: add index.ts to package roots
2025-04-20 12:33:39 -07:00
Juliette Love
a66ad2e2af Simple debug mode for CLI side (#66)
* Adds debug mode config flag.

* Wire through debug lines

* Add debug mode logging example

* Run format

* Run format again
2025-04-20 20:20:40 +01:00
Olcan
99f5ed9ecb Minimal container setup. Install docker (or podman), build container with scripts/build_container.sh, then start with scripts/start_container.sh. Exit with ^C for now. (#61) 2025-04-20 08:22:17 -07:00
Taylor Mullen
044ccc6dd7 Enable npm run debug from root. 2025-04-19 17:59:17 -04:00
Taylor Mullen
f7edf71190 Give Gemini Code a face lift.
- This utilizes `ink-gradient` to render GEMINI CODE in amazing colors.
- Added a shared color configuration for UX (should this be in config?). It's very possible that we shouldn't be talking about the specific colors and instead be mentioning "foreground"/"background"/inlineCode etc. type colors.
- Updated existing color usages to utilize `Colors.*`

Fixes https://b.corp.google.com/issues/411385593
2025-04-19 17:10:06 -04:00
Evan Senter
3fce6cea27 Starting to modularize into separate cli / server packages. (#55)
* Starting to move a lot of code into packages/server

* More of the massive refactor, builds and runs, some issues though.

* Fixing outstanding issue with double messages.

* Fixing a minor UI issue.

* Fixing the build post-merge.

* Running formatting.

* Addressing comments.
2025-04-19 19:45:42 +01:00
Evan Senter
0c9e1ef61b Adding some simple tests. (#54) 2025-04-19 18:07:24 +01:00
Allen Hutchison
d9ad2a74ae Fix the double warning for iterm. (#51) 2025-04-19 07:02:12 -07:00
Allen Hutchison
ce1c83da89 Quick fix gitignore (#49)
* Command line flags got broke. Now to run with flags run:
npm run start -- -m model-id -d data/dir

* Add *.tsbuildinfo to git ignore.
2025-04-19 07:01:54 -07:00
Evan Senter
75ecb4a81f Adding in a history buffer (#38)
Up and down arrows traverse the command history.
2025-04-19 14:31:59 +01:00
jlove29
2f5f6baf0f fix format 2025-04-19 11:08:50 +01:00
jlove29
d2ef83bc60 Add direct execution of shell commands 2025-04-19 11:07:39 +01:00
Jaana Dogan
24371a3954 Take the turn management out of GeminiClient (#42) 2025-04-18 23:11:33 -07:00
Jaana Dogan
65e8e3ed1f Show error when GEMINI_API_KEY is not set (#52)
Also fix the bug where the API key is used accidentally as the model name.
2025-04-18 19:26:16 -07:00
Tyler
4354458cad Add apache2 SPDX headers to all source files (#48) 2025-04-18 17:44:24 -07:00
Allen Hutchison
e75f0722e7 All the pipes (#47)
* Bump the character limit to web fetch.

* Piped Input Hook. First step in bringing in STDIN piping.

* Fix linting errors.

* Remove incorrect comment.
2025-04-18 17:12:14 -07:00
Allen Hutchison
3adc0dfbaf Command line flags got broke. Now to run with flags run: (#46)
npm run start -- -m model-id -d data/dir
2025-04-18 16:41:51 -07:00
Olcan
f3669f20a9 minor lint fix (#45) 2025-04-18 16:38:01 -07:00
Brandon Keiji
e5a50d0154 fix: point server 'main' to dist folder (#44) 2025-04-18 16:29:49 -07:00
Brandon Keiji
6e4d4fc604 fix: temporarily comment out .npmrc (#43) 2025-04-18 16:18:44 -07:00
Taylor Mullen
40e11e053c Fix remaining tslint errors (YAY).
- Also updated ci.yml to ensure that linting failures will break the build.

Fully fixes https://b.corp.google.com/issues/411384603
2025-04-18 19:14:36 -04:00
Brandon Keiji
2a850ed051 fix: add --build flag to tsc commands (#40) 2025-04-18 16:14:20 -07:00
Taylor Mullen
383b917784 Run npm run format
- This has the entirety of the changes.

Part of https://b.corp.google.com/issues/411720532
2025-04-18 18:10:57 -04:00
Taylor Mullen
fa264e4286 Make CI fail if there are unformatted changes.
Fixes https://b.corp.google.com/issues/411720532
2025-04-18 18:10:57 -04:00
Brandon Keiji
23b43ff651 fix: add clean command to individual packages (#36) 2025-04-18 14:57:20 -07:00
Taylor Mullen
e7fa39112a Manually fix hooks and utils linting errors (partial)
- More changes are to come, this is truly a partial change in order to not disrupt as many people as possible.

Part of https://b.corp.google.com/issues/411384603
2025-04-18 17:51:16 -04:00
Allen Hutchison
dfae3f6284 Iterm refactor (#33)
* Add a warning about the flickering in iTerm.

* Move the iterm warning out of App.tsx.
2025-04-18 14:39:05 -07:00
Brandon Keiji
52683dafc3 infra: add multipackage support (#34) 2025-04-18 14:37:02 -07:00
Allen Hutchison
f51ca774cf Add a warning about the flickering in iTerm. (#32) 2025-04-18 14:09:06 -07:00
Evan Senter
482aeaff10 Warn if npm run start is out of date. (#20)
* Adding some wiring to allow the Ink app to warn if there are local development changes that haven't been captured in the recent build of the Gemini CLI.

* Adding a new useAppEffects.ts file that wores some useEffect handlers in.

* Updating package-lock.json to resolve `npm ci` issues.

* Updating package-lock.json and package.json to resolve `npm ci` issues.
2025-04-18 21:55:02 +01:00
Allen Hutchison
3ed61f1ff2 Web fetch tool (#31)
* Adding a web fetch tool.
2025-04-18 13:20:39 -07:00
Brandon Keiji
56d4a35d05 feat: initial configs for npm publishing (#30)
* feat: initial configs for npm publishing

* fix: workspace reference

* fix: include LICENSE in npm run build
2025-04-18 12:46:42 -07:00
Taylor Mullen
abb60a4d10 Finish manually fixing linter errors for tools dir (partial).
- More changes are to come, this is truly a partial change in order to not disrupt as many people as possible.

Part of https://b.corp.google.com/issues/411384603
2025-04-18 14:41:36 -04:00
Jaana Dogan
328846c6e3 Remove extra args from config (#27)
We don't have a use case for them yet.
2025-04-18 11:26:39 -07:00
Jaana Dogan
3afaa8033b Introduce a config module to manage configuration (#22)
* Introduce a config module to manage configuration

* Remove public modifier
2025-04-18 11:12:18 -07:00