(
cb: (response: McpResponse, context: McpContext) => Promise<void>,
options: {
debug?: boolean;
autoOpenDevTools?: boolean;
performanceCrux?: boolean;
executablePath?: string;
args?: string[];
blockedUrlPattern?: string[];
allowedUrlPattern?: string[];
} = {},
args: Partial<ParsedArguments> = {},
)
| 112 | } |
| 113 | |
| 114 | export async function withMcpContext( |
| 115 | cb: (response: McpResponse, context: McpContext) => Promise<void>, |
| 116 | options: { |
| 117 | debug?: boolean; |
| 118 | autoOpenDevTools?: boolean; |
| 119 | performanceCrux?: boolean; |
| 120 | executablePath?: string; |
| 121 | args?: string[]; |
| 122 | blockedUrlPattern?: string[]; |
| 123 | allowedUrlPattern?: string[]; |
| 124 | } = {}, |
| 125 | args: Partial<ParsedArguments> = {}, |
| 126 | ) { |
| 127 | await withBrowser(async browser => { |
| 128 | TextSnapshot.resetCounter(); |
| 129 | const response = new McpResponse(args as ParsedArguments); |
| 130 | if (context) { |
| 131 | context.dispose(); |
| 132 | } |
| 133 | context = await McpContext.from( |
| 134 | browser, |
| 135 | logger('test'), |
| 136 | { |
| 137 | experimentalDevToolsDebugging: false, |
| 138 | performanceCrux: options.performanceCrux ?? true, |
| 139 | allowList: options.allowedUrlPattern, |
| 140 | blocklist: options.blockedUrlPattern, |
| 141 | }, |
| 142 | Locator, |
| 143 | ); |
| 144 | |
| 145 | response.setPage(context.getSelectedMcpPage()); |
| 146 | |
| 147 | await cb(response, context); |
| 148 | }, options); |
| 149 | } |
| 150 | |
| 151 | export function getMockRequest( |
| 152 | options: { |
searching dependent graphs…