summaryrefslogtreecommitdiff
path: root/packages/server/src
AgeCommit message (Collapse)Author
2025-05-14Improve read-many-files display messageSeth Troisi
2025-05-14Add UI memory indicator. (#348)Allen Hutchison
Co-authored-by: Gregory Shikhman <[email protected]>
2025-05-14refactor: break submitQuery into smaller functions (#350)Brandon Keiji
2025-05-14This commit introduces the hierarchical memory feature, allowing GEMI… (#327)Allen Hutchison
2025-05-13fall back to ~/.env if .env is not found in current directory or any ↵Olcan
ancestors (#338)
2025-05-13mention `git diff --staged` for partial commits (#336)Olcan
2025-05-13use git diff HEAD instead of git diff && git diff --staged (#333)Olcan
2025-05-12Encourage utilization of `git diff --staged` for commit message writing.Taylor Mullen
- This enables GC to base commit message changes on actual file content.
2025-05-12feat: Enhance `replace` tool reliability with multi-stage edit correctionTaylor Mullen
This commit significantly improves the `replace` tool's robustness by introducing a multi-stage correction mechanism. This directly addresses challenges with LLM-generated tool inputs, particularly the over-escaping of strings sometimes observed with Gemini models, and other minor discrepancies that previously led to failed edits. The correction process is as follows: 1. **Targeted Unescaping:** The system first applies a specialized unescaping function to the `old_string` and `new_string` to counteract common LLM-induced escaping patterns. 2. **LLM-Powered Discrepancy Resolution:** If a unique match for the `old_string` is still not found, the system leverages a Gemini model (`gemini-2.5-flash-preview-04-17`) to: * Identify the most probable intended `old_string` in the file by intelligently correcting minor formatting or escaping differences. * Adjust the `new_string` to correspond with any corrections made to the `old_string`, maintaining the original edit's intent. This enhancement makes the `replace` tool more resilient and effective, leading to a higher success rate for automated code modifications. The `expected_replacements` parameter has been removed as the tool now focuses on finding a single, unique, and correctable match. The tool's description and error reporting have been updated to reflect these new capabilities. Fixes https://b.corp.google.com/issues/416933027
2025-05-12ensure no 'undefined' in system prompt (#322)Olcan
2025-05-12system prompt for working with git (#321)Olcan
2025-05-12When an error occurs stop processing.Taylor Mullen
2025-05-11feat: Add User-Agent to API requestsTaylor Mullen
This change introduces a User-Agent header to all API requests made by the Gemini CLI. The User-Agent string includes the CLI version, Node.js version, operating system, and architecture. This will help in tracking usage and identifying potential issues. Fixes https://b.corp.google.com/issues/416353675 Signed-off-by: Gemini
2025-05-11feat: Integrate centralized error reporting for API interactionsTaylor Mullen
Implements robust error handling for Gemini API calls, integrating with the centralized error reporting system. - API errors are now caught and reported to dedicated log files, providing detailed diagnostics without cluttering the user interface. - A concise error message is surfaced to the user in the UI, indicating an API issue. - Ensures any pending UI updates are processed before an API error is displayed. This change improves our ability to diagnose API-related problems by capturing rich error context centrally, while maintaining a clean user experience. Signed-off-by: Gemini <[email protected]>
2025-05-11Workaround model bug where it returns invalid history items.Taylor Mullen
- Currently there's a bug in the API (or SDK?) where the SDK endpoint will commonly fail with: ``` Error: Failed to generate JSON content: got status: 400 Bad Request. {"error":{"code":400,"message":"* GenerateContentRequest.contents[5].parts: contents.parts must not be empty.\n","status":"INVALID_ARGUMENT"}} ``` - At times the model will respond with an empty parts list where if we send that back up to the API endpoint it explodes with the above. Using a curated history seems like a total hack around this prolbem, and even in the SDK (i'm following up on this), BUT helps mitigate this issue.
2025-05-11Remove terminal tool and dependencies.Taylor Mullen
- We now solely use the shell tool. This deletes all content around the legacy terminal tool so we can focus on improving the new Shell tool. - Remove instances from sandboxing, tests, utilities etc.
2025-05-10Log server information on error.Taylor Mullen
- The goal of this is to enable us to better diagnose server issues when they occur. - Added tests because why not.
2025-05-10Don't prematurely end convo w/ Gemini.Taylor Mullen
- There seems to be a root model bug where the model will preemptively bail on conversations without trying harder. Typically the stops are VERY obvious and bug-looking where you need to prmopt the model to "continue". - This PR attempts to fix the above by running a 2.0-flash request (don't need somethign more powerful) at the end of every full interaction to see who should speak (user or model). - Add tests for nextSpeakerChecker Fixes https://b.corp.google.com/issues/416826051
2025-05-10Enable tools to cancel active execution.Taylor Mullen
- Plumbed abort signals through to tools - Updated the shell tool to properly cancel active requests by killing the entire child process tree of the underlying shell process and then report that the shell itself was canceled. Fixes https://b.corp.google.com/issues/416829935
2025-05-09Make cancel not explode.Taylor Mullen
- We were console.erroring, throwing and early aborting. Instead we now treat cancels like a normal user message and show an indicator in the UI Fixes https://b.corp.google.com/issues/416515841
2025-05-09sandbox/seatbelt-aware system prompt, support for custom seatbelt profiles ↵Olcan
under project settings (#304)
2025-05-09fix MCP under seatbelt, improve error handling (#301)Olcan
2025-05-08fix json import warning (#291)Olcan
2025-05-07 Update EditTool description for clarity and better parameter guidance.Taylor Mullen
- Prior to this change, the model would often escape parameters when requesting edits, leading to failures in matching the original content. This update clarifies the expected format for `old_string` and `new_string` to prevent such issues. - Update `EditTool` description to provide clearer instructions. - Clarify expectations for `old_string` and `new_string` parameters, emphasizing the need for exact, unescaped text. - Aim to reduce user errors by setting better expectations for tool usage. Fixes: https://b.corp.google.com/issues/413088274 — Your friendly neighborhood Gemini
2025-05-07Continue to work through 429/500s.Taylor Mullen
- The root of this issue was actually a genai SDK bug that was fixed here: https://critique.corp.google.com/cl/753255997 - Upgrade to latest genai SDK for latest bug fixes (including the above) - Removed specific 429 handling for uncaught rejections. Fixes https://b.corp.google.com/issues/413760164
2025-05-06drop restriction on whitespace in bash commands (#272)Olcan
2025-05-06use temp file instead of footer to allow arbitrary chunking of streams and ↵Olcan
arbitrary interleaving with output from background processes (#267)
2025-05-06fix: use flat config for react eslint plugin (#265)Brandon Keiji
2025-05-05Add vibe coding instructions for 0->game.Taylor Mullen
- Prior to this GC would attempt to utilize React components as game assets (instead of using canvas) + would fail to deal with placeholder assets effectively. Part of https://b.corp.google.com/issues/413718497
2025-05-05added todo about removing mcp dependency once support is built into genai SDKolcan
2025-05-05extra spacing in discovered tool descriptionsolcan
2025-05-05support for mcp toolsolcan
2025-05-05support for discovered tools using project settings for discovery and call ↵olcan
commands
2025-05-05Remove passthroughCommands (#252)Seth Troisi
2025-05-02Cleanup low value comments. (#248)Jacob Richman
2025-05-02Use parameter properties for constructor parameters in config.ts (#245)Jacob Richman
2025-05-02Use parameter properties where possible. (#242)Jacob Richman
2025-05-02sandbox setting and argument (#243)Olcan
2025-05-01Support escaping spaces in file paths. (#241)Jacob Richman
2025-04-30simplify directory display in shell tool description (#230)Olcan
2025-04-29do not prepend ./ to absolute paths or . (#220)Olcan
2025-04-28switch to shell tool, deprecating terminal (#203)Olcan
* switch to shell tool, deprecating terminal * Merge remote-tracking branch 'origin/main' into deprecate_terminal
2025-04-28do not prepend ./ unless missing (#200)Olcan
* do not prepend ./ unless missing * Merge remote-tracking branch 'origin/main' into dir_prefix_fix
2025-04-28rename dev image with -dev suffix (#195)Olcan
2025-04-28shell tool tweaks (#194)Olcan
2025-04-27Refactor: Update core system prompt with new application workflow and ↵Taylor Mullen
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-27minimal shell tool (#191)Olcan
2025-04-27don't confirm invalid params in terminal tool, or in general (added comments ↵Olcan
to base class) (#187)
2025-04-26Prevent console.warn's for tool calls.Taylor Mullen
- 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-25more consistent confirmations, TODO to improve write confirmations, drop ↵Olcan
"description" from execution confirmation, add confirmation to new (still dummy) shell tool (#176)