public static interface SessionServiceGrpc.AsyncServiceSession service provides APIs for interacting with CES agents.
Methods
bidiRunSession(StreamObserver<BidiSessionServerMessage> responseObserver)
public default StreamObserver<BidiSessionClientMessage> bidiRunSession(StreamObserver<BidiSessionServerMessage> responseObserver)Establishes a bidirectional streaming connection with the CES agent. The agent processes continuous multimodal inputs (e.g., text, audio) and generates real-time multimodal output streams. --- Client Request Stream --- The client streams requests in the following order:
- Initialization: The first message must contain SessionConfig. For audio sessions, this should also include InputAudioConfig and OutputAudioConfig to define audio processing and synthesis parameters.
- Interaction: Subsequent messages stream SessionInput containing real-time user input data.
- Termination: The client should half-close the stream when there is no more user input. It should also half-close upon receiving EndSession or GoAway from the agent. --- Server Response Stream --- For each interaction turn, the agent streams messages in the following sequence:
- Speech Recognition (First N messages): Contains RecognitionResult representing the concatenated user speech segments captured so far. This is only populated for audio sessions.
- Response (Next M messages): Contains SessionOutput delivering the agent's response in various modalities (e.g., text, audio).
- Turn Completion (Final message of the turn): Contains SessionOutput with turn_completed set to true. This signals the end of the current turn and includes DiagnosticInfo with execution details. --- Audio Best Practices ---
- Streaming: Stream audio data CONTINUOUSLY, even during silence. Recommended chunk size: 40-120ms (balances latency vs. efficiency).
- Playback & Interruption: Play audio responses upon receipt. Stop playback immediately if an InterruptionSignal is received (e.g., user barge-in or new agent response).
| Parameter | |
|---|---|
| Name | Description |
responseObserver |
io.grpc.stub.StreamObserver<BidiSessionServerMessage> |
| Returns | |
|---|---|
| Type | Description |
io.grpc.stub.StreamObserver<BidiSessionClientMessage> |
|
runSession(RunSessionRequest request, StreamObserver<RunSessionResponse> responseObserver)
public default void runSession(RunSessionRequest request, StreamObserver<RunSessionResponse> responseObserver)Initiates a single turn interaction with the CES agent within a session.
| Parameters | |
|---|---|
| Name | Description |
request |
RunSessionRequest |
responseObserver |
io.grpc.stub.StreamObserver<RunSessionResponse> |