Implement the gRPC code-mode host service (#37530)

## What changed

- Export `GrpcCodeModeHost` as a transport-independent implementation of the
  code-mode gRPC API.
- Support leased sessions, execution and wait lifecycle operations, filtered
  nested tool-call subscriptions, tool completions, and notification
  acknowledgements.
- Share host-wide request and active-cell limits across the existing and gRPC
  transports, and bound identifiers, metadata, subscriptions, and pending
  callbacks.

## Testing

- Add coverage for request conversion, ordered callback routing, cancellation,
  session cleanup, backpressure, malformed input, and resource-limit handling.

GitOrigin-RevId: f146ba7e6fe4e4aa02f25dd3f961120980516d0e
This commit is contained in:
Channing Conger
2026-08-08 04:13:55 +00:00
committed by copyberry
parent f65ea998c7
commit 61a3dd4387
17 changed files with 2950 additions and 19 deletions
+1 -1
View File
@@ -877,7 +877,7 @@ async fn malformed_websocket_frame_does_not_stop_the_listener() -> Result<()> {
.next_line()
.await?
.context("code-mode host exited before reporting the malformed frame")?;
if line.contains("code-mode host websocket connection failed") {
if line.contains("code-mode host session failed") {
return Ok::<_, anyhow::Error>(line);
}
}