@@ -16,6 +16,7 @@ import {DevTools} from './third_party/index.js';
1616import type {
1717 ConsoleMessage ,
1818 ImageContent ,
19+ Page ,
1920 ResourceType ,
2021 TextContent ,
2122} from './third_party/index.js' ;
@@ -568,9 +569,19 @@ Call ${handleDialog.name} to handle it before continuing.`);
568569
569570 if ( this . #includePages) {
570571 const allPages = context . getPages ( ) ;
571- const regularPages = this . #includeExtensionPages
572- ? allPages . filter ( p => ! p . url ( ) . startsWith ( 'chrome-extension://' ) )
573- : allPages ;
572+
573+ // Use reduce to separate extension pages and normal pages
574+ const { regularPages, extensionPages} = allPages . reduce (
575+ ( acc : { regularPages : Page [ ] ; extensionPages : Page [ ] } , page : Page ) => {
576+ if ( page . url ( ) . startsWith ( 'chrome-extension://' ) ) {
577+ acc . extensionPages . push ( page ) ;
578+ } else {
579+ acc . regularPages . push ( page ) ;
580+ }
581+ return acc ;
582+ } ,
583+ { regularPages : [ ] , extensionPages : [ ] } ,
584+ ) ;
574585
575586 if ( regularPages . length ) {
576587 const parts = [ `## Pages` ] ;
@@ -604,9 +615,6 @@ Call ${handleDialog.name} to handle it before continuing.`);
604615 }
605616
606617 if ( this . #includeExtensionPages) {
607- const extensionPages = allPages . filter ( p =>
608- p . url ( ) . startsWith ( 'chrome-extension://' ) ,
609- ) ;
610618 if ( extensionPages . length ) {
611619 response . push ( `## Extension Pages` ) ;
612620 for ( const page of extensionPages ) {
0 commit comments