This repository was archived by the owner on Sep 20, 2026. It is now read-only.
Repository navigation
v0.1.15
What's Changed
Payment flow improvements
- Fix(proxy): preserve tool calls in streamed responses —
message.tool_callsis now forwarded as SSEtool_callsdeltas (withfinish_reason: tool_calls) after the non-streaming paytaca-pay round-trip. Tool-using responses common in coding sessions are no longer dropped, which previously produced empty assistant messages in OpenCode. - Payment feedback in the chat — a
💳 Payment successfulmessage is now prepended before the streamed answer in both post-payment success paths. - Better payment failure handling — on failure the error is streamed and the tier-selection prompt is re-shown in the same response, restoring the pending payment to the
tier_selectstep so the next pick retries without a re-chat. - No double-charge on timeout — timeout keeps the processed-payment behavior (payment already handled, no re-prompt).
- Longer pay timeout — wrapper fetch timeout raised from 120s to 240s (
PAYTACA_PAY_TIMEOUT_MS).
Reliability
- Harden error handling for destroyed/ended responses — SSE and JSON writes are now guarded against already-destroyed or ended responses, with fallback JSON error responses when headers haven't been sent, and logging instead of silently swallowing failures.
- Better wrapper error extraction — errors are now parsed from the wrapper's stdout JSON when stderr is empty, instead of reporting a generic exit-code error.
- Quieter startup — proxy lifecycle logs silenced on startup.
Dependencies
- Upgraded
paytaca-clito v0.4.1.
Full Changelog: v0.1.14...v0.1.15