@@ -3068,6 +3068,12 @@ export function REPL({
30683068 return { ...prev , attribution : updated } ;
30693069 } ) ;
30703070 } ,
3071+ /**
3072+ * Opens the message selector overlay. 'rewind' (default) restores the
3073+ * conversation to an earlier message; 'digest' distills from the chosen
3074+ * message to the end (retroactive /push+/pop). No-op when input is
3075+ * disabled (e.g. a tool is mid-flight).
3076+ */
30713077 openMessageSelector : ( mode : 'rewind' | 'digest' = 'rewind' ) => {
30723078 if ( ! disabled ) {
30733079 messageSelectorModeRef . current = mode ;
@@ -3494,9 +3500,11 @@ export function REPL({
34943500 [ setAppState ] ,
34953501 ) ;
34963502
3497- // Suspends the query loop (autoCompactIfNeeded awaits this) until the user
3498- // picks a compaction strategy from the dialog (§4.2). Same suspend/resume
3499- // shape as tool-permission prompts. Abort → nearest push point (safe default).
3503+ /**
3504+ * Suspends the query loop (autoCompactIfNeeded awaits this) until the user
3505+ * picks a compaction strategy from the dialog (§4.2). Same suspend/resume
3506+ * shape as tool-permission prompts. Abort → nearest push point (safe default).
3507+ */
35003508 const askCompactStrategy = useCallback (
35013509 ( opts : { markers : ReadonlyArray < CompactStrategyMarker > ; signal : AbortSignal } ) : Promise < CompactStrategyChoice > => {
35023510 return new Promise < CompactStrategyChoice > ( resolve => {
@@ -3507,6 +3515,7 @@ export function REPL({
35073515 resolve ( fallback ) ;
35083516 return ;
35093517 }
3518+ /** Abort handler: tear down the dialog and resolve with the safe fallback choice. */
35103519 const onAbort = ( ) => {
35113520 setCompactStrategyRequest ( null ) ;
35123521 resolve ( fallback ) ;
0 commit comments