| Age | Commit message (Collapse) | Author |
|
- 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
|
|
- 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
|
|
- 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
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
* 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.
|
|
Doing some more clean-up:
* Remove confusing continue/break
* Handle empty result
* Rename the file just client.js
|
|
|
|
|
|
|
|
sandbox name in footer (#96)
|
|
During docker build `npm install` running as node was exiting with 243 (EACCES) from trying to install the tgz files because `npm pack` created the files with 400 permissions on my system.
|
|
|
|
|
|
hostname and SANDBOX env var to container name (#92)
|
|
* getToolSchemas is deprecated.
* listAvailableTools is now getAllTools.
|
|
|
|
|
|
|
|
Else branches are an anti pattern especially if you can easily return from the previous branch. Over time, else branches cause deep nesting and make code unreadable and unmaintainable. Remove elses where possible.
|
|
|
|
This module is no longer needed and the types can be provided from types.
|
|
- This fixes what it means to get confirmations in GC. Prior to this they had just been accidentally unwired as part of all of the refactorings to turns + to server/core.
- The key piece of this is that we wrap the onConfirm in the gemini stream hook in order to resubmit function responses. This isn't 100% ideal but gets the job done for now.
- Fixed history not updating properly with confirmations.
Fixes https://b.corp.google.com/issues/412323656
|
|
|
|
.env file is optional. If it doesn't exist, the current script outputs "grep: .env: No such file or directory".
|
|
formatting) (#81)
|
|
|
|
|
|
- The tl;dr; is that GC couldn't see what the user was saying when tool call events happened in response. The rason why this was happening was because we were instantly invoking tools that the model told us to invoke and then instantly re-requesting. This resulted in the bug because the genai APIs can't update the chat history before a full response has been completed (doesn't know how to update if it's incomplete).
- To address the above issue I had to do quite the large refactor. The gist is that now turns truly drive everything on the server (vs. a server client split). This ensured that when we got tool invocations we could control when/how re-requesting would happen and then also ensure that history was updated. This change also meant that the server would act as an event publisher to enable the client to react to events rather than try and weave in complex logic between the events.
- A BIG change that this changeset incudes is the removal of all of the CLI tools in favor of the server tools.
- Removed some dead code as part of this
- **NOTE: Confirmations are still broken (they were broken prior to this); however, I've set them up to be able to work in the future, I'll dot hat in a follow up to be less breaking to others.**
Fixes https://b.corp.google.com/issues/412320087
|
|
|
|
|
|
|
|
- We now have CI/CD
- We have linting support (so added a section)
- Fixed `npm run debug` to allow debugging again.
|
|
|
|
- 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.
|
|
|
|
and fix missing license headers while we're here) (#62)
|
|
|
|
error handling in bash scripts (#63)
#61
|
|
|
|
|
|
|
|
|
|
* Wire through passthrough commands
* Add default passthrough commands
* Clean up config passing to useGeminiStream
|
|
* refactor: clean up build output
* refactor: add index.ts to package roots
|
|
* Adds debug mode config flag.
* Wire through debug lines
* Add debug mode logging example
* Run format
* Run format again
|