Group of 3 Under the hood
Resuming a session now properly forwards its SessionStart hooks, and can resume from just part of the transcript
What
- Session resume/fork no longer passes
hookMessages/hooksPromisedirectly to the startup path; instead it returns asessionStartHookspromise wired through a new abortable "tail" queue. Resume also gained aprecedingRowsoption, letting a caller resume from a subset of prior transcript rows instead of the full session. - When resuming a session from the picker, the session's recorded
sessionStartHooksare captured and threaded through aspendingHookMessagesinto the resumed UI state. - Resumed sessions now propagate this
sessionStartHooksfield intopendingHookMessageswhen reconstructing state, alongside the existingsessionHooksfield, which was previously missing from the restored-session object.
Why
This ensures SessionStart hooks that fired for a session are correctly carried over when that session is resumed, so hook-driven setup isn't silently lost, and it also enables resuming from a partial transcript.