Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .castiron.stats.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
schema_version: 1
generation_id: 625cc75a-e869-4197-b1a1-0ab0f2dd58bf
openapi_spec_hash: 9b793011794d783fd6a2d71d8a6f6972
openapi_transformed_spec_hash: 89ade65e8a3170ca977f145feda2a689
generation_id: 53946e0b-ca32-4724-9f42-4155beea8a67
openapi_spec_hash: 15849b9fe3deb3c72da0825905cc0ad9
openapi_transformed_spec_hash: 9a60ddf3a1c752e15eb43fce666d6da8
config_hash: fcda4ecfe265daddba6fad25a8504a3f
codegen_sha: 25f5de7c38e1809ac8576f80aba10db4a6c01df0
codegen_sha: c8ff09541f193ac6671e2b55556913971a35d54c
1,368 changes: 1,365 additions & 3 deletions api_reference/openapi.transformed.yml

Large diffs are not rendered by default.

20 changes: 14 additions & 6 deletions src/openai/resources/beta/responses/responses.py
Original file line number Diff line number Diff line change
Expand Up @@ -4259,11 +4259,11 @@ def on(

Can be used as a method (returns ``self`` for chaining)::

connection.on("response.audio.delta", my_handler)
connection.on("response.inject.created", my_handler)

Or as a decorator::

@connection.on("response.audio.delta")
@connection.on("response.inject.created")
async def my_handler(event): ...
"""
if handler is not None:
Expand Down Expand Up @@ -4710,11 +4710,11 @@ def on(

Can be used as a method (returns ``self`` for chaining)::

connection.on("response.audio.delta", my_handler)
connection.on("response.inject.created", my_handler)

Or as a decorator::

@connection.on("response.audio.delta")
@connection.on("response.inject.created")
def my_handler(event): ...
"""
if handler is not None:
Expand Down Expand Up @@ -5094,6 +5094,7 @@ def create(
service_tier: Optional[Literal["auto", "default", "flex", "scale", "priority", "fast"]] | Omit = omit,
store: Optional[bool] | Omit = omit,
stream: Optional[bool] | Omit = omit,
stream_id: str | Omit = omit,
stream_options: Optional[beta_responses_client_event_param.ResponseCreateStreamOptions] | Omit = omit,
temperature: Optional[float] | Omit = omit,
text: BetaResponseTextConfigParam | Omit = omit,
Expand All @@ -5106,11 +5107,13 @@ def create(
) -> None:
"""
Client event for creating a response over a persistent WebSocket connection.
This payload uses the same top-level fields as `POST /v1/responses`.
This payload uses the same top-level fields as `POST /v1/responses`, plus
WebSocket-only envelope metadata.

Notes:
- `stream` is implicit over WebSocket and should not be sent.
- `background` is not supported over WebSocket.
- `stream_id` is WebSocket-only and is not part of `POST /v1/responses`.
"""
self._connection.send(
cast(
Expand Down Expand Up @@ -5141,6 +5144,7 @@ def create(
"service_tier": service_tier,
"store": store,
"stream": stream,
"stream_id": stream_id,
"stream_options": stream_options,
"temperature": temperature,
"text": text,
Expand Down Expand Up @@ -5301,6 +5305,7 @@ async def create(
service_tier: Optional[Literal["auto", "default", "flex", "scale", "priority", "fast"]] | Omit = omit,
store: Optional[bool] | Omit = omit,
stream: Optional[bool] | Omit = omit,
stream_id: str | Omit = omit,
stream_options: Optional[beta_responses_client_event_param.ResponseCreateStreamOptions] | Omit = omit,
temperature: Optional[float] | Omit = omit,
text: BetaResponseTextConfigParam | Omit = omit,
Expand All @@ -5313,11 +5318,13 @@ async def create(
) -> None:
"""
Client event for creating a response over a persistent WebSocket connection.
This payload uses the same top-level fields as `POST /v1/responses`.
This payload uses the same top-level fields as `POST /v1/responses`, plus
WebSocket-only envelope metadata.

Notes:
- `stream` is implicit over WebSocket and should not be sent.
- `background` is not supported over WebSocket.
- `stream_id` is WebSocket-only and is not part of `POST /v1/responses`.
"""
await self._connection.send(
cast(
Expand Down Expand Up @@ -5348,6 +5355,7 @@ async def create(
"service_tier": service_tier,
"store": store,
"stream": stream,
"stream_id": stream_id,
"stream_options": stream_options,
"temperature": temperature,
"text": text,
Expand Down
12 changes: 8 additions & 4 deletions src/openai/resources/responses/responses.py
Original file line number Diff line number Diff line change
Expand Up @@ -4178,11 +4178,11 @@ def on(

Can be used as a method (returns ``self`` for chaining)::

connection.on("response.audio.delta", my_handler)
connection.on("error", my_handler)

Or as a decorator::

@connection.on("response.audio.delta")
@connection.on("error")
async def my_handler(event): ...
"""
if handler is not None:
Expand Down Expand Up @@ -4629,11 +4629,11 @@ def on(

Can be used as a method (returns ``self`` for chaining)::

connection.on("response.audio.delta", my_handler)
connection.on("error", my_handler)

Or as a decorator::

@connection.on("response.audio.delta")
@connection.on("error")
def my_handler(event): ...
"""
if handler is not None:
Expand Down Expand Up @@ -4899,6 +4899,7 @@ def create(
service_tier: Optional[Literal["auto", "default", "flex", "scale", "priority", "fast"]] | Omit = omit,
store: Optional[bool] | Omit = omit,
stream: Optional[bool] | Omit = omit,
stream_id: str | Omit = omit,
stream_options: Optional[responses_client_event_param.StreamOptions] | Omit = omit,
temperature: Optional[float] | Omit = omit,
text: ResponseTextConfigParam | Omit = omit,
Expand Down Expand Up @@ -4937,6 +4938,7 @@ def create(
"service_tier": service_tier,
"store": store,
"stream": stream,
"stream_id": stream_id,
"stream_options": stream_options,
"temperature": temperature,
"text": text,
Expand Down Expand Up @@ -4983,6 +4985,7 @@ async def create(
service_tier: Optional[Literal["auto", "default", "flex", "scale", "priority", "fast"]] | Omit = omit,
store: Optional[bool] | Omit = omit,
stream: Optional[bool] | Omit = omit,
stream_id: str | Omit = omit,
stream_options: Optional[responses_client_event_param.StreamOptions] | Omit = omit,
temperature: Optional[float] | Omit = omit,
text: ResponseTextConfigParam | Omit = omit,
Expand Down Expand Up @@ -5021,6 +5024,7 @@ async def create(
"service_tier": service_tier,
"store": store,
"stream": stream,
"stream_id": stream_id,
"stream_options": stream_options,
"temperature": temperature,
"text": text,
Expand Down
14 changes: 13 additions & 1 deletion src/openai/types/beta/beta_responses_client_event.py
Original file line number Diff line number Diff line change
Expand Up @@ -215,11 +215,13 @@ class ResponseCreateToolChoiceBetaSpecificProgrammaticToolCallingParam(BaseModel
class ResponseCreate(BaseModel):
"""
Client event for creating a response over a persistent WebSocket connection.
This payload uses the same top-level fields as `POST /v1/responses`.
This payload uses the same top-level fields as `POST /v1/responses`, plus
WebSocket-only envelope metadata.

Notes:
- `stream` is implicit over WebSocket and should not be sent.
- `background` is not supported over WebSocket.
- `stream_id` is WebSocket-only and is not part of `POST /v1/responses`.
"""

type: Literal["response.create"]
Expand Down Expand Up @@ -539,6 +541,16 @@ class ResponseCreate(BaseModel):
for more information.
"""

stream_id: Optional[str] = None
"""The WebSocket lane for this response.

Requests with the same `stream_id` are processed FIFO, and events for the
response echo the same `stream_id`.

`stream_id` controls routing; `previous_response_id` controls conversation
lineage, so a new lane can fork from a response created on another lane.
"""

stream_options: Optional[ResponseCreateStreamOptions] = None
"""Options for streaming responses. Only set this when you set `stream: true`."""

Expand Down
14 changes: 13 additions & 1 deletion src/openai/types/beta/beta_responses_client_event_param.py
Original file line number Diff line number Diff line change
Expand Up @@ -215,11 +215,13 @@ class ResponseCreateToolChoiceBetaSpecificProgrammaticToolCallingParam(TypedDict
class ResponseCreate(TypedDict, total=False):
"""
Client event for creating a response over a persistent WebSocket connection.
This payload uses the same top-level fields as `POST /v1/responses`.
This payload uses the same top-level fields as `POST /v1/responses`, plus
WebSocket-only envelope metadata.

Notes:
- `stream` is implicit over WebSocket and should not be sent.
- `background` is not supported over WebSocket.
- `stream_id` is WebSocket-only and is not part of `POST /v1/responses`.
"""

type: Required[Literal["response.create"]]
Expand Down Expand Up @@ -538,6 +540,16 @@ class ResponseCreate(TypedDict, total=False):
for more information.
"""

stream_id: str
"""The WebSocket lane for this response.

Requests with the same `stream_id` are processed FIFO, and events for the
response echo the same `stream_id`.

`stream_id` controls routing; `previous_response_id` controls conversation
lineage, so a new lane can fork from a response created on another lane.
"""

stream_options: Optional[ResponseCreateStreamOptions]
"""Options for streaming responses. Only set this when you set `stream: true`."""

Expand Down
Loading
Loading