"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ExecuteSetViewportToolDefinition = exports.executeSetViewportResponseSchema = exports.executeSetViewportArgumentsSchema = void 0;
var zod_1 = require("zod");
var toolDefinition_js_1 = require("../toolDefinition.js");
exports.executeSetViewportArgumentsSchema = zod_1.z.object({
    width: zod_1.z.number().int().min(200).max(3840).meta({
        description: 'The viewport width in pixels. The default test viewport is 1080px wide. Common desktop/laptop widths: 1024, 1080, 1280, 1366, 1440, 1920. Prefer round numbers or standard resolution widths when a specific value is not requested. Must be between 200 and 3840.',
    }),
    height: zod_1.z.number().int().min(200).max(7000).meta({
        description: 'The viewport height in pixels. The default test viewport is 1440px tall. Common desktop/laptop heights: 768, 900, 1024, 1080, 1440. Prefer round numbers or standard resolution heights when a specific value is not requested. Must be between 200 and 7000.',
    }),
});
/**
 * Response schema for execute_set_viewport tool.
 * The client should include a new screenshot after resizing the viewport
 * to show the updated page layout.
 */
exports.executeSetViewportResponseSchema = zod_1.z.object({
    success: zod_1.z.boolean(),
    message: zod_1.z.string().optional(),
    new_screenshot: zod_1.z.string().optional().meta({
        description: 'Base64-encoded PNG screenshot of the page after viewport resize',
    }),
});
exports.ExecuteSetViewportToolDefinition = (0, toolDefinition_js_1.defineTool)({
    name: 'execute_set_viewport',
    description: 'Sets the browser viewport (window) size to specific pixel dimensions. Use this to resize the browser window before performing actions that depend on viewport dimensions, or to test layouts at different screen sizes. The default test viewport is 1080x1440. Both width and height are required. Note that the actual rendered content area may be slightly smaller than the specified dimensions due to browser chrome, borders, and padding. The page content will reflow to fit the new viewport size.',
    argumentsSchema: exports.executeSetViewportArgumentsSchema,
    responseSchema: exports.executeSetViewportResponseSchema,
});
//# sourceMappingURL=ExecuteSetViewportDefinition.js.map