Commit Graph

14 Commits

Author SHA1 Message Date
Sambhav Khanna 40c4070846
feat(tool): sort tool list alphabetically for deterministic output (#3095)
Co-authored-by: Pascal Birchler <pascalb@google.com>
2025-07-15 18:35:35 +00:00
Billy Biggs bc4182b9d2
Show stderr output from mcp servers in debug mode (#4049) 2025-07-14 04:42:22 +00:00
N. Taylor Mullen 44ef0408f3
feat(tools): Centralize shell tool summarization (#4009) 2025-07-13 04:09:12 +00:00
anj-s 23197151c2
Summarize tool call outputs using tool specific summarizers (#3745) 2025-07-11 16:29:08 +00:00
Tommaso Sciortino 357546a2aa
Initialize MCP tools once at start up instead of every time we auth. (#3483) 2025-07-07 22:01:59 +00:00
Tommaso Sciortino 2b135d0e9e
Remove unneeded code. (#3467)
Co-authored-by: Scott Densmore <scottdensmore@mac.com>
2025-07-07 19:35:29 +00:00
BigUncle b564d4a088
fix(core): Sanitize tool parameters to fix 400 API errors (#3300) 2025-07-05 21:58:51 +00:00
Jacob Richman aa386d135b
Jacob314/memory fixes (#754)
Address multiple possible memory leaks found bystatic analysis of the codebase. The primary source of the leaks was event listeners on child processes and global objects that were not being properly removed, potentially causing their closures to be retained in memory indefinitely particularly for processes that did not exit.

There are two commits. A larger one made by gemini CLI and a smaller one by me to make sure we always disconnect child processes as part of the cleanup methods. These changes may not actually fix any leaks but do look like reasonable defensive coding to avoid leaking event listeners or child processes.

The following files were fixed:
This is Gemini's somewhat overconfident description of what it did.

packages/core/src/tools/shell.ts: Fixed a leak where an abortSignal listener was not being reliably removed.
packages/cli/src/utils/readStdin.ts: Fixed a significant leak where listeners on process.stdin were never removed.
packages/cli/src/utils/sandbox.ts: Fixed leaks in the imageExists and pullImage helper functions where listeners on spawned child processes were not being removed.
packages/core/src/tools/grep.ts: Fixed three separate leaks in the isCommandAvailable check and the git grep and system grep strategies due to un-removed listeners on child processes.
packages/core/src/tools/tool-registry.ts: Corrected a leak in the execute method of the DiscoveredTool class where listeners on the spawned tool process were not being removed.
2025-06-05 06:40:33 -07:00
N. Taylor Mullen c71d6ddc3b
Fix: Ensure MCP tools are discovered from slow-starting servers (#717) 2025-06-03 07:40:51 +00:00
Brandon Keiji 74801e9004
refactor: maintain 1 GeminiChat per GeminiClient (#710) 2025-06-02 19:10:54 -07:00
Olcan 59b6267b2f
allow toolDiscoveryCommand to return function declarations with or without a tool wrapper; fully document both toolDiscoveryCommand and toolCallCommand with examples and pointers to API docs (#696) 2025-06-02 13:41:49 -07:00
N. Taylor Mullen 58597c29d3
refactor: Update MCP tool discovery to use @google/genai - Also fixes JSON schema issues. (#682) 2025-06-02 20:39:25 +00:00
Olcan c5869db080
enable async tool discovery by making the registry accessor async; remove call to discoverTools that caused duplicate discovery (#691) 2025-06-02 09:56:32 -07:00
Tommaso Sciortino 21fba832d1
Rename server->core (#638) 2025-05-30 18:25:47 -07:00