[0.42.0] - 2026-04-28
Added
- OpenCode compaction parts emit
CompactionEvents (#148).parseOpencodeSessionandparseOpencodeSessionIncrementalnow return aneventsarray. The reader detects the synthetic user message OpenCode inserts at compaction time (a part withtype: "compaction") and anchors each event to the assistant turn whosetime.createdfalls just before —precedingMessageIdis that turn's id,tokensBeforeCompactis itscache.read. Dedup uses the existingseenMessageIdscursor: the compaction-bearing user message id is added toseenon emission so resumed incremental passes won't re-emit.