Repository navigation
v0.7.0
This release ports pi's mid-conversation system messages end to end: the TranscriptContext model in the AI package, system-message handling in the agent loop, the system-prompt sections model in reduced form, and AgentSession's mid-conversation prompt and tool loadout, so the system prompt and tool availability can change while a conversation runs.
Session and settings management sync to pi's shapes. SessionManager gains pi-shaped session discovery — most-recent-session lookup ordered by mtime, bounded-concurrency listing — and replaces the SessionSource seam, with ChatViewModel calling it directly. Compaction entries stamp a system-message baseline and lead the compacted context with it, findCutPoint falls back to the latest valid cut point when trailing tool results exceed the budget, and split-turn history summaries default to the previous summary.
The bash tool treats a signal-killed process as failure while preserving partial output, with the SSH seam mapping exit signals to 128+signal like pi's local shell, and the built-in tools declare prefer-strict JSON-schema sampling. Upstream ai-utils fixes land as well: overflow scoping and a retry delay cap.
Streaming is reworked around deltas: stream deltas are the truth, snapshots exist only at boundaries, per-chunk streaming state is split out of the chat UI state, and agent events are collected on Main.immediate with message-update noise filtered out. Session summary decode moves off the startup and per-run critical paths.