@@ -5,7 +5,7 @@ import { Tool } from '../../core/types.js';
55import { errorToString } from '../../utils/errorToString.js' ;
66import { sleep } from '../../utils/sleep.js' ;
77
8- import { getRenderedDOM } from './getRenderedDOM .js' ;
8+ import { filterPageContent } from './filterPageContent .js' ;
99import { browserSessions , type BrowserAction , SelectorType } from './types.js' ;
1010
1111// Schema for browser action
@@ -73,7 +73,10 @@ export const browseMessageTool: Tool<Parameters, ReturnType> = {
7373 parameters : zodToJsonSchema ( parameterSchema ) ,
7474 returns : zodToJsonSchema ( returnSchema ) ,
7575
76- execute : async ( { instanceId, action } , { logger } ) : Promise < ReturnType > => {
76+ execute : async (
77+ { instanceId, action } ,
78+ { logger, pageFilter } ,
79+ ) : Promise < ReturnType > => {
7780 // Validate action format
7881 if ( ! action || typeof action !== 'object' ) {
7982 logger . error ( 'Invalid action format: action must be an object' ) ;
@@ -92,6 +95,7 @@ export const browseMessageTool: Tool<Parameters, ReturnType> = {
9295 }
9396
9497 logger . verbose ( `Executing browser action: ${ action . actionType } ` ) ;
98+ logger . verbose ( `Webpage processing mode: ${ pageFilter } ` ) ;
9599
96100 try {
97101 const session = browserSessions . get ( instanceId ) ;
@@ -114,11 +118,12 @@ export const browseMessageTool: Tool<Parameters, ReturnType> = {
114118 ) ;
115119 await page . goto ( action . url , { waitUntil : 'domcontentloaded' } ) ;
116120 await sleep ( 3000 ) ;
117- const content = await getRenderedDOM ( page ) ;
121+ const content = await filterPageContent ( page , pageFilter ) ;
122+ logger . verbose ( `Content: ${ content } ` ) ;
118123 logger . verbose (
119124 'Navigation completed with domcontentloaded strategy' ,
120125 ) ;
121- logger . verbose ( `Content: ${ content } ` ) ;
126+ logger . verbose ( `Content length : ${ content . length } characters ` ) ;
122127 return { status : 'success' , content } ;
123128 } catch ( navError ) {
124129 // If that fails, try with no waitUntil option
@@ -132,9 +137,9 @@ export const browseMessageTool: Tool<Parameters, ReturnType> = {
132137 try {
133138 await page . goto ( action . url ) ;
134139 await sleep ( 3000 ) ;
135- const content = await getRenderedDOM ( page ) ;
136- logger . verbose ( 'Navigation completed with basic strategy' ) ;
140+ const content = await filterPageContent ( page , pageFilter ) ;
137141 logger . verbose ( `Content: ${ content } ` ) ;
142+ logger . verbose ( 'Navigation completed with basic strategy' ) ;
138143 return { status : 'success' , content } ;
139144 } catch ( innerError ) {
140145 logger . error (
@@ -154,7 +159,8 @@ export const browseMessageTool: Tool<Parameters, ReturnType> = {
154159 action . selectorType ,
155160 ) ;
156161 await page . click ( clickSelector ) ;
157- const content = await page . content ( ) ;
162+ await sleep ( 1000 ) ; // Wait for any content changes after click
163+ const content = await filterPageContent ( page , pageFilter ) ;
158164 logger . verbose (
159165 `Click action completed on selector: ${ clickSelector } ` ,
160166 ) ;
@@ -188,8 +194,9 @@ export const browseMessageTool: Tool<Parameters, ReturnType> = {
188194 }
189195
190196 case 'content' : {
191- const content = await page . content ( ) ;
197+ const content = await filterPageContent ( page , pageFilter ) ;
192198 logger . verbose ( 'Page content retrieved successfully' ) ;
199+ logger . verbose ( `Content length: ${ content . length } characters` ) ;
193200 return { status : 'success' , content } ;
194201 }
195202
@@ -216,9 +223,12 @@ export const browseMessageTool: Tool<Parameters, ReturnType> = {
216223 }
217224 } ,
218225
219- logParameters : ( { action, description } , { logger } ) => {
226+ logParameters : (
227+ { action, description } ,
228+ { logger, pageFilter = 'simple' } ,
229+ ) => {
220230 logger . info (
221- `Performing browser action: ${ action . actionType } , ${ description } ` ,
231+ `Performing browser action: ${ action . actionType } with ${ pageFilter } processing , ${ description } ` ,
222232 ) ;
223233 } ,
224234
0 commit comments