0.9.0
Everything a coding-agent session contains that isn't a message.
Compaction as a first-class event. A context compaction arrives as a Compaction part — tokens before and after, how long it took, how many messages carried over, and the CLI's own summary — instead of dumping tens of thousands of words of machine-facing prose into the transcript.
Structured questions, commands and goals. QuestionRequest models multi-question, multi-option asks with free-text "Other", and QuestionRequest.awaitingAnswer derives what is still open from the transcript. AgentCommand lists the slash commands a machine will actually resolve (built-in, user, project, plugin). GoalStatus reports a /goal in flight, whether it was met, and what it cost.
Attachments, subagents, worktrees. Prompts carry files and images to claude-bridge and the bytes come back through the backend. subagents(for:) and subagentMessages(sessionID:agentID:) fetch a spawned agent's own transcript, keyed to the tool call that spawned it. Session listing reaches every worktree, not just the server's own directory.
Semantic tool-call summaries. ToolCallSummary turns raw tool JSON into the line a human wants to read, so every client stops writing its own.
Localized engine. Errors, fallbacks and summaries resolve through AgentText against the Kit's own catalogue, so a localized app doesn't leak English out of its engine.
Fixes. A finished turn no longer inherits a stale running status, and a session counts as live when its agents are working, not only during its own turn.
191 tests, Linux and Apple, GPL-3.0.