0.1.5
pi-bin v0.1.5
fix:
- streaming: TUI rendered spinner-only and dumped all text at message end;
scriptc snapshots record fields holding arrays, so output.content stayed an empty
snapshot until the finish-stage reassignment. Transport now reassigns
output.content after every block push and message_update passes partialMessage by
reference - json/rpc: toolcall_start events crashed consumers reverse-reading the empty
partial content; events now carry id/toolName directly, reverse-read and JSON
round-trip helper removed - openai-http: timeoutMs was an absolute request timer killing long generations
at the 300s default with "This operation was aborted"; now an idle timer re-armed
on every chunk, cleaned up in finally, with an explicit "Request idle timeout: no
data received for Ns" error - editor: pasted content was submitted as the literal [paste #N] placeholder;
expansion matched only bare markers while inserted markers always carry a suffix.
Replaced with a scanner equivalent to upstream's dynamic-RegExp semantics;
fold-on-paste behavior unchanged from upstream - openai-http: declared dialect reasoning fields (reasoning_content, reasoning,
reasoning_text) on ChatCompletionChunkDelta; scriptc cast copies drop undeclared
fields, so thinking blocks were never created from OpenAI-compatible endpoints