docs(bidi): add session management and interrupt status pages (#4732)

This commit is contained in:
Patrick Gray
2026-09-30 13:37:27 -04:00
committed by GitHub
parent 536b614fc6
commit 44bd73a241
8 changed files with 38 additions and 8 deletions
+2
View File
@@ -412,6 +412,8 @@ sidebar:
- label: "Overview"
slug: docs/user-guide/sdk/bidirectional-streaming
- docs/user-guide/sdk/bidirectional-streaming/agent
- docs/user-guide/sdk/bidirectional-streaming/session-management
- docs/user-guide/sdk/bidirectional-streaming/interrupts
- docs/user-guide/sdk/bidirectional-streaming/models/bedrock
- docs/user-guide/sdk/bidirectional-streaming/models/google
- docs/user-guide/sdk/bidirectional-streaming/models/openai
@@ -187,7 +187,8 @@ Choose hooks according to the boundary you need to observe:
| `BidiAfterConnectionRestartEvent` | After a restart attempt, including failures |
`BidiAgentStopEvent` carries `agent` and uses reverse callback ordering for cleanup.
The session manager uses this event for its final state sync.
See [Session Management](session-management.mdx) for snapshot session manager support.
`BidiResponseStopEvent` carries `agent` and `response_id`. Hooks run in registration
order and finish before the corresponding streaming event reaches the consumer.
@@ -2,10 +2,6 @@
title: Build a realtime voice agent
description: "Build a realtime agent that streams audio in and out: a persistent BidiAgent connection, a realtime model provider, and the events, I/O, and barge-ins a live conversation needs."
tags: [bidi-streaming]
redirectFrom:
- docs/user-guide/concepts/bidirectional-streaming/session-management
- docs/user-guide/harness/bidirectional-streaming/session-management
- docs/user-guide/sdk/bidirectional-streaming/session-management
sidebar:
label: Overview
---
@@ -0,0 +1,14 @@
---
title: Interrupts
description: "Interrupt support for BidiAgent is in development. This page will cover pausing and resuming bidirectional conversations when interrupt support is available."
languages: [python]
tags: [bidi-streaming]
sidebar:
label: Interrupts
---
:::note[In development]
Interrupt support for `BidiAgent` is in the works. Track progress in [#3981](https://github.com/strands-agents/harness-sdk/issues/3981).
:::
For interrupts with `Agent`, see [here](../interrupts.mdx).
@@ -15,7 +15,7 @@ The [Gemini Live API](https://ai.google.dev/gemini-api/docs/live) lets developer
- **Bidirectional Interaction**: The user and the model can provide input and output at the same time.
- **Barge-in**: Users can speak during the model's response, and the model adjusts its response.
- **Tool Use and Function Calling**: The API can use external tools to perform actions and get context while maintaining a real-time connection.
- **Session Management**: Supports managing long conversations through sessions, providing context and continuity.
- **Provider Sessions**: Maintains conversation context within a Gemini Live session. For SDK session persistence, see [Session Management](../session-management.mdx).
- **Secure Authentication**: Uses tokens for secure client-side authentication.
## Installation
@@ -0,0 +1,17 @@
---
title: Session Management
description: "Snapshot session manager support for BidiAgent is in development. This page will cover bidirectional streaming session management when support is available."
languages: [python]
tags: [bidi-streaming]
sidebar:
label: Session Management
redirectFrom:
- docs/user-guide/concepts/bidirectional-streaming/session-management
- docs/user-guide/harness/bidirectional-streaming/session-management
---
:::note[In development]
Snapshot session manager support for `BidiAgent` is in the works. Track progress in [#3968](https://github.com/strands-agents/harness-sdk/issues/3968).
:::
For snapshot session management with `Agent`, see [here](../agents/session-management.mdx).
@@ -219,4 +219,4 @@ The table below compares feature availability between the Python and TypeScript
| **Session management** | [File, S3, repository managers](../agents/session-management/) | ✅ | ✅ |
| **Observability** | [OpenTelemetry integration](../observability-evaluation/observability/) | ✅ | ✅ |
| **Steering** | [Agent steering](../agents/interventions/steering/) | ✅ | ✅ |
| **Experimental** | [Bidirectional streaming](../bidirectional-streaming/quickstart/) | ✅ | ❌ |
| **Realtime** | [Bidirectional streaming](../bidirectional-streaming/quickstart/) | ✅ | ❌ |
+1 -1
View File
@@ -108,7 +108,7 @@ describe('Content Collections', () => {
titleMap.set(doc.data.title, slugs)
}
const allowedDuplicates = new Set(['Steering'])
const allowedDuplicates = new Set(['Interrupts', 'Steering'])
const collisions = [...titleMap.entries()].filter(
([title, slugs]) => slugs.length > 1 && !allowedDuplicates.has(title)
)