feat(deepseek): fork a DeepSeek session at the message the user picked
deepseek-acp 0.8.0 reads the same `_meta.jetbrains.air.fork` block claude-agent-acp and codex-acp do, so "fork from here" now cuts a DeepSeek session's history at the chosen reply instead of silently forking at the tail. It is the one adapter that resolves both halves of the point, so both are sent. Its id side accepts the session log's own `message.id`, which the parser now records as the fork point of the turn that message opened — any message in a turn resolves to that same turn, and naming the opening one is what the Claude parser already does. Its fingerprint side hashes the history twice, once per assistant message and once per whole turn, and refuses when the two land on different turns; codeg renders one bubble per log turn, so the per-turn reading is the one that matches, and an id that resolves short-circuits before the ambiguous case can be reached. A turn with neither an id nor text names nothing and still falls back to a tail fork, as does every agent that reads no fork point at all. The pin moves to 0.8.0. Its dependencies are byte-identical to 0.7.0 and `initialize` moved only its version string, so the entry's capability claims and the parser's log layout both hold. `messageId` now rides on message, thought and user chunks; it is inert here, because the schema crate keeps that field behind a feature this build does not enable and drops what it does not recognise.
X
xintaofei committed
8b179c8a0f3d1437c6f1b279d3d5c6e711c9bffe
Parent: f4b1728