import { BrowserToolBase } from './base.js';
import { createSuccessResponse, createErrorResponse } from '../common/types.js';
/**
 * Tool for validating custom User Agent settings
 */
export class CustomUserAgentTool extends BrowserToolBase {
    /**
     * Execute the custom user agent tool
     */
    async execute(args, context) {
        return this.safeExecute(context, async (page) => {
            if (!args.userAgent) {
                return createErrorResponse("Missing required parameter: userAgent must be provided");
            }
            try {
                const currentUserAgent = await page.evaluate(() => navigator.userAgent);
                if (currentUserAgent !== args.userAgent) {
                    const messages = [
                        "Page was already initialized with a different User Agent.",
                        `Requested: ${args.userAgent}`,
                        `Current: ${currentUserAgent}`
                    ];
                    return createErrorResponse(messages.join('\n'));
                }
                return createSuccessResponse("User Agent validation successful");
            }
            catch (error) {
                return createErrorResponse(`Failed to validate User Agent: ${error.message}`);
            }
        });
    }
}
