Session handles and page cursors are now desktop state keyed by connection, so
the page never sees a cwd, a transcript path or a provider session id. The pure
resume target, launch plan, scope-path and session-worktree modules move to
src/shared so the desktop and the released native app run one implementation.
A cross-workspace resume no longer navigates: the page can only route to a
workspace it already holds a shell-minted handle for, so the desktop reports
whether the resume landed in the current workspace instead of naming another.
Claude-Session: https://claude.ai/code/session_01JNnE9qzUZMMnqpZWCqM3nb