summaryrefslogtreecommitdiff
path: root/packages/cli/src/utils/sandbox.ts
AgeCommit message (Collapse)Author
2025-06-05skip npm build for custom sandbox (#779)Olcan
2025-06-05use execSync (vs spawnSync) so launch fails if build_sandbox fails; tweaks ↵Olcan
in build_sandbox to fix some shellcheck warnings, and to simplify the logic slightly (#767)
2025-06-05fix: Disable automatic image building if BUILD_SANDBOX is not provided (#764)Tolik Malibroda
2025-06-05feat: Add multi-stage docker build support for custom sandbox.Dockerfile (#746)Tolik Malibroda
2025-06-05Jacob314/memory fixes (#754)Jacob Richman
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-04fix: Fix piped input mode in sandbox (#739)Tolik Malibroda
2025-06-03fix BUILD_SANDBOX env var for updating sandbox while running linked binary ↵Olcan
(#729)
2025-06-03fix: do not try to pull development sandbox image from the internet (#725)Brandon Keiji
2025-05-30fix(sandbox): pull sandbox image if it doesnt exist locally (#628)Brandon Keiji
2025-05-30feat(sandbox): use package config to dictate sandbox image name (#624)Brandon Keiji
2025-05-29allow writing to user cache directory on macos (fixes use of lyria mcp ↵Olcan
server [to generate songs] under seatbelt) (#600)
2025-05-23update email to gemini-cli-dev (#510)Olcan
2025-05-20fix HOME in sandbox on cloudtops (linux) (#454)Olcan
2025-05-17rename env vars GEMINI_CODE_{MODEL,SANDBOX,SANDBOX_IMAGE} (#411)Olcan
2025-05-15move sandbox-related messages to stderr (#363)Olcan
2025-05-13fix(sandbox): default to current user profile for debian/ubuntu env (#337)Brandon Keiji
2025-05-13refactor: shorten 'gemini' binary name (#329)Brandon Keiji
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-09sandbox/seatbelt-aware system prompt, support for custom seatbelt profiles ↵Olcan
under project settings (#304)
2025-05-09fix debugging with seatbelt, including in strict profile (#300)Olcan
2025-05-08fix(sandbox): set --inspect-brk in production sandbox when env DEBUG is ↵Brandon Keiji
truthy (#295)
2025-05-08allow SEATBELT_PROFILE=none to disable seatbelt on macos (#296)Olcan
2025-05-08refined sandbox/seatbelt log message, pass NODE_OPTIONS along to sandboxed ↵Olcan
node (#292)
2025-05-08adjust seatbelt to allow write into specific dirs under user home (#289)Olcan
2025-05-07rename SANDBOX_EXEC_PROFILE as SEATBELT_PROFILE, and fix another accidental ↵Olcan
rephrasing (#285)
2025-05-07use seatbelt on macos, with two profiles: minimal (default) which only ↵Olcan
restricts writes, and strict, which is deny-by-default and only allows specific operations (#283)
2025-05-07fix(sandbox): consolidate dev and prod sandbox (#273)Brandon Keiji
2025-05-03make sandbox venv support more robust, allowing arbitrary venv path, and ↵Olcan
ignoring venv outside workdir (instead of erroring out) (#254)
2025-05-03enable recreating a python virtual env (.venv folder) inside sandbox (#253)Olcan
2025-05-02custom sandboxing via sandbox.Dockerfile and sandbox.bashrc in project ↵Olcan
settings (#249)
2025-05-02pass PATH and PYTHONPATH into sandbox, let sandbox scripts recognize user ↵Olcan
settings for sandbox (#247)
2025-05-02sandbox setting and argument (#243)Olcan
2025-05-01mount user settings in sandbox (#239)Olcan
2025-05-01remove start_sandbox.sh script (#238)Olcan
2025-04-30refactor: make parseImageName more readable (#228)Brandon Keiji
2025-04-30refactor(sandbox): make cli path agnostic of docker container build rules (#226)Brandon Keiji
2025-04-29refactor: move sandbox js code to its own module (#225)Brandon Keiji