Video Recording Fixes: - Fix session persistence issues where recording state was lost between tool calls - Improve page video object handling by triggering navigation when needed - Add browser_reveal_artifact_paths tool to show exact file locations - Enhance browser_recording_status with detailed debugging info and file listings - Add clearVideoRecordingState() method for proper state management - Keep recording config available for debugging until new session starts Request Monitoring System: - Add comprehensive RequestInterceptor class for HTTP traffic capture - Implement 5 new MCP tools for request monitoring and analysis - Support multiple export formats: JSON, HAR, CSV, and summary reports - Add filtering by domain, method, status codes, and response timing - Integrate with artifact storage for organized session-based file management - Enhance browser_network_requests with rich intercepted data Additional Improvements: - Add getBaseDirectory/getSessionDirectory methods to ArtifactManager - Fix floating promise in tab.ts extension console message polling - Add debug script for comprehensive video recording workflow testing - Update README with new tool documentation Resolves video recording workflow issues and adds powerful HTTP traffic analysis capabilities for web application debugging and security testing.
65 lines
1.9 KiB
TypeScript
65 lines
1.9 KiB
TypeScript
/**
|
|
* Copyright (c) Microsoft Corporation.
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
import artifacts from './tools/artifacts.js';
|
|
import common from './tools/common.js';
|
|
import configure from './tools/configure.js';
|
|
import console from './tools/console.js';
|
|
import dialogs from './tools/dialogs.js';
|
|
import evaluate from './tools/evaluate.js';
|
|
import files from './tools/files.js';
|
|
import install from './tools/install.js';
|
|
import keyboard from './tools/keyboard.js';
|
|
import navigate from './tools/navigate.js';
|
|
import network from './tools/network.js';
|
|
import pdf from './tools/pdf.js';
|
|
import requests from './tools/requests.js';
|
|
import snapshot from './tools/snapshot.js';
|
|
import tabs from './tools/tabs.js';
|
|
import screenshot from './tools/screenshot.js';
|
|
import video from './tools/video.js';
|
|
import wait from './tools/wait.js';
|
|
import mouse from './tools/mouse.js';
|
|
|
|
import type { Tool } from './tools/tool.js';
|
|
import type { FullConfig } from './config.js';
|
|
|
|
export const allTools: Tool<any>[] = [
|
|
...artifacts,
|
|
...common,
|
|
...configure,
|
|
...console,
|
|
...dialogs,
|
|
...evaluate,
|
|
...files,
|
|
...install,
|
|
...keyboard,
|
|
...navigate,
|
|
...network,
|
|
...mouse,
|
|
...pdf,
|
|
...requests,
|
|
...screenshot,
|
|
...snapshot,
|
|
...tabs,
|
|
...video,
|
|
...wait,
|
|
];
|
|
|
|
export function filteredTools(config: FullConfig) {
|
|
return allTools.filter(tool => tool.capability.startsWith('core') || config.capabilities?.includes(tool.capability));
|
|
}
|