Adam Weidman
df81bfe1f2
feat: Google Chat bridge with YOLO mode, text-based approvals, and Add-ons support
...
- Add normalizeEvent() to convert Workspace Add-ons event format to legacy ChatEvent
- Add wrapAddOnsResponse() for Add-ons response wrapping
- Mount chat bridge routes BEFORE A2A SDK catch-all handler
- Replace card button approvals with text-based approve/reject/always allow
- Add /reset, /yolo, /safe slash commands for session control
- Add YOLO mode tool approval dedup (filter auto-approved surfaces)
- Add extractCommandSummary() for concise tool card display
- Delegate auth to Cloud Run IAM when K_SERVICE env var detected
- Add JWT debug logging for token claim inspection
2026-02-12 16:12:18 -05:00
Adam Weidman
1c926921ed
fix: delegate auth to Cloud Run IAM when K_SERVICE is set
...
Cloud Run strips the Authorization header after using it for IAM
validation, so our JWT middleware can never see the token. When
running on Cloud Run (detected via K_SERVICE env var), skip
app-level JWT verification since Cloud Run IAM already ensures
only authorized service accounts (chat@system.gserviceaccount.com )
can reach the container.
2026-02-12 12:19:35 -05:00
Adam Weidman
d1ca874dd1
fix: deduplicate agent response text from task history
...
Task history contains multiple status-update messages that may
reference the same A2UI surface. Use only the last non-empty
agent response to avoid duplicate text in Chat output.
2026-02-12 11:20:32 -05:00
Adam Weidman
470228e7a0
fix: extract A2UI content from task history in blocking mode
...
The blocking DefaultRequestHandler accumulates intermediate status-update
events into task.history. The A2UI response content from "working" events
lives there, while the final "input-required" status has no message.
Updated extractAllParts to check history. Reverted to blocking mode
since streaming had transport issues.
2026-02-12 11:10:50 -05:00
Adam Weidman
9d12980baa
feat: add JWT verification middleware for Google Chat webhook
...
Verifies Bearer tokens from Google Chat using google-auth-library.
Checks issuer (chat@system.gserviceaccount.com ) and audience
(CHAT_PROJECT_NUMBER). Verification is skipped when project number
is not configured, allowing local testing without tokens.
2026-02-12 10:56:42 -05:00
Adam Weidman
b85a3bafe5
feat: switch chat bridge to streaming for full A2UI content capture
...
Blocking mode only returns the final task state, missing intermediate
A2UI response content from working status-update events. Streaming
captures all events and aggregates parts into the response.
2026-02-12 10:36:58 -05:00
Adam Weidman
72ea38b306
fix: resolve agent card URL for A2A client initialization
...
ClientFactory.createFromUrl expects the full agent card URL
(/.well-known/agent-card.json), not just the base server URL.
Also adds CHAT_BRIDGE_A2A_URL to k8s deployment and test script.
2026-02-12 10:23:47 -05:00
Adam Weidman
57f3c9ca1a
feat: add Google Chat bridge for A2UI integration
...
Implements a Google Chat HTTP webhook bridge that connects Google Chat
to the A2A server. Each Chat thread maps to an A2A contextId/taskId
pair. The bridge converts A2UI tool approval surfaces to Google Chat
Cards V2 with Approve/Always Allow/Reject buttons, and handles
CARD_CLICKED events to forward tool confirmations back to the A2A server.
Components:
- chat-bridge/types.ts: Google Chat event/response types
- chat-bridge/session-store.ts: Thread -> A2A session mapping
- chat-bridge/a2a-bridge-client.ts: A2A SDK client wrapper
- chat-bridge/response-renderer.ts: A2UI -> Google Chat Cards V2
- chat-bridge/handler.ts: Event handler (MESSAGE, CARD_CLICKED)
- chat-bridge/routes.ts: Express routes mounted at /chat/webhook
2026-02-12 10:11:58 -05:00
Adam Weidman
5ea957c84b
feat: add A2UI extension support and GKE deployment infrastructure
...
Implement A2UI v0.10 protocol compliance for the a2a-server:
- Add a2ui-extension.ts with constants, Part helpers, extension detection
- Add a2ui-components.ts with standard catalog component builders
- Add a2ui-surface-manager.ts for tool approval, response, thought surfaces
- Integrate A2UI into task.ts and executor.ts
- Add configurable bind host (CODER_AGENT_HOST) for k8s compatibility
Add GKE deployment infrastructure:
- Dockerfile, cloudbuild.yaml, k8s deployment manifest, .dockerignore
2026-02-11 19:23:56 -05:00
N. Taylor Mullen
ece001f264
fix(ui): remove redundant newlines in Gemini messages ( #18538 )
2026-02-10 04:18:21 +00:00
joshualitt
89d4556c45
feat(core): Render memory hierarchically in context. ( #18350 )
2026-02-10 02:01:59 +00:00
Christian Gunderman
fd65416a2f
Disallow unsafe type assertions ( #18688 )
2026-02-10 00:10:15 +00:00
Sandy Tao
28805a4b2d
refactor: simplify tool output truncation to single config ( #18446 )
2026-02-06 21:41:19 +00:00
Sehoon Shon
61d92c4a21
Remove previewFeatures and default to Gemini 3 ( #18414 )
2026-02-06 18:02:57 +00:00
gemini-cli-robot
99e523a15f
chore(release): bump version to 0.29.0-nightly.20260203.71f46f116 ( #18243 )
2026-02-04 14:43:29 +00:00
Shreya Keshive
1fc59484b1
feat(admin): add support for MCP configuration via admin controls (pt1) ( #18223 )
2026-02-03 21:19:14 +00:00
David Pierce
75dbf9022c
A2a admin setting ( #17868 )
2026-02-03 20:16:20 +00:00
gemini-cli-robot
ef3146eed6
chore(release): bump version to 0.28.0-nightly.20260128.adc8e11bb ( #17725 )
2026-01-28 03:25:06 +00:00
Alisa
adc8e11bb1
Add support for an additional exclusion file besides .gitignore and .geminiignore ( #16487 )
...
Co-authored-by: Adam Weidman <adamfweidman@google.com >
2026-01-28 01:19:13 +00:00
David Pierce
39e91ad633
Follow up to "enableInteractiveShell for external tooling relying on a2a server" ( #17130 )
2026-01-26 15:14:48 +00:00
matt korwel
57601adc90
feat(routing): A/B Test Numerical Complexity Scoring for Gemini 3 ( #16041 )
...
Co-authored-by: N. Taylor Mullen <ntaylormullen@google.com >
2026-01-22 22:12:07 +00:00
gemini-cli-robot
169d906fe3
chore(release): bump version to 0.27.0-nightly.20260121.97aac696f ( #17181 )
2026-01-21 05:23:58 +00:00
Coco Sheng
79076d1d52
[A2A] Disable checkpointing if git is not installed ( #16896 )
2026-01-20 16:38:38 +00:00
Adam Weidman
a76946189a
chore: remove a2a-adapter and bump @a2a-js/sdk to 0.3.8 ( #16800 )
2026-01-17 01:01:39 +00:00
Coco Sheng
5ba6e243b5
Restricting to localhost ( #16548 )
...
Co-authored-by: Adam Weidman <adamfweidman@google.com >
2026-01-15 18:59:34 +00:00
gemini-cli-robot
b0c9db7b33
chore/release: bump version to 0.26.0-nightly.20260115.6cb3ae4e0 ( #16738 )
...
Co-authored-by: Sehoon Shon <sshon@google.com >
2026-01-15 08:24:47 +00:00
Abhi
6021e4c3ba
feat(scheduler): add types needed for event driven scheduler ( #16641 )
2026-01-14 22:22:44 +00:00
Emily Hedlund
764016bca7
fix(a2a): Don't throw errors for GeminiEventType Retry and InvalidStream. ( #16541 )
...
Co-authored-by: Gal Zahavi <38544478+galz10@users.noreply.github.com >
2026-01-14 17:04:51 +00:00
gemini-cli-robot
a1cbe85da3
chore(release): bump version to 0.26.0-nightly.20260114.bb6c57414 ( #16604 )
2026-01-14 13:37:32 +00:00
Coco Sheng
d7bff8610f
feat(a2a): Introduce /memory command for a2a server ( #14456 )
...
Co-authored-by: Shreya Keshive <shreyakeshive@google.com >
2026-01-12 21:46:42 +00:00
wszqkzqk
84710b1953
test(command-registry): increase initialization test timeout ( #15979 )
...
Signed-off-by: Zhou Qiankang <wszqkzqk@qq.com >
Co-authored-by: Tommaso Sciortino <sciortino@gmail.com >
2026-01-08 23:46:29 +00:00
David Pierce
cf021ccae4
enableInteractiveShell for external tooling relying on a2a server ( #16080 )
2026-01-08 17:03:30 +00:00
Abhi
5fe5d1da46
policy: extract legacy policy from core tool scheduler to policy engine ( #15902 )
2026-01-07 04:28:06 +00:00
N. Taylor Mullen
7956eb239e
Introduce GEMINI_CLI_HOME for strict test isolation ( #15907 )
2026-01-07 04:09:39 +00:00
gemini-cli-robot
b54215f0a5
chore(release): bump version to 0.25.0-nightly.20260107.59a18e710 ( #16048 )
2026-01-07 02:25:28 +00:00
Abhi
eec5d5ebf8
feat(core): restore MessageBus optionality for soft migration (Phase 1) ( #15774 )
2026-01-04 19:59:35 +00:00
Adib234
10ae84869a
Migrate console to coreEvents.emitFeedback or debugLogger ( #15219 )
2025-12-29 20:46:10 +00:00
Abhi
dcd2449b1a
refactor: deprecate legacy confirmation settings and enforce Policy Engine ( #15626 )
2025-12-29 19:22:42 +00:00
gemini-cli-robot
a3d214f8d7
chore/release: bump version to 0.24.0-nightly.20251227.37be16243 ( #15612 )
2025-12-27 05:29:40 +00:00
Gal Zahavi
65e2144b3d
Manual nightly version bump to 0.24.0-nightly.20251226.546baf993 ( #15594 )
2025-12-26 19:40:46 +00:00
Adam Weidman
02a36afc38
feat: Add A2A Client Manager and tests ( #15485 )
2025-12-23 20:27:16 +00:00
gemini-cli-robot
8643d60b88
chore/release: bump version to 0.21.0-nightly.20251220.41a1a3eed ( #15352 )
2025-12-21 03:59:46 +00:00
gemini-cli-robot
3c92bdb1ad
chore/release: bump version to 0.21.0-nightly.20251219.70696e364 ( #15301 )
2025-12-19 16:17:12 +00:00
gemini-cli-robot
124a6da743
chore/release: bump version to 0.21.0-nightly.20251218.739c02bd6 ( #15231 )
2025-12-17 16:54:26 -08:00
Adam Weidman
948401a450
chore: update a2a-js to 0.3.7 ( #15197 )
2025-12-17 18:07:52 +00:00
Christian Gunderman
7f2d33458a
Disallow unnecessary awaits. ( #15172 )
2025-12-17 05:28:18 +00:00
gemini-cli-robot
e79b149985
chore/release: bump version to 0.21.0-nightly.20251216.bb0c0d8ee ( #15121 )
2025-12-16 17:46:42 +00:00
Sehoon Shon
2995af6a21
use previewFeatures to determine which pro model to use for A2A ( #15131 )
2025-12-16 03:51:23 +00:00
Mayur Vaid
0c3eb82671
fix: Mark A2A requests as interactive ( #15108 )
2025-12-16 02:54:41 +00:00
Abhi
d236df5b21
Fix tool output fragmentation by encapsulating content in functionResponse ( #13082 )
2025-12-15 20:36:34 +00:00