Adam Weidman
3d76c80da5
test(core): validate external AbortSignal propagation through LocalSubagentSession
...
The existing abort test mocked the executor to always reject, meaning it
would pass even if the abort wiring was broken. Add a test that actually
fires the caller's AbortSignal and asserts it propagates through the
abortListener -> session.abort() -> internal AbortController -> executor
chain.
2026-03-26 16:28:01 -04:00
Adam Weidman
d034c4dd96
test(core): add unit tests for LocalSubagentProtocol and RemoteSubagentProtocol
...
Adds 58 tests covering lifecycle events, activity translation, config
buffering, session state persistence, auth setup, error handling, abort,
and concurrent send() guard for both new protocol implementations.
Also fixes a timing bug in RemoteSubagentProtocol where _sessionState was
persisted in a finally block, causing it to be written after the result
promise settled. Moved _saveSessionState() calls to run synchronously
before each _resultResolve/_resultReject so callers see updated
contextId/taskId immediately after getResult() settles.
2026-03-26 15:56:14 -04:00
Adam Weidman
f1a3387160
feat(core): wrap local and remote subagents behind AgentProtocol/AgentSession
...
Introduce LocalSubagentProtocol and RemoteSubagentProtocol that implement
AgentProtocol, wrapping LocalAgentExecutor and A2A client streaming
respectively. LocalSubagentSession and RemoteSubagentSession extend
AgentSession and are the public entry points.
- LocalSubagentProtocol: translates SubagentActivityEvent -> AgentEvent
(THOUGHT_CHUNK->message/thought, TOOL_CALL_START->tool_request,
TOOL_CALL_END->tool_response, ERROR->error). Accepts optional
rawActivityCallback for rich SubagentProgress display without losing
displayName/errorType detail that AgentEvent types do not carry.
- RemoteSubagentProtocol: wraps A2A sendMessageStream, maintains
contextId/taskId session state, tracks SubagentProgress per chunk
for error recovery, and returns a ToolResult with proper
SubagentProgress as returnDisplay.
- LocalSubagentInvocation: now uses LocalSubagentSession internally,
preserving all existing SubagentProgress display logic via
rawActivityCallback. External AbortSignal wired through session.abort().
- RemoteAgentInvocation: now uses RemoteSubagentSession, subscribing
to message events for live progress updates.
- SubagentToolWrapper and SubagentTool: add optional onAgentEvent
callback for future parent session observability (currently unused,
wired through invocation constructors to avoid a second pass later).
- index.ts: export LocalSubagentSession and RemoteSubagentSession.
No behavioral change to SubagentProgress display or ToolResult output.
2026-03-26 12:09:47 -04:00
Sehoon Shon
49534209f2
fix(cli): prioritize primary name matches in slash command search ( #23850 )
2026-03-26 12:18:57 +00:00
Gal Zahavi
30e0ab102a
feat(sandbox): dynamic Linux sandbox expansion and worktree support ( #23692 )
...
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-03-26 01:58:45 +00:00
Yuna Seol
ae3dbab38a
fix(core): strip leading underscores from error types in telemetry ( #23824 )
...
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-03-25 23:34:18 +00:00
Jacob Richman
a86935b6de
fix(cli): allow ask question dialog to take full window height ( #23693 )
2026-03-25 23:26:34 +00:00
Steven Robertson
20fd405f9c
fix: Chat logs and errors handle tail tool calls correctly ( #22460 )
...
Co-authored-by: Abhi <43648792+abhipatel12@users.noreply.github.com >
2026-03-25 22:17:30 +00:00
nirali
8595b07f6d
fix(cli): show helpful guidance when no skills are available ( #23785 )
2026-03-25 22:06:44 +00:00
christine betts
3ada29fb51
feat(core,ui): Add experiment-gated support for gemini flash 3.1 lite ( #23794 )
2026-03-25 20:28:49 +00:00
Prasanna Pal
fd0893c346
fix(ui): prevent escape key from cancelling requests in shell mode ( #21245 )
2026-03-25 20:25:13 +00:00
Tommaso Sciortino
20aa695ac4
Revert "perf(cli): optimize --version startup time ( #23671 )" ( #23812 )
2026-03-25 19:59:23 +00:00
Jerop Kipruto
6d3437badb
docs: clarify policy requirement for general.plan.directory in settings schema ( #23784 )
2026-03-25 19:37:48 +00:00
cynthialong0-0
86111c4d54
feat(browser): dynamically discover read-only tools ( #23805 )
2026-03-25 19:16:48 +00:00
Keith Guerin
fe92a43e31
fix(ui): cleanup estimated string length hacks in composer ( #23694 )
2026-03-25 19:15:08 +00:00
Coco Sheng
830f7dec61
fix(cli): resolve TTY hang on headless environments by unconditionally resuming process.stdin before React Ink launch ( #23673 )
2026-03-25 18:18:43 +00:00
Tommaso Sciortino
1b052df52f
feat(core): implement Windows sandbox dynamic expansion Phase 1 and 2.1 ( #23691 )
2026-03-25 17:54:45 +00:00
Shaswat Raj
f11bd3d079
fix(core): thread AbortSignal to chat compression requests ( #20405 ) ( #20778 )
...
Co-authored-by: Tommaso Sciortino <sciortino@gmail.com >
2026-03-25 16:57:59 +00:00
Sri Pasumarthi
c06794b3c6
fix(acp): allow attachments by adding a permission prompt ( #23680 )
2026-03-25 16:52:21 +00:00
Adib234
028d0368d5
fix(policy): relax write_file argsPattern in plan mode to allow paths without session ID ( #23695 )
2026-03-25 16:06:45 +00:00
tony-shi
6deee11449
fix(browser): add proxy bypass constraint to domain restriction system prompt ( #23229 )
...
Co-authored-by: cynthialong0-0 <82900738+cynthialong0-0@users.noreply.github.com >
2026-03-25 15:59:21 +00:00
tony-shi
bbf5c2fe95
fix(browser): detect embedded URLs in query params to prevent allowedDomains bypass ( #23225 )
...
Co-authored-by: cynthialong0-0 <82900738+cynthialong0-0@users.noreply.github.com >
2026-03-25 15:26:00 +00:00
Emily Hedlund
109a7dc531
test(core): install bubblewrap on Linux CI for sandbox integration tests ( #23583 )
2026-03-25 14:29:46 +00:00
cynthialong0-0
5e186bfb22
fix(cli): skip console log/info in headless mode ( #22739 )
2026-03-25 13:46:00 +00:00
Adam Weidman
0c919857fa
feat(core): support inline agentCardJson for remote agents ( #23743 )
2026-03-25 04:03:51 +00:00
kevinjwang1
d78f54a08a
Fix dynamic model routing for gemini 3.1 pro to customtools model ( #23641 )
...
Co-authored-by: Sehoon Shon <sshon@google.com >
2026-03-25 03:16:44 +00:00
Keith Guerin
46aa3fd193
fix(ui): prevent over-eager slash subcommand completion ( #20136 )
2026-03-25 03:11:09 +00:00
Emily Hedlund
5b7f7b30a7
refactor(core): standardize OS-specific sandbox tests and extract linux helper methods ( #23715 )
2026-03-25 02:37:32 +00:00
Gal Zahavi
a6c7affedb
fix(core): conditionally expose additional_permissions in shell tool ( #23729 )
...
Co-authored-by: Sandy Tao <sandytao520@icloud.com >
2026-03-25 01:46:15 +00:00
Emily Hedlund
578d656de9
feat(sandbox): implement forbiddenPaths for OS-specific sandbox managers ( #23282 )
...
Co-authored-by: Gal Zahavi <38544478+galz10@users.noreply.github.com >
2026-03-25 01:23:51 +00:00
matt korwel
bbdd8457df
fix(cli): stabilize copy mode to prevent flickering and cursor resets ( #22584 )
...
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-03-24 23:16:48 +00:00
Alisa
71a9131709
chore(tools): add toJSON to tools and invocations to reduce logging verbosity ( #22899 )
2026-03-24 23:08:29 +00:00
Yuna Seol
397ff84b0e
Refine onboarding metrics to log the duration explicitly and use the tier name. ( #23678 )
2026-03-24 22:19:36 +00:00
Tommaso Sciortino
1f07efb5d8
fix(cli): only show updating spinner when auto-update is in progress ( #23709 )
2026-03-24 15:43:03 -07:00
Adam Weidman
ee425aefa6
fix(core): improve agent loader error formatting for empty paths ( #23690 )
2026-03-24 22:04:28 +00:00
cynthialong0-0
466671eed4
feat(browser): add maxActionsPerTask for browser agent setting ( #23216 )
2026-03-24 21:40:48 +00:00
Jack Wotherspoon
11dc33eab7
fix(core): prevent premature MCP discovery completion ( #23637 )
2026-03-24 20:53:21 +00:00
Adib234
e591b51919
fix(plan): update telemetry attribute keys and add timestamp ( #23685 )
2026-03-24 20:49:50 +00:00
Abhi
055ff92276
revert: chore(config): disable agents by default ( #23672 )
2026-03-24 20:14:48 +00:00
Samee Zahid
84f40768a1
feat(evals): centralize test agents into test-utils for reuse ( #23616 )
...
Co-authored-by: Samee Zahid <sameez@google.com >
2026-03-24 19:50:48 +00:00
Adib234
bf80e27dbc
test(evals): fix overlapping act() deadlock in app-test-helper ( #23666 )
2026-03-24 19:12:22 +00:00
Adam Weidman
999ae7827d
feat(core): change user-facing auth type from oauth2 to oauth ( #23639 )
...
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-03-24 18:46:12 +00:00
Tommaso Sciortino
1c3d397782
use enableAutoUpdate in test rig ( #23681 )
2026-03-24 10:23:57 -07:00
Christian Gunderman
6b7dc4d822
refactor(core): stop gemini CLI from producing unsafe casts ( #23611 )
2026-03-24 16:19:59 +00:00
Sehoon Shon
139cc7b97c
perf(cli): optimize --version startup time ( #23671 )
2026-03-24 15:58:41 +00:00
Adam Weidman
91d756f391
fix(core): improve remote agent streaming UI and UX ( #23633 )
2026-03-24 15:34:04 +00:00
Gal Zahavi
fc18768155
refactor(sandbox): reorganize Windows sandbox files ( #23645 )
2026-03-24 14:32:20 +00:00
Sehoon Shon
893c7d3880
feat(ui): allow immediate user input during startup ( #23661 )
2026-03-24 13:33:17 +00:00
Adib234
dcedc42979
fix(plan): sandbox path resolution in Plan Mode to prevent hallucinations ( #22737 )
...
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-03-24 13:19:29 +00:00
Sri Pasumarthi
46fd7b4864
fix(acp): Pass the cwd to AcpFileSystemService to avoid looping failures in asking for perms to write plan md file ( #23612 )
2026-03-24 05:34:08 +00:00