playwright 1.56.0-alpha-2025-09-10 → 1.56.0-alpha-1757624765000

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,120 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var browserTools_exports = {};
30
- __export(browserTools_exports, {
31
- elementSchema: () => elementSchema,
32
- evaluate: () => evaluate,
33
- pickLocator: () => pickLocator,
34
- snapshot: () => snapshot
35
- });
36
- module.exports = __toCommonJS(browserTools_exports);
37
- var import_utils = require("playwright-core/lib/utils");
38
- var import_browserTool = require("./browserTool.js");
39
- var mcpBundle = __toESM(require("../sdk/bundle"));
40
- const { z } = mcpBundle;
41
- const snapshot = (0, import_browserTool.defineBrowserTool)({
42
- schema: {
43
- name: "playwright_test_browser_snapshot",
44
- title: "Capture page snapshot",
45
- description: "Capture page snapshot for debugging",
46
- inputSchema: z.object({}),
47
- type: "readOnly"
48
- },
49
- handle: async (page, params) => {
50
- const snapshot2 = await page._snapshotForAI();
51
- return {
52
- content: [
53
- {
54
- type: "text",
55
- text: snapshot2
56
- }
57
- ]
58
- };
59
- }
60
- });
61
- const elementSchema = z.object({
62
- element: z.string().describe("Human-readable element description used to obtain permission to interact with the element"),
63
- ref: z.string().describe("Exact target element reference from the page snapshot")
64
- });
65
- const pickLocator = (0, import_browserTool.defineBrowserTool)({
66
- schema: {
67
- name: "playwright_test_generate_locator",
68
- title: "Create locator for element",
69
- description: "Generate locator for the given element to use in tests",
70
- inputSchema: elementSchema,
71
- type: "readOnly"
72
- },
73
- handle: async (page, params) => {
74
- const locator = await refLocator(page, params);
75
- try {
76
- const { resolvedSelector } = await locator._resolveSelector();
77
- const locatorString = (0, import_utils.asLocator)("javascript", resolvedSelector);
78
- return { content: [{ type: "text", text: locatorString }] };
79
- } catch (e) {
80
- throw new Error(`Ref not found, likely because element was removed. Use ${snapshot.schema.name} to see what elements are currently on the page.`);
81
- }
82
- }
83
- });
84
- const evaluateSchema = z.object({
85
- function: z.string().describe("() => { /* code */ } or (element) => { /* code */ } when element is provided"),
86
- element: z.string().optional().describe("Human-readable element description used to obtain permission to interact with the element"),
87
- ref: z.string().optional().describe("Exact target element reference from the page snapshot")
88
- });
89
- const evaluate = (0, import_browserTool.defineBrowserTool)({
90
- schema: {
91
- name: "playwright_test_evaluate_on_pause",
92
- title: "Evaluate in page",
93
- description: "Evaluate JavaScript expression on page or element",
94
- inputSchema: evaluateSchema,
95
- type: "destructive"
96
- },
97
- handle: async (page, params) => {
98
- let locator;
99
- if (params.ref && params.element)
100
- locator = await refLocator(page, { ref: params.ref, element: params.element });
101
- const receiver = locator ?? page;
102
- const result = await receiver._evaluateFunction(params.function);
103
- return {
104
- content: [{ type: "text", text: JSON.stringify(result, null, 2) || "undefined" }]
105
- };
106
- }
107
- });
108
- async function refLocator(page, elementRef) {
109
- const snapshot2 = await page._snapshotForAI();
110
- if (!snapshot2.includes(`[ref=${elementRef.ref}]`))
111
- throw new Error(`Ref ${elementRef.ref} not found in the current page snapshot. Try capturing new snapshot.`);
112
- return page.locator(`aria-ref=${elementRef.ref}`).describe(elementRef.element);
113
- }
114
- // Annotate the CommonJS export names for ESM import in node:
115
- 0 && (module.exports = {
116
- elementSchema,
117
- evaluate,
118
- pickLocator,
119
- snapshot
120
- });