Skip to content

[pull] main from openai:main - #183

Merged
pull[bot] merged 2 commits into
Mattlk13:mainfrom
openai:main
Sep 28, 2026
Merged

pull[bot] merged 2 commits into
Mattlk13:mainfrom
openai:main

Conversation

@pull

@pull pull Bot commented Sep 28, 2026 •

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

…3970)

Valid fractional Live transcript grouping timeouts can hang on the next
transcript event. For example, after a fragment ends at 200 ms, a
timeout of 0.1 ms is scheduled for 200.1; subtracting 200 later rounds
to less than 0.1, so the scheduler never consumes that deadline.

Compare absolute times against the same deadlines that the scheduler
creates. This preserves the existing API and options and adds bounded
sync/async regressions for assistant silence, speaker separation, and
isolated backchannels.

Validation:
- All six regressions safely reproduced the hang before the fix.
- 224/224 Live tests passed on both Pydantic v1 and v2 after the fix.
- Full Ruff, mypy and Pyright passed.
- No schema, generated SDK, dependency or API changes.
…ots (#3973)

WebSocket callers currently cannot inspect cumulative text and tool
inputs when a stream omits the scaffolding required by HTTP/SSE
accumulation. Adds an optional caller-fed
`ResponsesWebSocketAccumulator` with immutable partial snapshots and a
separate exact received terminal response. It handles sync and async
connections, failed/incomplete results, empty versus omitted output and
item corrections without owning a socket or running tools. Existing lane
and SSE methods are unchanged.

Known malformed text/tool fields are rejected before they can corrupt a
snapshot. Raw events, missing/nullable fields on terminal responses, and
unknown variants remain available to the caller.

Validation: 190 WebSocket/accumulator and 23 Responses tests passed on
each of Pydantic v1 and v2, full Ruff, mypy on src, Pyright. The
nullable-content setup originally hit the environment's unsupported
SOCKS proxy and passed using `NO_PROXY=*` for the local fixture tests.
Cases cover independent interleaved lanes, malformed input, exact
terminals and disposal/reuse.
@pull pull Bot locked and limited conversation to collaborators Sep 28, 2026
@pull pull Bot added the ⤵️ pull label Sep 28, 2026
@pull
pull Bot merged commit d0207b4 into Mattlk13:main Sep 28, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant