ccproxy.claude_sdk.stream_handle¶
ccproxy.claude_sdk.stream_handle
¶
Stream handle for managing worker lifecycle and providing listeners.
StreamHandle
¶
StreamHandle(
message_iterator,
session_id=None,
request_id=None,
session_client=None,
session_config=None,
)
Handle for a streaming response that manages worker and listeners.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
message_iterator
|
AsyncIterator[Any]
|
The SDK message iterator |
required |
session_id
|
str | None
|
Optional session ID |
None
|
request_id
|
str | None
|
Optional request ID |
None
|
session_client
|
SessionClient | None
|
Optional session client |
None
|
session_config
|
SessionPoolSettings | None
|
Optional session pool configuration |
None
|
Source code in ccproxy/claude_sdk/stream_handle.py
has_first_chunk
property
¶
Check if stream has received first chunk (SystemMessage init).
create_listener
async
¶
Create a new listener for this stream.
This method starts the worker on first listener and returns an async iterator for consuming messages.
Yields:
Type | Description |
---|---|
AsyncIterator[Any]
|
Messages from the stream |
Source code in ccproxy/claude_sdk/stream_handle.py
interrupt
async
¶
Interrupt the stream.
Returns:
Type | Description |
---|---|
bool
|
True if interrupted successfully |
Source code in ccproxy/claude_sdk/stream_handle.py
wait_for_completion
async
¶
get_stats
¶
Get stream handle statistics.
Returns:
Type | Description |
---|---|
dict[str, Any]
|
Dictionary of statistics |
Source code in ccproxy/claude_sdk/stream_handle.py
on_first_chunk_received
¶
Called when SystemMessage(init) is received - first chunk.
Source code in ccproxy/claude_sdk/stream_handle.py
on_message_received
¶
on_completion
¶
Called when ResultMessage is received - stream completed.
Source code in ccproxy/claude_sdk/stream_handle.py
is_stale
¶
Check if stream is stale based on configurable timeout logic.
Returns:
Type | Description |
---|---|
bool
|
True if stream should be considered stale |
Source code in ccproxy/claude_sdk/stream_handle.py
is_first_chunk_timeout
¶
Check if this is specifically a first chunk timeout.
Returns:
Type | Description |
---|---|
bool
|
True if no first chunk received and timeout exceeded |