Skip to content

v0.4.2

Choose a tag to compare

@github-actions github-actions released this 21 Sep 10:20
Immutable release. Only release title and notes can be modified.
271ef61

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.completed payload carries an empty output array 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 sends function_call_arguments.done without the name or call ID. The decoder now resolves a function call's identity from the announcement or the terminal output_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-reconcile debug trace (item ids, types, indexes, and text length only), available under --debug, to aid diagnosis of future streaming issues.