v0.4.2
Immutable
release. Only release title and notes can be modified.
v0.4.2: Critical fixes for ChatGPT subscription streaming and tool calls
This patch release fixes a critical regression that broke every conversational turn on the codex (ChatGPT subscription) provider, along with a related tool-call decoding bug and a small usability fix for permission prompts.
Fixed
- codex provider: every turn failed with "completed response omits streamed output". The subscription route streams items (reasoning, then message) as completed, and its final
response.completedpayload carries an emptyoutputarray rather than restating delivered items. The decoder previously required positional index equality between streamed items and that final array, so the very first streamed item failed every turn. Streamed items are now reconciled against the terminal output by item id instead of position, so reordered, dropped, or replaced items no longer fail a turn, while text that is visible to the user still must exist and match by id in the terminal output. (#49, @replygirl) - codex provider: tool-calling turns failed with "completed function arguments lack name". The backend announces a function call's name and call ID on
output_item.added(with empty arguments), then sendsfunction_call_arguments.donewithout the name or call ID. The decoder now resolves a function call's identity from the announcement or the terminaloutput_item.done, in either order, while still requiring a non-empty name, call ID, and JSON-valid arguments before dispatch. (#50, @replygirl) - Permission prompts in the terminal now accept plain digit keys (
1-4) to answer once/session/always/deny, in addition to Alt+1-4, matching the displayed hint. (#50, @replygirl) - Test suite: a TUI test that depends on
kuru-core's cost-catalog test seam failed with a false "not applied: invocation price" error when run without--all-features. The seam is now declared as a dev-dependency feature so it's available to every test binary without affecting the shipping binary. (#48, @replygirl)
Changed
- Added a redaction-safe
responses-stream-reconciledebug trace (item ids, types, indexes, and text length only), available under--debug, to aid diagnosis of future streaming issues.