v2.0.0-alpha.30
Pre-release
Pre-release
·
12 commits
to main
since this release
This prerelease adds local completed-result recovery and explicitly authorized replacement attempts for tool-free structured requests. It does not resume a remote provider stream. See the verification report.
Added
- Added opt-in recovery for ephemeral, tool-free structured requests: frozen account-bound requests, durable attempt accounting, host authorization before each generation POST including authentication reissues, and local completed-result receipts that survive relaunch. This supports explicit replacement generations, not remote stream resumption. See structured request recovery.
- Added typed Responses interruption metadata including provider response ID, sequence cursor, output/tool activity, and underlying transport error domain/code.
- Added signed iOS/macOS demo comparisons for dropped connections and receipt retrieval in a second app process with zero generation requests.
Fixed
- Ignore repeated numbered stream events and repeated function-call IDs within a turn; reject conflicting repeated tool arguments. Tool deduplication does not extend across new requests or app restarts.
Changed
- Responses transport URL failures now surface as
AgentRuntimeErrorwith typed interruption and retry information. Callers that catch onlyURLErrorshould inspectinterruption.transportErrorCode.
Full Changelog: v2.0.0-alpha.29...v2.0.0-alpha.30