The summarize request parks server-side on the current run's done until
the loop executing this tool finishes, so awaiting it never resolves.
Fire it without awaiting, poll for the persisted compaction message, then
wait for the handoff prompt to appear before returning.
Compacts the current session (summarize) to advance the context boundary,
then prompts the focused task into the same session with promptAsync. The
session ID never changes and older messages stay visible in the transcript.
Registers a session_restart tool that spawns a fresh child session on
the current project, prompts it with a focused task (+ optional notes)
via promptAsync, and aborts the current session by default so a single
focused task continues in a clean context window instead of compacting.
Includes an experimental.compaction.autocontinue hook to reject the
synthetic continue turn after compaction (default on).